Skip to content
Back to skills

Diff Review

ASecurity

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.

  • 98,936 stars
  • 0 votes
  • 1 copy
  • 2 views
  • Added June 6, 2026
ai-agentsgit

Security analysis

A100/100

Pro scans all 2 files and shows the line behind each finding

Scanned June 6, 2026

npx -y skills add nexu-io/open-design --skill diff-review --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Diff Review?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Diff Review
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/nexu-io-diff-review/badge)](https://www.skillsdirectory.com/skills/nexu-io-diff-review)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: diff-review
description: 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.
od:
  scenario: code-migration
  mode: review
---

# 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.json` for context per file.

## Output

```text
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.json` that lacks `accepted_files` /
  `rejected_files` on `partial` decisions.
- Rolling back files outside `plan/steps.json`'s union of
  `files[]` — the patch boundary is a contract.

## Status

Reserved id, prompt-only fragment in v1.

Files in this skill

  • SKILL.md1.9 KB
  • open-design.json855 B

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…