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.
- package/.skills/execute-branch/SKILL.md +102 -0
- package/.skills/execute-pick-spec/SKILL.md +162 -0
- package/.skills/execute-review/SKILL.md +161 -0
- package/.skills/execute-subagent/SKILL.md +149 -0
- package/.skills/execute-tdd/SKILL.md +168 -0
- package/.skills/plan-discuss/SKILL.md +147 -0
- package/.skills/plan-spec/SKILL.md +193 -0
- package/.skills/ship/SKILL.md +150 -0
- package/.skills/skill-creator/SKILL.md +64 -0
- package/.skills/techstack/SKILL.md +522 -0
- package/.skills/verify-tests/SKILL.md +153 -0
- package/.skills/verify-wiki/SKILL.md +180 -0
- package/AGENTS.md +38 -0
- package/CLAUDE.md +44 -0
- package/GEMINI.md +9 -0
- package/HOWITWORKS.md +208 -0
- package/LICENSE +21 -0
- package/README.md +303 -0
- package/bin/superspecs.js +60 -0
- package/package.json +52 -0
- package/setup.sh +111 -0
|
@@ -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.
|