feat(graceful-handoff): 2.0 — migrate to skills/ with disable-model-invocation [skip-docs]
Step 1 of v2.0 plan. Hard cut from commands/ to skills/ per Anthropic recommendation for new plugins. Frontmatter sets disable-model-invocation: true and pins model: claude-sonnet-4-6. Docs (README, CLAUDE.md, root README) deferred to Step 9 per plan.
This commit is contained in:
parent
65c9242160
commit
1a65d8e4d5
12 changed files with 331 additions and 355 deletions
|
|
@ -320,28 +320,33 @@ If any validation fails, fix the plan before handing to Phase 6 review.
|
|||
### Phase 5.5 — Schema self-check (REQUIRED before Phase 6)
|
||||
|
||||
After writing the plan file, verify the output conforms to the executor's
|
||||
parser BEFORE handing to plan-critic. Use Bash to grep the plan file:
|
||||
parser BEFORE handing to plan-critic. Run the plan validator:
|
||||
|
||||
```bash
|
||||
# Count canonical step headings
|
||||
grep -c '^### Step [0-9]\+: ' "$plan_path"
|
||||
|
||||
# Count manifest blocks
|
||||
grep -c '^ manifest:' "$plan_path"
|
||||
|
||||
# Detect forbidden narrative formats
|
||||
grep -cE '^(##|###) (Fase|Phase|Stage) [0-9]' "$plan_path"
|
||||
node ${CLAUDE_PLUGIN_ROOT}/lib/validators/plan-validator.mjs --strict --json "$plan_path"
|
||||
```
|
||||
|
||||
**Pass criteria:**
|
||||
- Step count ≥ 1
|
||||
- Manifest count == Step count
|
||||
- Forbidden narrative count == 0
|
||||
**Pass criteria:** validator exits 0 with `valid: true` in its JSON output.
|
||||
Internally the validator enforces (same checks as before, now in one place):
|
||||
- Step count ≥ 1, numbering is 1..N contiguous
|
||||
- Per-step Manifest YAML present, parses, and `commit_message_pattern` compiles
|
||||
- Step count == manifest count
|
||||
- Zero forbidden narrative headings (`### Fase N`, `### Phase N`, `### Stage N`,
|
||||
`### Steg N`)
|
||||
- `plan_version: 1.7` declared (warning only if older / missing)
|
||||
|
||||
**If the plan fails schema self-check:** rewrite the Implementation Plan
|
||||
section using the exact literal template shown earlier in Phase 5. Do NOT
|
||||
proceed to Phase 6 with a schema-failing plan — plan-critic cannot repair
|
||||
format drift, only content issues.
|
||||
Each error has a `code` field — read these to localize the fix. Common codes:
|
||||
- `PLAN_FORBIDDEN_HEADING` — narrative drift; rewrite the section using the
|
||||
literal template from Phase 5
|
||||
- `PLAN_MANIFEST_COUNT_MISMATCH` — at least one step lost its manifest block
|
||||
- `MANIFEST_PATTERN_INVALID` — a `commit_message_pattern` does not compile;
|
||||
check escaping (use `\\(` not `\(` in YAML double-quoted strings)
|
||||
- `PLAN_STEP_NUMBERING` — steps skip a number; renumber sequentially
|
||||
|
||||
**If the plan fails schema self-check:** rewrite the offending section using
|
||||
the exact literal template shown earlier in Phase 5. Do NOT proceed to Phase 6
|
||||
with a schema-failing plan — plan-critic cannot repair format drift, only
|
||||
content issues.
|
||||
|
||||
### Failure recovery (REQUIRED for every step)
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue