superspecs 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,180 @@
1
+ ---
2
+ name: verify-wiki
3
+ description: Distill a completed, verified feature into the project wiki. Architecture decisions, patterns, trade-offs, gotchas. The knowledge that should outlive this session. Triggers on /wiki, "import to wiki", "document the feature". Runs after /check-tests passes.
4
+ slash_command: wiki
5
+ phase: "3.2 — Verify › Wiki Import"
6
+ ---
7
+
8
+ # Skill: verify-wiki
9
+
10
+ You are distilling the completed feature into the living project wiki.
11
+
12
+ The feature works. The tests pass. Now you extract the knowledge that should survive beyond this session — so future planning, future features, and future sessions start informed.
13
+
14
+ ## What to distill (and what not to)
15
+
16
+ **Distill:**
17
+ - Architecture decisions (what was chosen and why)
18
+ - Patterns discovered or established
19
+ - Trade-offs made (what was given up, what was gained)
20
+ - Gotchas (things harder than expected + how they were solved)
21
+ - Key interfaces / contracts / data shapes
22
+ - Open questions deferred to future work
23
+
24
+ **Do NOT copy:**
25
+ - Full code listings (reference file paths instead)
26
+ - Task checklists or execution logs
27
+ - The full spec (it lives in `superspec/specs/`)
28
+
29
+ ## Steps
30
+
31
+ ### 1. Gather the source material
32
+
33
+ Read:
34
+ - `superspec/specs/<slug>/DISCUSS.md`
35
+ - `superspec/specs/<slug>/spec.md`
36
+ - `superspec/phases/<slug>-execute/review-log.md`
37
+ - The implementation itself (key files touched)
38
+
39
+ ### 2. Determine wiki structure
40
+
41
+ Check `superspec/wiki/_index.md`. Identify:
42
+ - Which domain folder this belongs in (create one if needed)
43
+ - Whether any existing pages should be updated vs. new pages created
44
+
45
+ Domain examples: `auth/`, `api/`, `data/`, `ui/`, `infra/`, `patterns/`, `decisions/`
46
+
47
+ ### 3. Write wiki pages
48
+
49
+ For each meaningful knowledge unit:
50
+
51
+ ```markdown
52
+ ---
53
+ title: <Page Title>
54
+ tags: [<domain>, <feature-slug>, <topic-tags>]
55
+ spec: superspec/specs/<slug>/spec.md
56
+ created: <date>
57
+ updated: <date>
58
+ sources: [<slug>]
59
+ ---
60
+
61
+ # <Page Title>
62
+
63
+ ## Summary
64
+ 1–2 sentences: what this is and why it exists in the project.
65
+
66
+ ## Context
67
+ When and why this was built. What problem it solves.
68
+
69
+ ## Key Decisions
70
+
71
+ ### <Decision Topic>
72
+ **Chose:** <X>
73
+ **Over:** <Y>
74
+ **Because:** <reason>
75
+ **Trade-off:** <what was given up>
76
+
77
+ ### <Decision Topic>
78
+ ...
79
+
80
+ ## Patterns
81
+
82
+ ### <Pattern Name>
83
+ <Description>
84
+
85
+ ```<lang>
86
+ // Short illustrative example
87
+ <example>
88
+ ```
89
+
90
+ ## Gotchas
91
+
92
+ - **<Problem>:** <how it manifested and what resolved it>
93
+
94
+ ## Interface / Contract (if applicable)
95
+
96
+ <Key API shape, data model, event format — whatever future code needs to know>
97
+
98
+ ## Open Questions
99
+
100
+ - [ ] <Unresolved question deferred to future work>
101
+
102
+ ## Related
103
+ - [[<wikilink>]] — <what it covers>
104
+ - `<path/to/key/file>` — <what it does>
105
+ ```
106
+
107
+ ### 4. Update the wiki index
108
+
109
+ Update `superspec/wiki/_index.md`:
110
+
111
+ ```markdown
112
+ ## Domains
113
+
114
+ - [[auth/]] — Authentication & authorization
115
+ - [[<new-domain>/]] — <description>
116
+
117
+ ## Recent Updates
118
+
119
+ - <date>: [[<domain>/<page>]] — <brief description> (from `<slug>`)
120
+ ```
121
+
122
+ ### 5. Update the manifest
123
+
124
+ Update `superspec/wiki/_manifest.json`:
125
+
126
+ ```json
127
+ {
128
+ "sources": [
129
+ {
130
+ "slug": "<slug>",
131
+ "ingested_at": "<ISO timestamp>",
132
+ "pages_created": ["<domain>/<page>"],
133
+ "pages_updated": ["<domain>/<existing-page>"]
134
+ }
135
+ ]
136
+ }
137
+ ```
138
+
139
+ ### 6. Cross-link
140
+
141
+ After writing all pages:
142
+ - Scan existing wiki pages for unlinked mentions of new page topics
143
+ - Add `[[wikilinks]]` where relevant
144
+ - Ensure the new pages link back to related existing pages
145
+
146
+ ### 7. Update spec status
147
+
148
+ Update `superspec/specs/<slug>/status.md`:
149
+
150
+ ```markdown
151
+ ## Wiki Pages
152
+ - [[superspec/wiki/<domain>/<page>]] — <what it covers>
153
+
154
+ ## Phase
155
+ 3.2 — Verify › Wiki Import ✅
156
+ ```
157
+
158
+ ### 8. Handoff
159
+
160
+ ```
161
+ Wiki import complete: <slug>
162
+
163
+ Pages created: X
164
+ Pages updated: Y
165
+
166
+ superspec/wiki/
167
+ ├── <domain>/
168
+ │ ├── <page1>.md (new)
169
+ │ └── <page2>.md (updated)
170
+ └── _index.md (updated)
171
+
172
+ Next: /ship <slug>
173
+ ```
174
+
175
+ ## Output
176
+
177
+ - New/updated pages in `superspec/wiki/<domain>/`
178
+ - Updated `superspec/wiki/_index.md`
179
+ - Updated `superspec/wiki/_manifest.json`
180
+ - Updated `superspec/specs/<slug>/status.md`
package/AGENTS.md ADDED
@@ -0,0 +1,38 @@
1
+ # SuperSpecs — Agent Bootstrap
2
+
3
+ SuperSpecs: spec-driven planning + parallel TDD execution + wiki memory.
4
+
5
+ ## Lifecycle (always in order)
6
+
7
+ **Phase 0 — Setup**
8
+ - `/techstack` — questionnaire: define stack, get skill & library recommendations, save to wiki
9
+
10
+ **Phase 1 — Plan**
11
+ - `/discuss` — capture decisions before planning
12
+ - `/spec` — write spec (fits 200k context window)
13
+
14
+ **Phase 2 — Execute**
15
+ - `/pick-spec` — validate spec, check context fit
16
+ - `/branch` — create branch/worktree
17
+ - `/subagent` — fresh subagent per task, two-stage review
18
+ - `/tdd` — RED-GREEN-REFACTOR, no exceptions
19
+ - `/code-review` — critical issues block progress
20
+
21
+ **Phase 3 — Verify**
22
+ - `/check-tests` — full suite, every scenario covered
23
+ - `/wiki` — distill to knowledge base
24
+
25
+ **Phase 4 — Ship**
26
+ - `/ship` — PR, archive, next cycle
27
+
28
+ ## Rules
29
+ - No implementation code before a failing test
30
+ - Critical review findings block all progress
31
+ - Spec must fit a fresh 200k context window
32
+ - Every shipped feature → wiki page
33
+
34
+ ## Paths
35
+ - `superspec/specs/` — specs + DISCUSS.md files
36
+ - `superspec/phases/` — execution working dirs
37
+ - `superspec/wiki/` — knowledge base
38
+ - `.skills/` — skill definitions
package/CLAUDE.md ADDED
@@ -0,0 +1,44 @@
1
+ # SuperSpecs — Claude Code
2
+
3
+ You have SuperSpecs installed. Four phases, always in order.
4
+
5
+ ## The Lifecycle
6
+
7
+ ```
8
+ PLAN → EXECUTE → VERIFY → SHIP
9
+ ```
10
+
11
+ ### Phase 1: Plan
12
+ 1. `/discuss` — Capture decisions, goals, non-goals, constraints BEFORE any spec is written
13
+ 2. `/spec` — Write the spec (SHALL requirements + GIVEN/WHEN/THEN scenarios)
14
+
15
+ **Exit gate:** Spec + context fits a fresh 200k context window. Too big = decompose.
16
+
17
+ ### Phase 2: Execute
18
+ 3. `/pick-spec` — Confirm spec is complete and context-window-fit
19
+ 4. `/branch` — Create git branch or worktree (one per spec)
20
+ 5. `/subagent` — Dispatch fresh subagent per task; two-stage review per task
21
+ 6. `/tdd` — RED → GREEN → REFACTOR. Write failing test. Watch it fail. Write minimal code. Watch it pass. Commit. Delete any code written before tests.
22
+ 7. `/code-review` — Runs between tasks. Critical issues BLOCK progress.
23
+
24
+ ### Phase 3: Verify
25
+ 8. `/check-tests` — Full suite. Every spec scenario must have a passing test.
26
+ 9. `/wiki` — Distill to knowledge base.
27
+
28
+ ### Phase 4: Ship
29
+ 10. `/ship` — PR + changelog + archive + start next cycle.
30
+
31
+ ## Hard Rules
32
+
33
+ - Never write implementation code before a failing test exists
34
+ - Never proceed past a Critical code review finding
35
+ - Never skip `/discuss` — decisions captured late are decisions lost
36
+ - Never declare done without `/check-tests` passing
37
+ - Every shipped feature gets a wiki page
38
+
39
+ ## Paths
40
+
41
+ - `superspec/specs/` — Specs and discussion docs
42
+ - `superspec/phases/` — Active execution working dirs
43
+ - `superspec/wiki/` — Living knowledge base
44
+ - `.skills/` — Skill definitions
package/GEMINI.md ADDED
@@ -0,0 +1,9 @@
1
+ # SuperSpecs — Gemini CLI Bootstrap
2
+
3
+ SuperSpecs is a unified development framework: spec-driven planning + TDD implementation + living wiki memory.
4
+
5
+ Follow the SuperSpecs lifecycle for every feature. Skills are in `.skills/` and `~/.gemini/skills/superspecs/`.
6
+
7
+ Lifecycle: `/spec:plan` → `/spec:propose` → `/spec:implement` → `/spec:review` → `/spec:wiki`
8
+
9
+ Query before building: `/spec:query <topic>`
package/HOWITWORKS.md ADDED
@@ -0,0 +1,208 @@
1
+ # How SuperSpecs Works
2
+
3
+ An explanation of the mechanics behind the framework — how skills are discovered, how agents load instructions, and how the four-phase lifecycle runs.
4
+
5
+ ---
6
+
7
+ ## The Core Idea
8
+
9
+ AI coding agents (Claude Code, Cursor, Copilot, OpenCode, Gemini CLI, Codex, Windsurf) are instruction-followers. They do not have an opinion about _how_ to develop software — they follow whatever guidance is in their context. SuperSpecs exploits this by injecting a structured, opinionated workflow into every agent's context before any development begins.
10
+
11
+ The result: every agent on every project follows the same four-phase lifecycle — Plan, Execute, Verify, Ship — without any custom integration code.
12
+
13
+ ---
14
+
15
+ ## Skills
16
+
17
+ A **skill** is a Markdown file (`SKILL.md`) that contains step-by-step instructions for one phase of the workflow. Skills are the only real source code in the framework.
18
+
19
+ ```
20
+ .skills/
21
+ └── execute-tdd/
22
+ └── SKILL.md ← plain Markdown, no code
23
+ ```
24
+
25
+ Each `SKILL.md` starts with a YAML frontmatter block:
26
+
27
+ ```yaml
28
+ ---
29
+ name: TDD Execution
30
+ description: Enforce RED → GREEN → REFACTOR with no exceptions
31
+ slash_command: /tdd
32
+ phase: "2.4"
33
+ ---
34
+ ```
35
+
36
+ The rest of the file is a detailed, imperative instruction set written for the agent to follow when that slash command is invoked.
37
+
38
+ ---
39
+
40
+ ## Skill Discovery — How Agents Find Skills
41
+
42
+ Each AI coding tool has a designated directory it scans for skills at startup. `setup.sh` symlinks every `SKILL.md` into each of those directories:
43
+
44
+ ```
45
+ ~/.claude/skills/execute-tdd.md → .skills/execute-tdd/SKILL.md
46
+ ~/.agents/skills/execute-tdd.md → .skills/execute-tdd/SKILL.md
47
+ ~/.codex/skills/execute-tdd.md → .skills/execute-tdd/SKILL.md
48
+ # ... same for every agent
49
+ ```
50
+
51
+ When an agent starts, it reads its skills directory and registers each file as an available skill. The agent now knows about `/tdd`, `/spec`, `/ship`, and all the others — before any user message is sent.
52
+
53
+ ```
54
+ Agent startup
55
+
56
+
57
+ Read ~/.claude/skills/*.md
58
+
59
+
60
+ Register skill: /discuss, /spec, /pick-spec, /branch,
61
+ /subagent, /tdd, /code-review,
62
+ /check-tests, /wiki, /ship
63
+
64
+
65
+ Agent is ready — all commands available
66
+ ```
67
+
68
+ ---
69
+
70
+ ## Bootstrap Files
71
+
72
+ Beyond skills, each agent also gets a **bootstrap file** that is loaded at the start of every session. These prime the agent with the lifecycle summary so it behaves correctly even before a slash command is issued.
73
+
74
+ | File | Agent | Mechanism |
75
+ |---|---|---|
76
+ | `CLAUDE.md` | Claude Code | Auto-read at session start |
77
+ | `AGENTS.md` | OpenCode / Aider / Codex | Auto-read at session start |
78
+ | `GEMINI.md` | Gemini CLI | Auto-read at session start |
79
+ | `.cursor/rules/superspecs.mdc` | Cursor | Always-on rule (`alwaysApply: true`) |
80
+ | `.windsurf/rules/superspecs.md` | Windsurf | Always-on rule |
81
+ | `.github/copilot-instructions.md` | GitHub Copilot | Workspace instructions |
82
+
83
+ Bootstrap files are short — they contain the lifecycle diagram, the slash command table, the four hard rules, and the key directory paths. They fit comfortably in the initial context window and cost negligible tokens.
84
+
85
+ ---
86
+
87
+ ## The Four-Phase Lifecycle
88
+
89
+ ### Phase 1 — Plan
90
+
91
+ **Goal:** Produce a spec that fits a fresh 200k-token context window.
92
+
93
+ ```
94
+ /discuss → DISCUSS.md (decisions, constraints, non-goals)
95
+ /spec → spec.md (SHALL requirements + GIVEN/WHEN/THEN scenarios)
96
+ tasks.md (implementation task list)
97
+ status.md (phase tracker)
98
+ ```
99
+
100
+ The 200k window constraint is deliberate: any executor (subagent, fresh session, different agent) must be able to pick up the spec and work from it without needing prior chat history. If a spec is too large to fit, it is decomposed into smaller specs.
101
+
102
+ ### Phase 2 — Execute
103
+
104
+ **Goal:** Implement the spec in parallel using isolated subagents, with TDD enforced at every step.
105
+
106
+ ```
107
+ /pick-spec → Validates spec completeness; creates phases/<slug>-execute/plan.md
108
+ /branch → git branch or worktree; one branch per spec
109
+ /subagent → Fresh subagent per task; wave-based dispatch; human checkpoints
110
+ /tdd → RED (failing test) → GREEN (minimal code) → REFACTOR → commit
111
+ /code-review → Spec compliance then code quality; Critical findings block progress
112
+ ```
113
+
114
+ Each subagent receives: the spec, its task, and nothing else. No shared state. No reliance on context from other agents. This is what makes parallel execution safe.
115
+
116
+ ### Phase 3 — Verify
117
+
118
+ **Goal:** Confirm the implementation matches the spec and the knowledge is preserved.
119
+
120
+ ```
121
+ /check-tests → Full suite run; every spec scenario covered by a test; no skips
122
+ /wiki → Distill to superspec/wiki/<domain>/<topic>.md
123
+ ```
124
+
125
+ The wiki is a living knowledge base — architecture decisions, patterns, trade-offs, gotchas. It survives after the session ends and informs future planning.
126
+
127
+ ### Phase 4 — Ship
128
+
129
+ **Goal:** Merge and close the loop.
130
+
131
+ ```
132
+ /ship → PR creation; changelog entry; phase directory archived; spec marked complete
133
+ ```
134
+
135
+ After `/ship`, the cycle resets: `/pick-spec` for the next item.
136
+
137
+ ---
138
+
139
+ ## The `superspec/` Directory
140
+
141
+ All runtime artifacts live under `superspec/`:
142
+
143
+ ```
144
+ superspec/
145
+ ├── specs/
146
+ │ └── <slug>/
147
+ │ ├── DISCUSS.md ← pre-planning decisions
148
+ │ ├── spec.md ← SHALL requirements + scenarios
149
+ │ ├── tasks.md ← task list for /subagent
150
+ │ └── status.md ← phase tracker + checklist
151
+
152
+ ├── phases/
153
+ │ └── <slug>-execute/
154
+ │ ├── plan.md ← decomposed execution plan
155
+ │ ├── review-log.md ← code review history
156
+ │ └── wave-*.md ← parallel execution waves
157
+
158
+ ├── archive/
159
+ │ └── <slug>-execute/ ← moved here after /ship
160
+
161
+ └── wiki/
162
+ ├── _index.md ← domain listing + recent updates
163
+ ├── _manifest.json ← ingestion log
164
+ └── <domain>/
165
+ └── <topic>.md ← one page per shipped feature
166
+ ```
167
+
168
+ `specs/` is permanent — specifications are never deleted, only marked complete in `status.md`.
169
+
170
+ `phases/` is ephemeral — working directories are moved to `archive/` after shipping.
171
+
172
+ `wiki/` grows continuously — every shipped feature adds at least one page.
173
+
174
+ ---
175
+
176
+ ## The Four Hard Rules
177
+
178
+ These are enforced by the skills and bootstrap files. Agents are instructed to refuse to continue if any rule is violated.
179
+
180
+ | Rule | Enforcement |
181
+ |---|---|
182
+ | No implementation code before a failing test | `/tdd` deletes code written before tests |
183
+ | Critical code-review findings block all progress | `/code-review` reports severity; Critical = hard stop |
184
+ | Spec must fit a fresh 200k-token context window | `/spec` and `/pick-spec` both check this |
185
+ | Every shipped feature → wiki page | `/ship` requires `/wiki` to have run first |
186
+
187
+ ---
188
+
189
+ ## The CLI
190
+
191
+ `bin/superspecs.js` is a thin Node.js wrapper with a single command:
192
+
193
+ ```bash
194
+ superspecs install # runs setup.sh
195
+ ```
196
+
197
+ It exists so the framework can be distributed and installed via npm. All real logic is in `setup.sh` and the `.skills/` Markdown files.
198
+
199
+ ---
200
+
201
+ ## Creating a New Skill
202
+
203
+ The `skill-creator` meta-skill documents the process. In short:
204
+
205
+ 1. Create `.skills/<name>/SKILL.md` with YAML frontmatter (`name`, `description`, `slash_command`, `phase`)
206
+ 2. Write the step-by-step instructions in the body
207
+ 3. Run `bash setup.sh` to symlink the new skill into all agent directories
208
+ 4. Open your agent and invoke the new slash command to test it
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 SuperSpecs Contributors
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.