new-patchlisted
Install: claude install-skill camjac251/cc-enhanced
# /new-patch <tag>
Create the four files needed for a new patch, then hand off to the user. `$ARGUMENTS` is the patch tag.
If the tag is missing, ask the user for tag, one-line purpose, and group.
## Files to create
1. **`src/patches/<tag>.ts`**: copy the structure from a similar existing patch in `src/patches/`. Import only the AST types and helpers that scaffold uses; do not add unused placeholder imports. Export a `Patch` with `tag`, `astPasses`, and `verify`; see `src/types.ts` for the interface.
2. **`src/patches/<tag>.test.ts`**: use `node:test` plus `node:assert/strict`. Assert the exported `tag` and add a named `test.todo(...)` for the intended mutation/verifier behavior; do not add a passing placeholder assertion. Mirror the shape of a sibling `*.test.ts`.
3. **`src/patches/index.ts`**: add the named `export ... from "./<tag>.js"`, add the import for the roster, and append the patch to the canonical `registeredPatches` array.
4. **`src/patch-metadata.ts`**: add a `BY_TAG["<tag>"]` record with `tag`, `label`, and `group`.
## After scaffolding
Tell the user the four files are created. Do not implement the visitor or verifier; that is the user's design step.
Remind them to follow `docs/maintainer-reference.md > Adding Patches`:
- If the patch changes exported live prompt guidance, update `src/verification/prompt-surface-rules.ts` and update `src/verification/prompt-policy-contract.ts` for shared policy.
- When the total patch count changes, keep the patch count