nexu-io/rewrite-plan
Author a long-running multi-file rewrite plan that subsequent patch-edit + diff-review + build-test stages will execute, with explicit ownership boundaries and patch-safety guarantees.
npx skills add https://github.com/nexu-io/open-design --skill rewrite-plan
Spec §20.3 / §21.3.2: scenario 4 (design → deliverable production
code) requires a contract-shaped rewrite plan before the agent
starts editing files. The plan is the audit trail every
subsequent stage references; without it the patch path slides into
"refactor everything that looks wrong" and the build breaks in
unreviewable ways.
code/index.json from code-import.token-map/*.json from token-map.project-cwd/
└── plan/
├── plan.md # human-readable narrative
├── ownership.json # { file: '...', layer: 'leaf' | 'shared' | 'route' | 'shell' }
├── steps.json # ordered { id, files[], rationale, risk: 'low' | 'medium' | 'high' }[]
└── meta.json # { generatedAt, atomDigest, tokenMapDigest }
steps.json is the input patch-edit reads one entry per
iteration. ownership.json is the source of truth for "which
files belong to a single component vs. shared infrastructure";
patch-edit refuses to touch a shell-tier file unless the
matching step has risk: 'high' and the user explicitly confirmed.
The atom completes when plan.md is non-empty AND steps.json
contains at least one step.
single step. Break into per-component steps.
build-test step at the end.Implemented by the daemon runner in
apps/daemon/src/plugins/atoms/rewrite-plan.ts. It classifies ownership and
writes plan.md, steps.json, and ownership.json.
Take nexu-io/rewrite-plan from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.