Skip to content
/

SuperSpec (danielhanold)

superspec · danielhanold/superspec · ★ 8 · last commit 2026-05-18

Eliminates the duplicate artifacts and manual skill selection overhead of using OpenSpec and Superpowers together by providing a schema that enforces their correct integration sequence.

Best whenIntegration schemas are the right level of abstraction for composing framework pairs — no new code needed, just a schema.yaml that routes the right skill to …
Skip ifUsing git add -A to commit change artifacts before worktree creation, Using executing-plans instead of subagent-driven-development on Claude Code
vs seeds
openspec(canonical seed) and superpowers (canonical seed) — the only meta-framework in the corpus. The architectural delta from …
Primitive shape
No installable primitives
00

Summary

SuperSpec (danielhanold) — Summary

SuperSpec is an OpenSpec custom schema that wires the OpenSpec spec-driven planning workflow together with the Superpowers execution skills framework, creating a single traceable pipeline from idea to TDD-verified code — where every phase invokes the correct Superpowers skill at the right time.

Problem it solves: When used independently, OpenSpec and Superpowers produce overlapping artifacts (both have design docs and task lists) and leave the developer deciding which skill to invoke at each step. SuperSpec eliminates this friction by defining a schema.yaml that makes OpenSpec's artifact pipeline explicitly invoke Superpowers skills (superpowers:brainstorming, superpowers:writing-plans, superpowers:subagent-driven-development) at the correct moments.

Distinctive trait: A pure integration schema — no new code, no new CLI, no new prompts. It is exactly a schema.yaml file plus templates that drops into any existing OpenSpec install via openspec config set schema superspec. The highest-level "meta-framework" in the batch: it composes two other frameworks rather than adding anything itself.

Target audience: Developers who already use both OpenSpec and Superpowers and want a defined integration rather than managing the two frameworks manually.

Production-readiness: Schema version 1, 8 stars, last commit May 2026. MIT licensed. Requires both OpenSpec and Superpowers pre-installed. Credited as based on JiangWay/OpenSpec branch schemas/sdd-plus-superpowers.

Relationship to seeds: Directly extends both openspec (canonical seed, the spec governance layer) and superpowers (canonical seed, the execution discipline layer). No other framework in the batch or among the seeds is an explicit integration of two seeds — SuperSpec is unique as a composing layer.

01

Overview

SuperSpec — Overview

Origin

Created by Daniel Hanold (danielhanold). Explicitly credited as a repackaging of JiangWay/OpenSpecschemas/sdd-plus-superpowers branch, which originated the OpenSpec + Superpowers integration. The README states:

"Superspec is based on JiangWay/OpenSpec — schemas/sdd-plus-superpowers, which originated the integration of OpenSpec's spec-driven workflow with Superpowers execution skills. This repository repackages that schema as a standalone, drop-in addition for any OpenSpec project."

Philosophy

The README articulates the integration rationale precisely:

"The two overlap (both produce design and task artifacts) but focus on different domains: OpenSpec governs spec-driven planning, Superpowers governs spec-driven development and implementation. Used independently, you end up with duplicate documents, parallel task lists, and manual decisions about which skill to invoke at each step."

The solution:

"OpenSpec supports custom schemas, and Superspec is exactly that — a drop-in schema that picks the best of both frameworks and wires them together for a fully integrated workflow combining spec-driven and test-driven development. No fork of OpenSpec, no modification to Superpowers skills."

The five phases

  1. Brainstorm — Invokes superpowers:brainstorming; output redirected to change's brainstorm.md
  2. Artifact creation — Produces proposal, optional design, delta specs, tasks, micro-task plan
  3. Code implementation — Invokes superpowers:using-git-worktrees then superpowers:subagent-driven-development (which transitively enforces TDD + code review)
  4. Spec validation — Invokes openspec-verify-change or /opsx:verify
  5. Archival — Merges delta specs, invokes superpowers:finishing-a-development-branch

Key insight: transitive skill activation

The schema's apply instruction notes a critical design:

"subagent-driven-development internally enforces the following skills, so you do NOT need to invoke them manually: superpowers:test-driven-development, superpowers:requesting-code-review"

This means SuperSpec gets TDD and code review "for free" from Superpowers' skill chain, without adding any new instructions.

02

Architecture

SuperSpec — Architecture

Distribution

  • Type: OpenSpec custom schema (standalone repo)
  • Language: YAML schema + Markdown templates
  • No binary, no npm package, no MCP server

Prerequisites

  • Homebrew (strongly preferred)
  • OpenSpec CLI: brew install openspec
  • Superpowers: follow Superpowers docs
  • jq (for automated global config)

Install commands

# Step 1: Install OpenSpec
brew install openspec

# Step 2: Install Superpowers (per Superpowers docs)

# Step 3: Configure OpenSpec globally
openspec config profile core
openspec config set profile custom
openspec config set delivery both
# Enable all workflows via jq
jq '.workflows = ["propose","explore","new","continue","apply","ff","sync","archive","bulk-archive","verify"]' \
   "$(openspec config path)" > tmp && mv tmp "$(openspec config path)"

# Step 4: Initialize OpenSpec in your repo
openspec init --tools cursor --profile custom

# Step 5: Copy SuperSpec schema
git clone --depth 1 --filter=blob:none --sparse \
  https://github.com/danielhanold/superspec.git /tmp/superspec-tmp
cd /tmp/superspec-tmp && git sparse-checkout set openspec/schemas/superspec
cp -r /tmp/superspec-tmp/openspec/schemas/superspec/. openspec/schemas/superspec/
rm -rf /tmp/superspec-tmp

# Step 6: Set as default schema
echo "schema: superspec" > openspec/config.yaml

Repository structure

superspec/
├── LICENSE
├── README.md
├── docs/
│   ├── workflow.md           ← Visual workflow overview
│   ├── workflow-details.md   ← Full 9-step walkthrough
│   └── project-layout.md     ← Directory layout after install
└── openspec/
    ├── config.yaml           ← Sets schema: superspec
    └── schemas/
        └── superspec/
            ├── README.md     ← Design motivation
            ├── INTEGRATION.md ← Full lifecycle + CLI cheat sheet
            ├── schema.yaml   ← THE schema (200+ line YAML)
            └── templates/    ← Markdown templates for each artifact
                ├── brainstorm.md
                ├── proposal.md
                ├── design.md
                ├── spec.md
                ├── tasks.md
                ├── plan.md
                └── verify.md

Target AI tools

  • Claude Code (primary — Superpowers is Claude Code-native)
  • Cursor (supported via OpenSpec --tools cursor)
  • OpenCode
  • Any tool with OpenSpec + Superpowers support
03

Components

SuperSpec — Components

Commands

Count: 0 — SuperSpec adds no commands of its own. It uses OpenSpec's existing command set (/opsx:new, /opsx:continue, /opsx:apply, /opsx:verify, /opsx:archive).

Skills

Count: 0 — SuperSpec adds no new skills. It invokes Superpowers' existing skills via the schema's instruction fields.

Subagents

Count: 0 — Subagents are dispatched by Superpowers' subagent-driven-development skill; SuperSpec's schema triggers that skill but defines no agents itself.

Hooks

Count: 0

MCP Servers

Count: 0

Templates (7)

Located in openspec/schemas/superspec/templates/:

Template Purpose
brainstorm.md Output document for the superpowers:brainstorming session
proposal.md Change proposal (extracted from brainstorm output)
design.md Technical design (optional; only for non-trivial decisions)
spec.md Delta spec (ADDED/MODIFIED/REMOVED/RENAMED requirements)
tasks.md Implementation checklist (parsed by OpenSpec for progress tracking)
plan.md Micro-task plan (output of superpowers:writing-plans)
verify.md Post-implementation verification report

Schema artifacts (7 defined in schema.yaml)

Artifact ID Generated file Key instruction
brainstorm brainstorm.md Invoke superpowers:brainstorming; redirect output to change dir
proposal proposal.md Extract from brainstorm.md; populate Capabilities section
design design.md Optional; check if brainstorm already produced design
specs specs/**/*.md One file per capability; use #### (4 hashtags) for scenarios
tasks tasks.md Strict - [ ] X.Y format for checkbox parsing
plan plan.md Invoke superpowers:writing-plans; redirect output to change dir
verify verify.md Invoke openspec-verify-change; run 5 checks post-implementation

Apply instruction (key integration point)

The apply section of schema.yaml is the richest component — it specifies the full implementation sequence:

  1. Pre-flight: commit change artifacts before worktree creation
  2. Create git worktree via superpowers:using-git-worktrees
  3. Execute plan via superpowers:subagent-driven-development (transitively enforces TDD + code review)
  4. Verify via openspec-verify-change
  5. Finish branch via superpowers:finishing-a-development-branch
  6. Optional retrospective in retrospective.md

Scripts

Count: 0 — No shell scripts; installation is documented as shell commands in the README.

05

Prompts

SuperSpec — Prompts (Verbatim)

SuperSpec's prompts live in schema.yaml as instruction: fields within each artifact definition. These are passed to the AI as instructions when OpenSpec's continue command advances to each artifact.

1. brainstorm artifact instruction (verbatim from schema.yaml)

instruction: |
  Use the Skill tool to invoke **superpowers:brainstorming**.

  IMPORTANT output redirection:
  - Do NOT write to `docs/superpowers/specs/`. Instead, write the
    brainstorming design output directly to this change's `brainstorm.md`.
  - If brainstorming produces a design document, also write it to
    this change's `design.md` (this will pre-fill the design artifact).

  After brainstorming completes, summarize the agreed design in
  brainstorm.md using the template structure.

  The brainstorming skill will:
  1. Explore project context
  2. Ask clarifying questions (one at a time)
  3. Propose 2-3 approaches with trade-offs
  4. Present design sections for approval
  5. Output the validated design

Prompting technique: Skill invocation instruction + output redirection override. The instruction tells the AI to invoke an external skill (superpowers:brainstorming) and explicitly overrides where that skill writes its output — this is a cross-framework output routing pattern.


2. specs artifact instruction (verbatim — showing CRITICAL formatting note)

instruction: |
  Create specification files that define WHAT the system should do.

  Create one spec file per capability listed in the proposal's Capabilities section.
  - New capabilities: use the exact kebab-case name from the proposal (specs/<capability>/spec.md).
  - Modified capabilities: use the existing spec folder name from openspec/specs/<capability>/

  Delta operations (use ## headers):
  - **ADDED Requirements**: New capabilities
  - **MODIFIED Requirements**: Changed behavior - MUST include full updated content
  - **REMOVED Requirements**: Deprecated features - MUST include **Reason** and **Migration**
  - **RENAMED Requirements**: Name changes only - use FROM:/TO: format

  Format requirements:
  - Each requirement: `### Requirement: <name>` followed by description
  - Use SHALL/MUST for normative requirements (avoid should/may)
  - Each scenario: `#### Scenario: <name>` with WHEN/THEN format
  - **CRITICAL**: Scenarios MUST use exactly 4 hashtags (`####`). Using 3 hashtags or
    bullets will fail silently.
  - Every requirement MUST have at least one scenario.

Prompting technique: Normative language enforcement (SHALL/MUST) + silent-failure prevention. The "CRITICAL" annotation flags a subtle formatting requirement (4 vs 3 hashtags) that would cause silent downstream failures in OpenSpec's parser.


3. apply instruction — Pre-flight commit (verbatim excerpt)

apply:
  instruction: |
    0. **Pre-flight — commit change artifacts to current branch**:

       Before creating the worktree, verify that the change directory
       `openspec/changes/<name>/` is committed on the current branch.
       This prevents drift between the main checkout and the worktree
       during implementation.

       Steps:
       a. Run `git status --porcelain openspec/changes/<name>/`
       b. If untracked entries (lines starting with `??`), stage and commit
          ONLY this change's directory (do NOT use `git add -A`):
          git add openspec/changes/<name>/
          git commit -m "docs(openspec): scaffold <name> change

          Captures pre-implementation artifacts (brainstorm/proposal/
          specs/tasks/plan) so the implementation worktree starts
          with the change directory already tracked."

Prompting technique: Defensive git procedure with explicit failure mode prevention. The git add -A anti-pattern is explicitly named and forbidden. The commit message format is specified verbatim including the conventional commit type.


4. verify artifact instruction (verbatim excerpt)

instruction: |
  IMPORTANT timing note:
  - Unlike other artifacts, verify.md is produced AFTER the apply
    phase completes, NOT during planning. The `requires: [plan]`
    edge exists only for schema graph purposes — the actual
    verification step MUST run on a completed implementation.

  The verify step MUST perform the following checks:
  1. Structural validation: Run `openspec validate --all --json`
  2. Task completion: Confirm every checkbox in tasks.md is `- [x]`
  3. Delta spec sync state: Compare change specs vs. openspec/specs/<capability>/spec.md
  4. Design/specs coherence: Spot-check design.md decisions against specs
  5. Implementation signal: Confirm all code changes are committed

Prompting technique: Timing disambiguation (the requires graph edge is structural only, not temporal) + explicit 5-point verification checklist with machine-readable commands.


Key Prompting Techniques

  1. Skill invocation delegation: Instructions tell the AI to invoke named external skills, not to perform the action directly
  2. Output redirection overrides: SuperSpec consistently overrides default output paths to keep all artifacts in the change directory
  3. Silent-failure prevention: Critical formatting requirements (4 hashtags) are annotated with "CRITICAL" and "will fail silently"
  4. Defensive git procedures: Pre-flight checks name and forbid anti-patterns (git add -A)
  5. Timing disambiguation: Temporal ordering is separated from dependency graph edges
09

Uniqueness

SuperSpec — Uniqueness and Positioning

differs_from_seeds

SuperSpec directly integrates both openspec (canonical seed, 50k stars) and superpowers (canonical seed, 207k stars). It is the only framework in the batch or among the 11 seeds that is explicitly a composition of two seeds. The architectural delta from using the two seeds independently: the schema YAML enforces the correct sequencing (brainstorm with Superpowers → proposal → specs → tasks → plan with Superpowers → apply with Superpowers worktrees + subagents → verify → archive) and redirects Superpowers' default output paths to the OpenSpec change directory, eliminating the duplicate artifact problem. Compared to taskmaster-ai (which uses prompt chaining where analyze-complexity output feeds expand-task), SuperSpec uses OpenSpec's artifact dependency graph as the chaining mechanism — a more formal and schema-validated approach.

Positioning

  • Niche: "The official integration schema for OpenSpec + Superpowers users"
  • Primary differentiator: Only meta-framework in the corpus — composes two existing seeds rather than adding new primitives
  • Credit chain: Based on JiangWay/OpenSpec schemas/sdd-plus-superpowers — the original integration; this is a repackaged standalone version

Observable failure modes

  1. Install complexity: 5+ steps requiring Homebrew, OpenSpec, Superpowers, jq — the highest installation barrier in the batch
  2. Version coupling: SuperSpec's schema instructions assume specific skill names in Superpowers. If Superpowers updates skill names (as it did in v5.1 removing named agents), the schema instructions break
  3. Silent spec format failure: The "CRITICAL" hashtag requirement (4 hashtags for scenarios) propagates from OpenSpec's parser — wrong formatting produces no error but corrupts spec merges
  4. Design optional complexity: The schema marks design.md as optional with conditional logic — agents may inconsistently produce or skip the design artifact
  5. Worktree commit pre-flight: The pre-flight step (commit openspec/changes/{id}/ before creating worktree) is a non-obvious git operation; agents may fail here if working on a detached HEAD or non-standard branch

Explicit antipatterns

From schema.yaml:

  • Using git add -A to commit change artifacts (named and forbidden — will include unrelated staged changes)
  • Running executing-plans instead of subagent-driven-development on Claude Code (the schema explicitly calls out when fallback is appropriate)
  • Skipping the retrospective for non-trivial changes (schema says "recommended")
04

Workflow

SuperSpec — Workflow

The five phases

# Phase OpenSpec command Superpowers skill invoked Artifact
1 Brainstorm /opsx:continue superpowers:brainstorming brainstorm.md + optionally design.md
2a Proposal /opsx:continue (none — extraction from brainstorm) proposal.md
2b Design (optional) /opsx:continue (none — refinement of brainstorm output) design.md
2c Specs /opsx:continue (none — structured from proposal) specs/**/*.md
2d Tasks /opsx:continue (none — breakdown from specs) tasks.md
2e Plan /opsx:continue superpowers:writing-plans plan.md
3 Apply /opsx:apply superpowers:using-git-worktreessuperpowers:subagent-driven-development source code
4 Verify /opsx:verify openspec-verify-change verify.md
5 Archive /opsx:archive superpowers:finishing-a-development-branch merged specs + archived change

Step-by-step flow

/opsx:new my-feature   # Start change
/opsx:continue         # → brainstorm (Superpowers brainstorming skill)
/opsx:continue         # → proposal
/opsx:continue         # → design (optional)
/opsx:continue         # → specs
/opsx:continue         # → tasks
/opsx:continue         # → plan (Superpowers writing-plans skill)
/opsx:apply            # Worktree + subagent-driven TDD
/opsx:verify           # Validate implementation
/opsx:archive          # Sync specs + finish branch

Fast-forward flow

/opsx:ff my-feature    # All planning artifacts at once
/opsx:apply
/opsx:verify
/opsx:archive

Phase-to-artifact map

Phase Artifact
brainstorm openspec/changes/{id}/brainstorm.md
proposal openspec/changes/{id}/proposal.md
design openspec/changes/{id}/design.md (optional)
specs openspec/changes/{id}/specs/{capability}/spec.md
tasks openspec/changes/{id}/tasks.md
plan openspec/changes/{id}/plan.md
apply source code in git worktree
verify openspec/changes/{id}/verify.md
archive openspec/archive/{id}/ + updated openspec/specs/
retrospective openspec/changes/{id}/retrospective.md (recommended)

Approval gates

Count: 6 (inherited from Superpowers brainstorming + OpenSpec flow)

Gate Source Type
User approves brainstorming design section by section superpowers:brainstorming freetext-clarify
User reviews proposal before advancing OpenSpec continue file-review
User confirms plan before apply OpenSpec flow file-review
Typed discard confirmation for worktree deletion superpowers:finishing-a-development-branch typed-confirm
Failing baseline tests before worktree execution superpowers:using-git-worktrees yes-no
Verify blocking issues resolved before archive openspec-verify-change yes-no

Spec format

Delta specs:

## ADDED Requirements
## MODIFIED Requirements  ← Must include full updated content
## REMOVED Requirements   ← Must include Reason + Migration
## RENAMED Requirements   ← FROM:/TO: format

Critical: Scenarios must use exactly 4 hashtags (####). Using 3 hashtags fails silently.

06

Memory Context

SuperSpec — Memory and Context

State storage

Inherits both OpenSpec's and Superpowers' file-based state:

File Source Purpose
openspec/changes/{id}/brainstorm.md SuperSpec Brainstorming output
openspec/changes/{id}/proposal.md OpenSpec Change proposal
openspec/changes/{id}/design.md OpenSpec/SuperSpec Technical design (optional)
openspec/changes/{id}/specs/*/spec.md OpenSpec Delta specifications
openspec/changes/{id}/tasks.md OpenSpec Task checklist
openspec/changes/{id}/plan.md SuperSpec Micro-task plan (Superpowers output)
openspec/changes/{id}/verify.md SuperSpec Verification report
openspec/changes/{id}/retrospective.md SuperSpec Post-completion retrospective (optional)
docs/superpowers/specs/ Superpowers (redirected) NOT used by SuperSpec (explicitly overridden)
docs/superpowers/plans/ Superpowers (redirected) NOT used by SuperSpec (explicitly overridden)
openspec/specs/{capability}/spec.md OpenSpec Living source-of-truth specs

Key memory design: output redirection

SuperSpec's schema explicitly redirects Superpowers' default output locations:

  • Brainstorming normally writes to docs/superpowers/specs/YYYY-MM-DD-<topic>-design.md
  • SuperSpec redirects to openspec/changes/{id}/brainstorm.md
  • Plans normally write to docs/superpowers/plans/YYYY-MM-DD-<feature-name>.md
  • SuperSpec redirects to openspec/changes/{id}/plan.md

This keeps all change artifacts co-located in the OpenSpec change directory rather than scattered across docs/superpowers/.

Cross-session handoff

Yes — all state is in files. The tasks.md checkboxes and verify.md state survive session restarts.

Context compaction

The Superpowers skills invoked by SuperSpec handle context compaction via Superpowers' own mechanisms (the verification-before-completion skill provides resume capability).

07

Orchestration

SuperSpec — Orchestration

Multi-agent

Yes — inherited from Superpowers' subagent-driven-development skill, which dispatches separate subagents per task.

Orchestration pattern

Hierarchical (inherited from Superpowers). During the Apply phase:

  1. Main agent creates git worktree and invokes subagent-driven-development
  2. subagent-driven-development dispatches an implementer subagent per micro-task
  3. After each task: spec reviewer subagent + code quality reviewer subagent
  4. Final: code reviewer subagent for the full implementation

Isolation mechanism

git-worktree (inherited from superpowers:using-git-worktrees). Each change gets an isolated git worktree for implementation.

Multi-model

No explicit model routing in SuperSpec's schema. Model choice is left to the AI client's defaults.

Execution mode

Interactive-loop with sequential phase progression. Each /opsx:continue advances one phase.

Prompt chaining

Yes. The schema defines an explicit dependency graph:

brainstorm → proposal → design (optional)
proposal → specs
specs + design → tasks
tasks → plan
plan → [apply] → verify

Each artifact's output is consumed as input for the next phase.

Auto-validators

Verify phase (triggered by /opsx:verify) runs 5 checks:

  1. openspec validate --all --json (structural)
  2. All tasks [x] (completion)
  3. Delta spec sync state
  4. Design/specs coherence
  5. No uncommitted code changes

Consensus mechanism

None (single-agent with Superpowers subagent review pattern, not distributed consensus).

08

Ui Cli Surface

SuperSpec — UI, CLI, and Observability

Dedicated CLI binary

None shipped by SuperSpec itself. Uses OpenSpec's CLI (openspec binary) and Superpowers' skill invocation.

Local web dashboard

None.

IDE integration

None beyond what OpenSpec and Superpowers provide for their respective tool integrations.

Observability

  • verify.md provides a structured post-implementation verification report
  • retrospective.md (optional) captures what worked, what didn't, and learnings
  • openspec validate --all --json provides machine-readable validation output
  • Approval records and progress tracking via OpenSpec's standard files

Installation complexity note

SuperSpec has the highest install complexity in the batch (multi-step wizard):

  1. Install Homebrew
  2. Install OpenSpec CLI
  3. Install Superpowers (per their docs)
  4. Install jq
  5. Run global OpenSpec config (multi-step shell commands)
  6. Run openspec init
  7. Clone SuperSpec schema (sparse clone + copy)
  8. Set schema in config

This install complexity is a real adoption barrier — the README explicitly starts with "Prerequisites: Homebrew strongly preferred" and includes a jq-based automation script to reduce friction.

Related frameworks

same archetype · same primary tool · same memory type

Claude-Flow / Ruflo ★ 55k

Eliminates single-agent context limits and sequential bottlenecks by orchestrating fault-tolerant swarms of specialized AI agents…

Hermes Agent (NousResearch) ★ 168k

Self-improving personal AI agent with closed learning loop, 7 terminal backends, and messaging gateway — not tied to any AI…

OpenCode ★ 165k

Terminal-first AI coding agent with multi-model routing, native desktop app, and a typed .opencode/ configuration system for…

OpenHands ★ 75k

Open-source AI software development platform (open-source Devin alternative) with Docker sandbox isolation, 77.6% SWE-bench…

DeerFlow ★ 70k

Long-horizon superagent that researches, codes, and creates by orchestrating parallel sub-agents with isolated contexts in Docker…

oh-my-openagent (omo) ★ 60k

Multi-provider AI agent orchestration for OpenCode: escape vendor lock-in by routing Sisyphus (Claude/Kimi/GLM) and Hephaestus…