Staff Review

Changelog

Notable changes to Staff Review, newest first.

Changelog

1.8.0 — 2026-07-24

Added

  • Review skills now work without an installed staff CLI. /staff-review and /staff-loop fall back to Git, use main..WT when neither the user nor the CLI selected a diff, and return confirmed findings in chat when local UI persistence is unavailable.

Fixed

  • Reviewed-file state now has reliable invalidation and eviction. Content signatures use SHA-256, localStorage LRU recency is explicit rather than based on browser-dependent key order, and stale recency metadata is removed.
  • Reviewed marks handle binary files and unusual paths safely. Binary marks no longer persist across unknown content changes, and paths such as __proto__ cannot interfere with the reviewed-file signature map.

1.7.1 — 2026-07-21

Fixed

  • /staff-loop now always resolves comments from its final review round. A round includes review and resolve, so the configured cap prevents starting the next review pass rather than leaving final-round comments unresolved.

1.7.0 — 2026-07-02

Added

  • Files can now be marked as reviewed. Each file in the diff UI has a Reviewed checkbox; reviewed files collapse and dim in the diff, and the right sidebar file list shows their checked state so large reviews are easier to track.

Changed

  • Reviewed-file state is persisted per diff and invalidated on content changes. Staff Review signs reviewed marks against each file's diff content, clears stale marks after text edits, and bounds the related localStorage data with a shared LRU helper.

1.6.0 — 2026-06-26

Added

  • staff install can now install selected skill groups. Interactive installs show a dependency-aware multi-select so you can choose which top-level /staff-* groups to install. Required groups and internal worker skills are locked in automatically, and both project-local and global installs honor the selected skill set.

Fixed

  • Comment changes now refresh live without manual reloads. The server watches .staffreview/diffs/ directly, normalizes atomic-save temp file events back to their canonical diff JSON, and disables stale JSON API caching so comment add/edit/delete/resolve updates repaint the open UI reliably.
  • Partial skill installs preserve local customizations. When unselected generated skills are pruned, locally edited skill directories are preserved instead of being deleted.

1.5.1 — 2026-06-14

Fixed

  • staff --version now follows the package version. The CLI was still hardcoded to 1.4.0, so freshly built 1.5.0 binaries reported the old version. Version output now comes from package metadata.

1.5.0 — 2026-06-14

Fixed

  • staff install now ships each skill's reference files. The 1.4.1 move of detailed guidance into on-demand references/*.md files left the installer writing only the thin SKILL.md entrypoints, so installed skills pointed at reference files that were never written. Installs and the bundled binary now include the full briefs again.

Changed

  • /staff-section reuses the standard review workers. It now shares the /staff-review-find and /staff-review-verify building blocks in a whole-file mode instead of a separate pair, so /staff-section-find and /staff-section-verify are gone — eleven skills total, less always-loaded context.
  • Sharper review findings. The find/verify guidance gained explicit P1/P2/P3 calibration, a push to cover the quieter review areas (tests, consistency, stale docs, performance), more precise line anchoring, and a verify pass that no longer drops plausible real issues on mere uncertainty.

1.4.1 — 2026-06-14

Added

  • /staff-section reviews the existing codebase, not a diff. It reviews whole files a rotating section at a time, sized by the new sectionAgents setting (default 2, adjustable in the gear menu), and records progress in .staffreview/section-cache.json so each run advances to new ground — around the whole codebase, then back to the start. A section is re-reviewed as a whole unit whenever any of its files changed, and skipped only when none of them have. Backed by the /staff-section-find and /staff-section-verify building blocks.

Changed

  • Bundled Staff Review skills now use smaller entrypoint instructions. Detailed workflow guidance lives in on-demand reference files, reducing the initial context loaded by /staff-review, /staff-resolve, /staff-loop, /staff-section, and related building-block skills.

1.4.0 — 2026-06-12

Added

  • staff install can now install project-local or global skills. Interactive installs ask where to install, while non-interactive project installs keep the previous behavior for automation.
  • Global installs support common agent harnesses. Staff Review can install its bundled skills into existing Codex, Claude Code, Cursor CLI Agent, OpenCode, Pi, Amp, and generic agent skill directories.

Fixed

  • Install prompts now cancel cleanly. Pressing Esc or Ctrl+C exits the install flow with status 0 on the first keypress.

Changed

  • Global install selection only shows configured harnesses. The prompt lists harnesses whose skills directory already exists, and --harness all targets only those installed roots.

1.3.0 — 2026-06-11

Added

  • /staff-copy mirrors open PR review comments locally. Pass one or more GitHub PR URLs, owner/repo#number refs, or PR numbers to copy unresolved review threads into the active Staff Review diff.
  • Diff line wrapping is configurable. The web UI and CLI now support a persistent wrap-lines setting for switching between wrapped and horizontally scrollable diff lines.

Fixed

  • Large active diffs stay responsive longer. The first-party diff renderer now skips unnecessary work for collapsed files, preserves inline comments on resolved lines, and avoids rendering binary files as text.
  • Focus rings match the shadcn/ui button style. Inline comments, unfold buttons, and diff badges no longer show duplicate blue outlines when focused.
  • Binary detection respects .gitattributes. Files marked with -diff render as binary rows instead of expensive text diffs.

Changed

  • /staff-docs now reads GitHub PR history only. It no longer mines local Staff Review diffs, still sweeps recent PRs by default, and can be targeted to specific PR URLs or refs when provided.

1.2.0 — 2026-06-05

Added

  • Structured highlighting can now be toggled. Staff Review adds a setting for word-level syntax highlighting in diffs, exposed through settings and documented in the CLI reference.
  • Target pickers stay compact in repos with many refs. Branches, remote branches, tags, and recent commits now show the latest 5 by default, keep the selected target visible, and page with "View 10 more". Search remains uncapped.
  • BiomeJS linting and formatting baseline. The repo now has shared check, check:fix, format, and lint scripts, plus a checked-in Biome config for consistent formatting and import organization.

Fixed

  • Comments on folded diff lines render inline. Commented lines are kept visible through auto-collapse logic, including folded/large-file cases, so existing review threads stay anchored in the diff.
  • Auto-collapse behavior is more robust. Added coverage around collapsed-file budgets, commented paths, binary/symlink files, and comment-line id computation.
  • Sparehost config cleanup. The Staff Review service config now has the expected working directory and command shape.

Changed

  • Applied the initial Biome formatting pass across the monorepo.
  • Added happy-dom preload/test setup for React component tests.

1.1.2 — 2026-06-03

Added

  • Syntax highlighting now uses Shiki's full bundled language registry. Staff Review no longer limits highlighting to a hand-picked subset of languages; it resolves Shiki language ids and aliases on demand, so uncommon source files are much more likely to highlight correctly.
  • Every bundled Shiki theme is available in settings. Light and dark syntax theme menus now come from Shiki's own theme metadata instead of a curated list.

Fixed

  • Proxied Staff Review pages load their split frontend assets. The binary release now embeds the generated CSS, JS, logo, and Shiki split chunks, and the server serves them by path so hostnames such as staff.sr.sparehost no longer load the page shell while 404ing or 502ing the chunks.
  • Backticked paths stay inside comment cards. Long inline-code filenames in review comments now wrap within the card instead of widening the sidebar and creating a horizontal scrollbar.
  • Dev HTML responses no longer emit duplicate Content-Length headers. The development server now serves Bun's HTML bundle as a direct route entry.

Changed

  • The README and CLI reference now document staff serve --port <n> alongside the related browser-opening flags.

1.1.1 — 2026-06-02

Fixed

  • Inline-comment file paths no longer overflow the sidebar. A long path:line on a review comment — or a long filename in the Files tab — used to push a horizontal scrollbar across the right sidebar. Both now left-truncate with an ellipsis so the base filename and line number stay visible.
  • staff no longer shares a port with another project. When another instance was already serving on the default port, a new staff could bind the same port and silently load-balance requests between the two projects. It now binds the port exclusively and walks up to the next free one as intended.
  • Diff reads tolerate half-written files. A diff read during a concurrent save could surface an unactionable JSON Parse error. Writes are now atomic (temp file + rename) and an empty/half-written file is treated as absent, so the error is gone. A genuinely corrupt file now reports a clear corrupt diff file message instead of being silently recreated empty.

1.1.0 — 2026-06-01

Added

  • Large diffs stay responsive. The web UI now auto-collapses files in big diffs instead of mounting every file's syntax-highlighted diff at once (a 100-file diff used to crawl). Generated/lock/minified/snapshot files and files over 1000 lines start collapsed, and the diff auto-expands at most 20 files / 6000 lines before collapsing the rest. Files with review comments — and binary/symlink rows — are always shown, and your explicit expand/collapse choices still win and persist. Each collapsed file is one click to open.

1.0.1 — 2026-06-01

Changed

  • /staff-docs now excludes bot-authored PR comments entirely (e.g. CodeRabbit, SonarCloud — anything GitHub marks user.type: "Bot"). They were previously eligible as recurring-bug/fix lessons, but in practice they're templated noise the base /staff-review already catches, so they no longer seed the docs library — only human review comments do.

1.0.0 — 2026-06-01

First stable release. Everything below landed since the 0.1.0 preview.

Reviews

  • Multi-agent /staff-review — the review fans out across parallel find sub-agents, then a second verify wave re-checks every finding to cut false positives before anything is posted as an inline comment. Fan-out width is the reviewAgents setting (or pass a number inline, e.g. /staff-review main..WT 6).
  • AI reviewers now set a priority (P1–P3) on each finding, so you can triage what to fix first.

Learning from your history

  • /staff-docs (with the /staff-docs-scout building block) — mines your review history (past Staff Review diffs and merged GitHub PRs via gh) for recurring, generalizable lessons, ranks them by impact, and turns the ones you keep into entries under .staffreview/docs/ that every future /staff-review checks against. The reading fans out across parallel scout sub-agents.
  • docsAgents setting controls the /staff-docs scout fan-out (default 5, range 1–20), in the gear menu or via staff settings.

Web UI

  • Comment-count badge on the Comments tab (matching the Files tab).
  • Compact diff header with abbreviated SHAs and fuller tooltips; app icon and favicon.
  • Inline image attachments on comments; real-time updates over WebSocket.
  • Binary files render as a compact row instead of being diffed as text.

Other

  • PORT env support and deterministic port selection for the local server.
  • Documentation site and landing page at staffreview.dev.

Changed

  • The captured-examples directory is now .staffreview/docs/ (previously .staffreview/library/).

Fixed

  • /staff-docs no longer labels a bot-authored PR comment as "caught by a human reviewer" — bot / automated reviewers are detected and their comments are only kept as recurring-bug or merged-fix lessons.

0.1.0 — 2026-05-30

Initial preview release: the staff CLI, the local web UI for reviewing a diff, the first /staff-* review skills, and Homebrew install (brew install staffreview/tap/staff).

On this page