Diff review
Skill nexu-io/open-design/plugins/_official/atoms/diff-review
π¨ The open-source Claude Design alternative. π₯οΈ Local-first desktop app. πΌοΈ Your coding agent becomes the design engine: prototypes, landing pages, dashboards, slides, images & video β real files, HTML/PDF/PPTX/MP4 export. π€ Claude Code / Codex / Cursor / Gemini / OpenCode / Qwen & 20+ CLIs via BYOK.
npx -y skills add nexu-io/open-design --skill diff-reviewAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
What its author says it does
Copied from the file, not written here
Render the patch-edit run's accumulated changes as a reviewable diff, surface it through a GenUI choice surface, and persist the user's accept / reject decision into the artifact manifest.
SKILL.md
2.0 KB, as published. Nobody here has run it
Diff review
Spec Β§20.3 / Β§21.3.2: a code-migration / tune-collab handoff is worthless without a human-reviewable diff. This atom is the "present the patch, capture the decision" stage.
Inputs
- The project cwd's accumulated edits since the run started (or since the previous diff-review iteration).
plan/steps.jsonfor context per file.
Output
project-cwd/
βββ review/
βββ diff.patch # unified diff (git apply-shaped)
βββ summary.md # human-friendly per-file walkthrough
βββ decision.json # { decision: 'accept' | 'reject' | 'partial', accepted_files: [...], rejected_files: [...], reviewer: 'user' | 'agent' }
βββ meta.json # { generatedAt, atomDigest, planRevision }
The atom raises a choice GenUI surface with the three top-level
decisions (accept / reject / partial). On partial the user
flips per-file decisions through follow-up surfaces.
Convergence
The atom completes when decision.json has a non-empty decision.
Acceptance writes handoffKind: 'patch' (or 'deployable-app'
when a successful build-test is on file) into the eventual
artifact manifest; rejection rolls back the patch via git restore
or the equivalent in the code-import-bound repo path.
Anti-patterns the prompt fragment forbids
- Skipping the surface and assuming acceptance.
- Generating a
decision.jsonthat lacksaccepted_files/rejected_filesonpartialdecisions. - Rolling back files outside
plan/steps.json's union offiles[]β the patch boundary is a contract.
Status
Implemented by the daemon runner in
apps/daemon/src/plugins/atoms/diff-review.ts, with GenUI decisions persisted
by apps/daemon/src/plugins/atoms/diff-review-genui-bridge.ts.