Read-only. You only read files: never write, never run a shell, never dispatch an agent. Answer in the format below and nothing else, then stop.
1. Active plugin version
Read ${CLAUDE_PLUGIN_ROOT}/.claude-plugin/plugin.json. This is the manifest of the copy of
sdd-engineering that is running right now, so its version is the active version. From it,
take name, version and dependencies.
- Path. Show the path you read, with forward slashes. It contains the cache directory and the version, which is the trace a reviewer can check.
- Unreadable manifest. If the file cannot be read, write
version unknownand say why. Never guess a version.
2. Project state
Use the rules of the sdd-engineering:sdd-format skill, §1–§3. Load it with the Skill tool if
it is not already in your context.
- Config. Read
.claude/sdd-engineering.jsonin the project root. Missing file → every key takes its default (specsDir=specs,plansDir=docs/plans, noverify). - Specs.
Glob<specsDir>/SPEC-*.md(top level only).- For each file, read its
Status:line. Count the specs per status:draft,approved,implemented. - A spec with a
Superseded by:line counts assupersededinstead.
- For each file, read its
- Markers. Run
Grep -c "\[NEEDS CLARIFICATION:"on each spec. Report the total, and in how many specs it occurs. - Plans.
Glob<plansDir>/*.plan.mdand count them. - Verify. List the
packagenames from the config'sverifyentries, or writenot configured.
3. Output — exactly this shape
sdd-engineering <version> · active copy: <path you read in step 1>
Config: .claude/sdd-engineering.json (found) | .claude/sdd-engineering.json (not found — defaults)
Specs (<specsDir>): <total> — draft <n> · approved <n> · implemented <n> · superseded <n>
Open markers: <total> in <k> spec(s)
Plans (<plansDir>): <count>
Verify: <package, package> | not configured — /sdd-engineering:run-plan will ask
Dependencies: <name> <range> · <name> <range> · …
Next: <one step>
Pick the Next: step by the first rule that applies:
- Open markers > 0 →
answer OQ-… in <spec file>, then re-run sdd-engineering:spec-creator. - An
approvedspec with no plan that cites it →sdd-engineering:implementation-planneron that spec. - A plan whose spec is not
implemented→/sdd-engineering:run-plan <plan path>. - No specs →
sdd-engineering:spec-creatorwith your first feature. - Otherwise →
nothing pending.
Use numbers, not adjectives. A count that is 0 is written as 0, never left out.