openspec-progressive-superpowers
npx skills add https://github.com/mpurbo/purbo-skills --skill openspec-progressive-superpowers
Agent 安装分布
Skill 文档
OpenSpec Progressive Superpowers
Configures OpenSpec’s config.yaml so that every artifact instruction automatically
carries project context and invokes the right superpowers skills at each workflow
step. This is a setup skill â run once per project, update when conventions or
available skills change.
The problem it solves: Skills are session-scoped. If you invoke TDD in one
session but create artifacts in another, TDD is forgotten. config.yaml is the
cross-session memory that ensures conventions survive.
When to Use
- New project setup: After
openspec initor whenconfig.yamlis empty/default - Missing discipline: Agent didn’t invoke TDD during apply, skipped progressive phases, ignored project conventions
- New skills added: Installed new superpowers or tech-specific skills that should be woven into the OpenSpec workflow
- Project docs changed: New PRD, updated system spec, changed tech stack
Process
Step 1: Discover Project Context
Scan for project documentation to extract context:
Search order:
1. docs/**/*.md, docs/**/*.txt â specs, PRDs, architecture docs
2. CLAUDE.md, .claude/CLAUDE.md â existing developer context
3. openspec/config.yaml â current config (may be empty)
4. Cargo.toml, package.json, go.mod â tech stack signals
5. openspec/specs/**/*.md â existing capability specs
Extract from these sources:
- Project identity: Name, purpose, domain (1-2 sentences)
- Tech stack: Language, framework, key libraries, build system
- Architecture principles: From system spec or CLAUDE.md
- Subsystem structure: If multi-service, how they relate
Step 2: Discover Available Skills
Scan the installed skills to build a mapping of what’s available:
Superpowers skills (check the skill list in system prompt):
superpowers:test-driven-developmentâ TDD disciplinesuperpowers:systematic-debuggingâ debugging methodologysuperpowers:brainstormingâ creative exploration before implementationsuperpowers:writing-plansâ plan creation from specssuperpowers:executing-plansâ plan execution with review checkpointssuperpowers:verification-before-completionâ evidence-based verificationsuperpowers:requesting-code-reviewâ review after implementationsuperpowers:finishing-a-development-branchâ branch completion workflow
Tech-specific skills (check installed plugins):
fp-rustâ FP-first Rust conventionsfp-kstream-design/fp-kstream-implementâ Kafka Streams- Any other domain-specific skills
OpenSpec skills:
openspec-progressive-implementationâ progressive phase discipline
Only reference skills that are actually installed. Do NOT reference skills that don’t exist in the environment.
Step 3: Map Skills to OpenSpec Workflow Steps
Build the mapping. Each OpenSpec artifact type and action maps to specific skills:
| Workflow Step | Skills to Invoke | Why |
|---|---|---|
proposal |
openspec-progressive-implementation |
Phase design: reviewable, testable, contract-bounded, documented |
specs |
(general practice) | WHEN/THEN scenarios must be translatable to test cases |
design |
superpowers:brainstorming (if design is exploratory) |
Explore alternatives before committing to architecture |
tasks |
openspec-progressive-implementation |
Task grouping, phase headers, TDD ordering, per-phase docs |
apply |
superpowers:test-driven-development, tech-specific skills |
TDD within each task, language conventions during coding |
| Post-apply | superpowers:verification-before-completion |
Evidence before claiming done |
Step 4: Generate config.yaml
Write openspec/config.yaml with two sections:
context: section
Project identity and development discipline. This is injected into every
openspec instructions call. Structure it as:
context: |
## Project: <name>
<1-2 sentence description from project docs>
Reference docs:
<list paths to key docs: system spec, PRDs, etc.>
## Tech Stack
<language, framework, key libraries, build system>
## Architecture Principles
<from system spec or CLAUDE.md â keep to 3-5 bullets>
## Development Discipline
<list each discipline with its skill reference>
- TDD (red-green-refactor): Use superpowers:test-driven-development during apply.
- Progressive implementation: Use openspec-progressive-implementation for
proposal and tasks artifacts.
- <tech-specific>: Use <skill-name> when writing <language> code.
rules: section
Per-artifact constraints. These are injected when creating specific artifact types.
rules:
proposal:
- Follow progressive-implementation discipline when defining phases.
- Each phase must be reviewable, testable, contract-bounded, and documented.
- "Contracts exposed" section required per phase.
- Reference PRD section numbers for traceability.
specs:
- Every requirement MUST have at least one WHEN/THEN scenario.
- Scenarios must be directly translatable to TDD test cases.
design:
- Justify decisions with rationale and alternatives considered.
- Flag risks with mitigations.
tasks:
- Follow progressive-implementation discipline for task structure.
- Each phase's LAST task must update documentation with manual verification steps.
- Include phase header with Contracts exposed, Gate criteria, and Docs update target.
- Order tasks within each phase for TDD â test first, then implementation.
- Each task must be completable in one TDD cycle.
- Gate tasks (build, test, lint) required at the end.
Step 5: Present for Review
Show the generated config.yaml to the user. Highlight:
- Which project docs were used for context
- Which skills were discovered and mapped
- Any gaps (e.g., “no tech-specific skill found for your language”)
Anti-Rationalization Table
| Thought | Reality |
|---|---|
| “The project is simple, config.yaml is overkill” | Simple projects become complex. Config.yaml costs nothing and prevents gaps. |
| “CLAUDE.md already has my conventions” | CLAUDE.md isn’t injected into OpenSpec instructions. config.yaml is. |
| “I’ll remember to invoke TDD manually” | You won’t. Sessions don’t share memory. Config.yaml does. |
| “The skills will be picked up from the system prompt” | Skills are invoked on trigger words. Without config.yaml, artifact creation doesn’t trigger them. |
| “I’ll add context later when I need it” | Later = after the gap causes a problem. Set it up now. |
Maintenance
Re-run this skill when:
- New PRD or system spec is added
- Tech stack changes (new language, framework)
- New skills are installed
- After a retrospective reveals a discipline gap (like TDD not being invoked)