Skip to content

feat: v1.8.1 — copy-ready stage-handoff block at every skill's finish#4

Merged
genkovich merged 2 commits into
mainfrom
feat/stage-handoff
May 29, 2026
Merged

feat: v1.8.1 — copy-ready stage-handoff block at every skill's finish#4
genkovich merged 2 commits into
mainfrom
feat/stage-handoff

Conversation

@genkovich
Copy link
Copy Markdown
Owner

What

Every skill now ends by emitting a copy-ready handoff block instead of a bare «Next: …» line. Canonical format in new skills/_shared/handoff.md; each skill keeps a one-line pointer + supplies its own content.

The block (sectioned):

## ✅ <skill> — <slug>

**What I did**
- <artifacts produced + the commit proposed>

**Review before continuing**
- `docs/features/<slug>/<file>` — <what to check>

**Run next**
1. `/clear` — mandatory (fresh context; the next stage re-reads from disk)
2. then run:

/sdd-

↳ or `/sdd-<alt> <slug>` to <skip>   ← only when a real skip exists

Fixes the complaint that the per-gate output was poor and hard to copy/verify: you now see what changed, which files to open at this gate (real paths), and what to run next (/clear + a fenced, one-click-copy /sdd-… command) without scrolling back.

Variants

  • Backbone forward (survey → … → ship): /clear mandatory + next stage.
  • Loop-back (review → implement on CHANGES): no /clear (stay in context to iterate).
  • Terminal (ship): no /sdd successor — PR link + «merge is your call».
  • Utility (classify-size / glossary / decide-adr / roadmap): «resume your stage», /clear optional.

Changes

  • New skills/_shared/handoff.md — the format, the four variants, a canonical stage→review-files→next sequence table, the discipline.
  • All 16 skills — final protocol step now emits the handoff block (pointer + its own next command).
  • README — the handoff convention in "Start here" + handoff in the _shared list.
  • Manifests → 1.8.1.

Verification

  • python3 scripts/validate_plugin.py177 checks pass; manifests agree on 1.8.1.
  • All 16 skills reference the block; 18 handoff.md links resolve; the block shape is canonical to handoff.md only (no skill hard-codes it).

🤖 Generated with Claude Code

genkovich and others added 2 commits May 29, 2026 16:31
Each skill now ends by emitting a copy-ready handoff block (canonical format in
skills/_shared/handoff.md): What I did + Review before continuing (links to the
files it wrote) + Run next (/clear, then the next /sdd-… command in a fenced
block). Replaces the bare "Next: …" line — the user sees what changed, which
files to review at the gate, and what to run next without scrolling back.

Variants: backbone forward (/clear + next stage), loop-back (review→implement,
no /clear), terminal (ship → PR link), utility (resume your stage, /clear
optional). All 16 skills updated; README documents it; manifests → 1.8.1.

validate_plugin.py: 177 checks pass.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…surfacing config gaps)

Two config artifacts were read across stages but produced only late / out-of-band,
so a missing one surfaced as a silent default deep in the pipeline:

- .size: now established by `specify` at the start (classify via the shared
  size-matrix + write it if absent), so design…plan-tests read a real size instead
  of silently defaulting to M — the gap that only showed at plan-tests. The handoff
  block now states the feature_size used (and flags a default loudly).
- .claude/sdd.local.md: auto-created early (normally `specify`, not implement-only)
  with documented, self-documenting defaults — the frontmatter + the «What each key
  does» body, every key's allowed values explained inline — and `.gitignore` is
  patched (`.claude/*.local.md` covers it). interview-depth/settings/implement/README
  reconciled; classify-size stays the re-classify utility.

validate_plugin.py: 177 checks pass; 302 markdown links resolve.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@genkovich
Copy link
Copy Markdown
Owner Author

Second commit a4ba697config established early, not surfaced late (two reconciliations you flagged while dogfooding):

  • .size is now established by specify at the backbone start (classify via the shared size-matrix + write it if absent), so design…plan-tests read a real size instead of silently defaulting to M — the gap that only showed at plan-tests. The handoff block now states the feature_size used and flags a default loudly.
  • .claude/sdd.local.md is auto-created early (normally specify, no longer implement-only) with self-documenting defaults — the frontmatter + the «What each key does» body, every key's allowed values explained inline — and .gitignore is patched (.claude/*.local.md already covers it; the repo's own .gitignore has it too).

validate_plugin.py: 177 checks pass; 302 markdown links resolve.

@genkovich genkovich merged commit 7a82514 into main May 29, 2026
1 check passed
@genkovich genkovich deleted the feat/stage-handoff branch May 29, 2026 15:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant