Openspec superpowers
Bridge between OpenSpec's SDD-TDD workflow and Superpowers skills. Provides plan, run, verify, and archive modes to drive spec-driven, test-driven development from proposal through to archived change.From its SKILL.md
npx -y skills add kxdds/sdd-tdd --skill openspec-superpowersAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 1 stars1 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
7.8 KB, ~1.8k tokens by cl100k_base, as published. Nobody here has run it
OpenSpec <-> Superpowers Bridge
This skill orchestrates the SDD-TDD workflow by connecting OpenSpec's artifact pipeline to Superpowers' execution skills. It supports four modes: plan, run, verify, and archive.
Mode: plan
Purpose: Create implementation-plan.md from the sdd-tdd schema template.
Skill dependency: superpowers:writing-plans
Instructions
- Read the current change's
tasks.mdviaopenspec instructions implementation-plan --change <change>. - Activate the
superpowers:writing-plansskill. - Investigate the codebase before writing anything. Read the modules the change touches, confirm build/test/lint commands, note conventions (naming, base classes, route prefixes, DTO patterns) and missing prerequisites (dependencies, config). Record these under "Key facts for implementers" in the plan. A plan written without reading the code is fiction.
- Generate
implementation-plan.mdin the change directory, following the schema template structure exactly -- including its embedded generation rules. - Map every unchecked OpenSpec task ID from
tasks.mdto exactly one plan step. If any task is unmapped, the plan is incomplete -- do not proceed. - Do NOT check off
tasks.mdcheckboxes during planning. Task completion happens only inrunmode.
Quality bar (from superpowers:writing-plans)
The plan must be executable by an engineer with zero context for this codebase who cannot ask questions. Concretely, every step contains:
- Complete, copy-pasteable code -- the actual test and the actual implementation, with imports. Never a description of code.
- Exact file paths from the repo root, marked (create) or (modify).
- Exact commands with expected output -- the RED command with the exact expected failure (assertion message or error type), the GREEN command expecting pass, and a commit command.
Anti-patterns that mean the step must be rewritten, not patched:
- Prose standing in for code: "add validation logic", "wire up the controller", "handle the error case"
- Placeholders:
// TODO,// implement here,..., "similar to Step N" - Commands without expected outcomes: "run the tests" with no stated failure/pass criteria
Self-review gate (before declaring plan complete)
Re-read the finished plan and answer honestly:
- Could someone who has never seen this repo execute every step using only the plan and "Key facts"? If any step requires prior knowledge, add it.
- Does any step contain a code description instead of code? Rewrite it with the real code.
- Is any expected RED failure vague ("test fails")? State the exact error.
A plan meeting this bar is typically 5-10x larger than a summary plan. If the result looks like a skeleton (steps under ~30 lines), it does not meet the bar -- rewrite before reporting completion. If an implementation-plan.md already exists but fails this gate, rewrite it from scratch rather than patching it.
Completion criteria
implementation-plan.mdexists in the change directory- Every unchecked task in
tasks.mdis traced to exactly one plan step - The self-review gate passes on all three questions
openspec status --change <change> --jsonshowsimplementation-planas complete
Mode: run
Purpose: Execute the implementation plan using test-driven development.
Skill dependency: superpowers:test-driven-development
Instructions
- Read
implementation-plan.mdfor the current change. Gate: if it fails the plan-mode quality bar (steps are code descriptions instead of code, missing RED/GREEN commands, placeholder text) -- common when the artifact was generated by/opsx:ffor/opsx:continueinstead ofplanmode -- stop and runplanmode to rewrite it first. Executing a skeleton plan produces untraceable improvisation. - Activate the
superpowers:test-driven-developmentskill. - For each plan step, in order:
a. Write the focused failing test from the plan step.
b. RED: Run the test command. Confirm it fails with the expected failure. If it passes unexpectedly, investigate -- the test may not be focused enough.
c. Implement: Make the minimal code change described in the plan step.
d. GREEN: Run the test command. Confirm it passes. If it fails, fix the implementation (not the test) until green.
e. Refactor while green -- clean up without changing behavior, keep tests passing.
f. Mark the plan step complete (check off in
implementation-plan.md). g. Mark the corresponding OpenSpec task(s) complete (check off intasks.md). h. Run project verification (lint, typecheck, full test suite). Fix any failures before moving to the next step. - After all steps are complete, run
openspec status --change <change> --jsonto confirm all artifacts and tasks are done. - Stop before archive. Do not archive automatically -- that is an explicit user action.
Completion criteria
- All plan steps checked off in
implementation-plan.md - All OpenSpec tasks checked off in
tasks.md - Project verification passes (lint, typecheck, tests)
openspec status --change <change> --jsonshows all artifacts complete
Mode: verify
Purpose: Resolve any verification failures before reporting readiness.
Skill dependency: superpowers:verification-before-completion
Instructions
- Activate the
superpowers:verification-before-completionskill. - Run all project checks:
- Lint (
npm run lint, or project-appropriate equivalent) - Type checking (
npm run typecheck, or project-appropriate equivalent) - Full test suite (
npm test, or project-appropriate equivalent)
- Lint (
- Run
openspec status --change <change> --jsonand check for incomplete artifacts or tasks. - For each failure: a. Diagnose the root cause. b. Fix it (code fix, missing test, incomplete task). c. Re-run verification to confirm the fix.
- Do not report readiness until all checks pass. If a failure is unresolvable, report the blocker with context.
Completion criteria
- All project checks pass
- All OpenSpec artifacts are complete
- All tasks in
tasks.mdare checked - No unresolved blockers reported
Mode: archive
Purpose: Archive the completed change using OpenSpec. This is always an explicit user action.
Instructions
- Confirm all prerequisites:
verifymode has been run and passed (all checks clean)openspec status --change <change> --jsonshows everything complete
- Run
openspec sync --change <change>to sync specs back to the canonical store. - Run
openspec archive --change <change>to archive the change. - Confirm archive succeeded: the change directory should be moved to
openspec/changes/archive/.
Completion criteria
- Change is archived in
openspec/changes/archive/ - Specs are synced to the canonical store
- No remaining open items
Usage
# Plan the implementation (from tasks.md -> implementation-plan.md)
openspec-superpowers plan <change>
# Execute with TDD (RED -> GREEN -> refactor for each step)
openspec-superpowers run <change>
# Verify everything is clean before archiving
openspec-superpowers verify <change>
# Archive (explicit user action)
openspec-superpowers archive <change>
Typical Full Loop
/opsx:propose <change> # OpenSpec creates proposal -> specs -> design -> tasks
openspec-superpowers plan <change> # Plan: tasks -> implementation-plan
openspec-superpowers run <change> # Run: TDD execution of plan steps
openspec-superpowers verify <change> # Verify: resolve any failures
openspec-superpowers archive <change> # Archive: sync & archive (user action)
What ships with it
Read from the repository
Just SKILL.md. No reference files, no scripts.