Skip to content

✨ feat(revu): register plugin, teach skills the triage fields, add watch#2

Merged
kud merged 1 commit into
mainfrom
feat/revu-plugin-update
Jul 4, 2026
Merged

✨ feat(revu): register plugin, teach skills the triage fields, add watch#2
kud merged 1 commit into
mainfrom
feat/revu-plugin-update

Conversation

@kud

@kud kud commented Jul 1, 2026

Copy link
Copy Markdown
Owner

What

Brings the revu plugin up to date with the new revu-cli capabilities and makes it a first-class, enabled marketplace plugin.

The revu plugin turns a code review captured in the revu TUI into action — you annotate lines on one side, Claude discusses/applies them on the other. This PR registers it properly and teaches its skills the richer .revu.json schema revu now writes (severity, status, source), plus a new live-watch skill.

Changes

  • Register the plugin. Added plugins/revu/.claude-plugin/plugin.json (CLI-based, no MCP server — modelled on gandi; points at @kud/revu-cli) and added revu to .claude-plugin/marketplace.json. The plugin existed as skill files but was never registered, so it wasn't installable. Marketplace bumped 2.2.0 → 2.3.0.
  • discuss + implement now read triage. Both prefer the live structured export — revu --export --format json --out - — which carries severity, status, source, and the captured code range (falling back to .revu.json, then revu-review.md). They order by severity (blockers first) and honour triage: discuss skips dismissed/resolved unless asked; implement refuses to apply a dismissed or resolved annotation and shows severity/source in its checklist.
  • New watch skill. Live-watches .revu.json and discusses annotations as they appear, for a hands-free side-by-side session. Claude can't be woken by a file change, so it runs under /loop (/loop 15s /revu:watch) and diffs against a per-repo state file to surface only what's new/changed. Discuss-only — it never edits code (that stays behind implement's confirmation gate).

Why now

revu-cli just shipped triage states/severity, structured JSON export with --out -, --import, push-to-PR, and live --watch (kud/revu-cli#8). The plugin (the consumer of the shared .revu.json contract) was still on the old 4-field schema and told users to press e to export. This closes that gap and unlocks the live annotate → react loop.

Notes

Register the revu plugin in marketplace.json (bumps marketplace to v2.3.0), add plugin.json with setup instructions for @kud/revu-cli, and overhaul all three skills:

- discuss/implement: prefer live `revu --export --format json --out -` over static file fallbacks; honour severity, status (skip dismissed/resolved), and captured code range
- implement: filter by triage state before presenting checklist
- watch (new): poll-based live-review partner designed to run under /loop; diffs annotation signatures per run and discusses only new/changed items
@kud
kud force-pushed the feat/revu-plugin-update branch from 4463fb0 to 5627462 Compare July 4, 2026 16:40
@kud
kud marked this pull request as ready for review July 4, 2026 16:40
@kud
kud merged commit da4daa3 into main Jul 4, 2026
1 check passed
@kud
kud deleted the feat/revu-plugin-update branch July 4, 2026 17:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant