superspecs 0.1.0 → 0.2.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/cross-linker/SKILL.md +119 -0
- package/.skills/design-import/SKILL.md +289 -0
- package/.skills/execute-subagent/SKILL.md +31 -11
- package/.skills/execute-tdd/SKILL.md +5 -3
- package/.skills/plan-discuss/SKILL.md +14 -5
- package/.skills/plan-grill/SKILL.md +209 -0
- package/.skills/plan-spec/SKILL.md +34 -6
- package/.skills/tag-taxonomy/SKILL.md +141 -0
- package/.skills/techstack/SKILL.md +7 -5
- package/.skills/verify-wiki/SKILL.md +174 -35
- package/.skills/wiki-capture/SKILL.md +136 -0
- package/.skills/wiki-lint/SKILL.md +245 -0
- package/.skills/wiki-query/SKILL.md +157 -0
- package/.skills/wiki-rebuild/SKILL.md +163 -0
- package/.skills/wiki-status/SKILL.md +156 -0
- package/AGENTS.md +42 -13
- package/HOWITWORKS.md +151 -49
- package/README.md +375 -62
- package/package.json +1 -1
- package/setup.sh +481 -37
package/README.md
CHANGED
|
@@ -15,6 +15,7 @@
|
|
|
15
15
|
|
|
16
16
|
**Spec-driven planning. Parallel TDD execution. A wiki that never forgets.**
|
|
17
17
|
|
|
18
|
+
[](https://www.npmjs.com/package/superspecs)
|
|
18
19
|
[](LICENSE)
|
|
19
20
|
[]()
|
|
20
21
|
|
|
@@ -62,7 +63,8 @@ The result: five AI agents running in parallel, each with a fresh context, each
|
|
|
62
63
|
│ Every requirement is testable. │
|
|
63
64
|
│ The spec fits a fresh 200k context window. │
|
|
64
65
|
├─────────────────────────────────────────────────────┤
|
|
65
|
-
│ /
|
|
66
|
+
│ /design-import <path> (optional, see §1.0) │
|
|
67
|
+
│ /discuss → /spec → /grill │
|
|
66
68
|
└─────────────────────────────────────────────────────┘
|
|
67
69
|
│
|
|
68
70
|
▼
|
|
@@ -74,7 +76,7 @@ The result: five AI agents running in parallel, each with a fresh context, each
|
|
|
74
76
|
│ Critical findings block all progress. │
|
|
75
77
|
├─────────────────────────────────────────────────────┤
|
|
76
78
|
│ /pick-spec → /branch → /subagent │
|
|
77
|
-
│
|
|
79
|
+
│ (TDD per task) → /code-review │
|
|
78
80
|
└─────────────────────────────────────────────────────┘
|
|
79
81
|
│
|
|
80
82
|
▼
|
|
@@ -105,7 +107,7 @@ The result: five AI agents running in parallel, each with a fresh context, each
|
|
|
105
107
|
|
|
106
108
|
Define the project's tech stack through a guided questionnaire. Get concrete recommendations for specialist skills to install, ecosystem libraries per domain, and a production-readiness checklist tailored to your stack. Also fetches and filters the [awesome-skills.com](https://awesome-skills.com/) community directory live — surfacing the highest-starred, best-matched skills for your stack, with a curated fallback if unavailable. Saves a permanent profile to the wiki that every future session can reference.
|
|
107
109
|
|
|
108
|
-
**Skills:** `/techstack`
|
|
110
|
+
**Skills:** `/superspecs:techstack`
|
|
109
111
|
|
|
110
112
|
---
|
|
111
113
|
|
|
@@ -113,17 +115,60 @@ Define the project's tech stack through a guided questionnaire. Get concrete rec
|
|
|
113
115
|
|
|
114
116
|
Before any code exists, the plan must fit in a fresh 200k-token context window. This discipline ensures every executor starts clean — no partial history, no reconstructed intent.
|
|
115
117
|
|
|
116
|
-
### 1.
|
|
118
|
+
### 1.0 Design Import (`/superspecs:design-import`) — optional
|
|
119
|
+
|
|
120
|
+
> **Optional enrichment.** Run before `/discuss` when you have a DesignOS export. Creates `design-context.md` that carries design constraints, data shapes, milestone structure, and test scaffolding. The normal `/discuss` + `/spec` flow still runs — it just reads `design-context.md` alongside `DISCUSS.md`.
|
|
121
|
+
|
|
122
|
+
A DesignOS export is a structured product package: product overview, incremental milestones, test instructions, TypeScript types, design system tokens, and component screenshots. This skill reads the export and extracts the planning-relevant material into a single context file.
|
|
123
|
+
|
|
124
|
+
**What gets extracted into `design-context.md`:**
|
|
125
|
+
|
|
126
|
+
| DesignOS file | Extracted as |
|
|
127
|
+
|--------------|--------------|
|
|
128
|
+
| `product-overview.md` | Product overview + open questions for `/discuss` |
|
|
129
|
+
| `incremental/01-shell.md` … `NN-section.md` | Milestone → wave mapping for `tasks.md` |
|
|
130
|
+
| `test-instructions/tests.md` | Test scaffolding → GIVEN/WHEN/THEN starting points for `/spec` |
|
|
131
|
+
| `data-shape/types.ts` | Data contract → Interface section in `/spec` |
|
|
132
|
+
| `design-system/` | Locked constraint → NFRs + Out of Scope in `/spec` |
|
|
133
|
+
| `components/screenshots/` | Preserved in `wiki/raw/design-system/screenshots/` (visual refs for subagents) |
|
|
134
|
+
|
|
135
|
+
**Build order is sequential:** Each DesignOS milestone maps to one execution wave. Wave N always depends on Wave N-1. The shell milestone (01) is always Wave 1 — it installs design tokens and structure that all later sections depend on.
|
|
136
|
+
|
|
137
|
+
**Output:** `design-context.md` (or enriched `DISCUSS.md` if one already exists) + design assets in `wiki/raw/design-system/`.
|
|
138
|
+
|
|
139
|
+
**Next:** `/superspecs:discuss` — the discussion reads both `design-context.md` and any existing context. Then `/superspecs:spec` writes the spec from both sources. Then `/superspecs:grill`.
|
|
140
|
+
|
|
141
|
+
---
|
|
142
|
+
|
|
143
|
+
### 1.1 Discuss (`/superspecs:discuss`)
|
|
117
144
|
|
|
118
145
|
Capture implementation decisions _before_ anything is planned. Goals, constraints, open questions, explicit non-goals. One question at a time, conversational. The output is a `DISCUSS.md` — the foundation for the spec.
|
|
119
146
|
|
|
120
|
-
### 1.2 Spec (`/spec`)
|
|
147
|
+
### 1.2 Spec (`/superspecs:spec`)
|
|
121
148
|
|
|
122
149
|
Write an OpenSpec-style spec from the discussion. Requirements expressed as SHALL statements with GIVEN/WHEN/THEN scenarios. Lives in `superspec/specs/<slug>/spec.md`.
|
|
123
150
|
|
|
151
|
+
If `design-context.md` exists alongside `DISCUSS.md`, the spec reads both: `DISCUSS.md` carries human decisions; `design-context.md` carries design constraints. Design system constraints land in Non-Functional Requirements, data contract types in an Interface section, milestones drive the wave structure in `tasks.md`, and test scaffolding becomes scenario starting points.
|
|
152
|
+
|
|
124
153
|
**Exit criterion:** spec + context fits a fresh 200k-token window. If it doesn't, decompose into smaller specs.
|
|
125
154
|
|
|
126
|
-
|
|
155
|
+
### 1.3 Grill (`/superspecs:grill`)
|
|
156
|
+
|
|
157
|
+
A relentless interview to stress-test the spec before any code is written. The agent walks every branch of the decision tree — one question at a time, always providing a recommended answer.
|
|
158
|
+
|
|
159
|
+
The grill validates the spec against two sources of truth:
|
|
160
|
+
|
|
161
|
+
- **Wiki** — does the spec contradict established patterns, decisions, or interfaces already documented?
|
|
162
|
+
- **Techstack** — does the spec assume libraries, approaches, or patterns that conflict with the defined stack?
|
|
163
|
+
|
|
164
|
+
If the codebase can answer a question, the agent explores it instead of asking. The session ends with a verdict: **READY** (proceed to `/pick-spec`) or **NEEDS REVISION** (spec must be updated and re-grilled).
|
|
165
|
+
|
|
166
|
+
Output: `superspec/specs/<slug>/GRILL.md` + any required updates to `spec.md`.
|
|
167
|
+
|
|
168
|
+
**Exit criterion:** verdict is READY. A spec that hasn't been grilled does not proceed to execution.
|
|
169
|
+
|
|
170
|
+
**Skills:** `/superspecs:discuss` → `/superspecs:spec` → `/superspecs:grill`
|
|
171
|
+
**With DesignOS export:** `/superspecs:design-import <path>` → `/superspecs:discuss` → `/superspecs:spec` → `/superspecs:grill`
|
|
127
172
|
|
|
128
173
|
---
|
|
129
174
|
|
|
@@ -131,32 +176,32 @@ Write an OpenSpec-style spec from the discussion. Requirements expressed as SHAL
|
|
|
131
176
|
|
|
132
177
|
Parallel execution. Each subagent gets a clean context. No shared state between tasks. No "do you remember what we talked about earlier" — the spec and the wiki carry everything.
|
|
133
178
|
|
|
134
|
-
### 2.1 Pick Spec (`/pick-spec`)
|
|
179
|
+
### 2.1 Pick Spec (`/superspecs:pick-spec`)
|
|
135
180
|
|
|
136
181
|
Choose the next spec to execute. Check dependencies, verify the spec is complete, confirm it fits a fresh context window.
|
|
137
182
|
|
|
138
|
-
### 2.2 Branch (`/branch`)
|
|
183
|
+
### 2.2 Branch (`/superspecs:branch`)
|
|
139
184
|
|
|
140
185
|
Create a git branch or worktree for isolated execution. One branch per spec.
|
|
141
186
|
|
|
142
|
-
### 2.3 Subagent Development (`/subagent`)
|
|
187
|
+
### 2.3 Subagent Development (`/superspecs:subagent`)
|
|
143
188
|
|
|
144
|
-
Dispatches a fresh subagent per task. Each gets: the spec, the task, and nothing else. Two-stage review
|
|
189
|
+
Dispatches a fresh subagent per task. Each gets: the spec, the task, and nothing else. **TDD runs inside each task** — every subagent follows RED → GREEN → REFACTOR before a task is considered done. Two-stage review after each task: spec compliance first, code quality second. Supports wave mode with human checkpoints between waves, or batch mode.
|
|
145
190
|
|
|
146
|
-
|
|
191
|
+
The cycle per task:
|
|
192
|
+
1. Write a failing test — watch it fail for the right reason (RED)
|
|
193
|
+
2. Write minimal code — watch it pass (GREEN)
|
|
194
|
+
3. Refactor — clean up while tests stay green (REFACTOR)
|
|
195
|
+
4. Commit
|
|
196
|
+
5. Code review (spec compliance → code quality)
|
|
147
197
|
|
|
148
|
-
|
|
198
|
+
Code written before a failing test gets deleted.
|
|
149
199
|
|
|
150
|
-
|
|
151
|
-
2. Write minimal code — watch it pass
|
|
152
|
-
3. Commit
|
|
153
|
-
4. Code written before a failing test gets deleted
|
|
154
|
-
|
|
155
|
-
### 2.5 Code Review (`/code-review`)
|
|
200
|
+
### 2.4 Code Review (`/superspecs:code-review`)
|
|
156
201
|
|
|
157
202
|
Runs between tasks. Reviews against the spec. Reports issues by severity. **Critical issues block all progress** — nothing moves forward until resolved.
|
|
158
203
|
|
|
159
|
-
**Skills:** `/pick-spec` → `/branch` → `/subagent`
|
|
204
|
+
**Skills:** `/superspecs:pick-spec` → `/superspecs:branch` → `/superspecs:subagent` (with TDD per task) → `/superspecs:code-review`
|
|
160
205
|
|
|
161
206
|
---
|
|
162
207
|
|
|
@@ -164,57 +209,301 @@ Runs between tasks. Reviews against the spec. Reports issues by severity. **Crit
|
|
|
164
209
|
|
|
165
210
|
Walk through what was built. Diagnose and fix before declaring done. Then distill everything learned into the wiki — so the next session inherits the knowledge.
|
|
166
211
|
|
|
167
|
-
### 3.1 Check Tests (`/check-tests`)
|
|
212
|
+
### 3.1 Check Tests (`/superspecs:check-tests`)
|
|
168
213
|
|
|
169
214
|
Full test suite. Coverage check. Every spec scenario verified by a test. No passing with skipped or pending tests.
|
|
170
215
|
|
|
171
|
-
### 3.2 Wiki Import (`/wiki`)
|
|
216
|
+
### 3.2 Wiki Import (`/superspecs:wiki`)
|
|
217
|
+
|
|
218
|
+
Compile the implemented feature into the project wiki — architecture decisions, patterns, trade-offs, gotchas. The wiki is the memory that outlives the session. See [The Wiki](#the-wiki) for the full architecture, ingest process, query, and lint operations.
|
|
219
|
+
|
|
220
|
+
**Skills:** `/superspecs:check-tests` → `/superspecs:wiki`
|
|
172
221
|
|
|
173
|
-
|
|
222
|
+
### Wiki Operations (any time)
|
|
174
223
|
|
|
175
|
-
|
|
224
|
+
| Command | What it does |
|
|
225
|
+
|---------|-------------|
|
|
226
|
+
| **`/superspecs:wiki-query`** | Query the compiled wiki using tiered retrieval; optionally file the answer back as a new page |
|
|
227
|
+
| **`/superspecs:wiki-capture`** | Save session findings now — `--quick` stages to `raw/`, `--full` ingests directly |
|
|
228
|
+
| **`/superspecs:wiki-lint`** | Health check: orphans, broken wikilinks, contradictions, stale file refs |
|
|
229
|
+
| **`/superspecs:cross-linker`** | Auto-insert `[[wikilinks]]` for unlinked mentions across the vault |
|
|
230
|
+
| **`/superspecs:wiki-status`** | Vault dashboard: page count, hub pages, tag distribution, provenance, pending sources |
|
|
231
|
+
| **`/superspecs:tag-taxonomy`** | Canonical tag vocabulary; audit and normalize tags vault-wide |
|
|
232
|
+
| **`/superspecs:wiki-rebuild`** | Archive + rebuild vault from scratch; restore from snapshot |
|
|
176
233
|
|
|
177
234
|
---
|
|
178
235
|
|
|
179
236
|
## Phase 4 — Ship
|
|
180
237
|
|
|
181
|
-
### Ship (`/ship`)
|
|
238
|
+
### Ship (`/superspecs:ship`)
|
|
182
239
|
|
|
183
240
|
Create the PR. Write a changelog entry. Archive the phase directory. Mark the spec complete. Trigger the next cycle.
|
|
184
241
|
|
|
185
|
-
**Skills:** `/ship`
|
|
242
|
+
**Skills:** `/superspecs:ship`
|
|
186
243
|
|
|
187
244
|
---
|
|
188
245
|
|
|
189
|
-
##
|
|
246
|
+
## The Wiki
|
|
247
|
+
|
|
248
|
+
The wiki is a compiled, structured knowledge base that outlives every session. It implements the **Karpathy LLM Wiki pattern**: raw source material is compiled once into interlinked markdown pages. Future sessions query the compiled wiki — never the raw specs. Compile once, query fast. Knowledge compounds.
|
|
249
|
+
|
|
250
|
+
### Architecture
|
|
251
|
+
|
|
252
|
+
```
|
|
253
|
+
superspec/wiki/
|
|
254
|
+
├── raw/ ← you drop files here; agent reads, never edits
|
|
255
|
+
├── _meta/
|
|
256
|
+
│ └── taxonomy.md ← canonical tag vocabulary (managed by /tag-taxonomy)
|
|
257
|
+
├── _archives/ ← timestamped vault snapshots (managed by /wiki-rebuild)
|
|
258
|
+
├── Home.md ← vault home: domain table + recent updates
|
|
259
|
+
├── log.md ← append-only activity log (grep-friendly)
|
|
260
|
+
├── _manifest.json ← machine-readable ingestion history
|
|
261
|
+
├── _lint-report.md ← written by /wiki-lint
|
|
262
|
+
├── _insights.md ← written by /wiki-status (optional)
|
|
263
|
+
└── <domain>/
|
|
264
|
+
├── Home.md ← domain index
|
|
265
|
+
├── <topic-a>.md ← one page per knowledge unit
|
|
266
|
+
└── <topic-b>.md
|
|
267
|
+
```
|
|
268
|
+
|
|
269
|
+
Three layers:
|
|
270
|
+
|
|
271
|
+
| Layer | Path | Who touches it |
|
|
272
|
+
|-------|------|----------------|
|
|
273
|
+
| **Raw** (source material) | `wiki/raw/` | You drop files; agent reads only |
|
|
274
|
+
| **Compiled** (knowledge base) | `wiki/` | Agent writes on ingest/query/capture |
|
|
275
|
+
| **Schema** (operating rules) | `.skills/verify-wiki/SKILL.md` | Defines how to ingest, link, and format |
|
|
276
|
+
|
|
277
|
+
The wiki doubles as an **Obsidian vault**. Open `superspec/wiki/` in Obsidian for graph view, backlinks, tag search, and hover previews — all pre-configured by `superspecs install`.
|
|
278
|
+
|
|
279
|
+
---
|
|
280
|
+
|
|
281
|
+
### Domain Organization
|
|
282
|
+
|
|
283
|
+
Domains are **concern-centric, not feature-centric**. A page's domain describes *what the knowledge is about*, not which feature introduced it. Feature traceability lives in `spec:` frontmatter.
|
|
284
|
+
|
|
285
|
+
```
|
|
286
|
+
superspec/wiki/
|
|
287
|
+
├── patterns/ ← cross-cutting: error handling, caching, retry, testing
|
|
288
|
+
├── decisions/ ← ADRs: why X was chosen over Y
|
|
289
|
+
├── auth/ ← auth, sessions, tokens
|
|
290
|
+
├── api/ ← contracts, endpoints, versioning
|
|
291
|
+
├── data/ ← models, schemas, storage
|
|
292
|
+
├── infra/ ← deployment, CI/CD, environment
|
|
293
|
+
├── ui/ ← frontend, components, styling
|
|
294
|
+
├── techstack/ ← stack profile (managed by /techstack)
|
|
295
|
+
└── <feature-slug>/ ← only if nothing above fits
|
|
296
|
+
```
|
|
297
|
+
|
|
298
|
+
**Routing rules** (applied by `/superspecs:wiki` on ingest):
|
|
299
|
+
|
|
300
|
+
| Knowledge unit | Domain |
|
|
301
|
+
|----------------|--------|
|
|
302
|
+
| Reusable cross-cutting pattern | `patterns/` |
|
|
303
|
+
| Why X was chosen over Y | `decisions/` |
|
|
304
|
+
| Auth / sessions / tokens | `auth/` |
|
|
305
|
+
| API contract or endpoint design | `api/` |
|
|
306
|
+
| Data model or storage decision | `data/` |
|
|
307
|
+
| Infrastructure or deployment | `infra/` |
|
|
308
|
+
| Frontend / UI / styling | `ui/` |
|
|
309
|
+
| Feature-specific, doesn't fit above | `<feature-slug>/` |
|
|
310
|
+
|
|
311
|
+
**One domain per page.** If a page spans multiple concerns, split it. **One knowledge unit = one page** — merge instead of creating duplicates.
|
|
312
|
+
|
|
313
|
+
**The canonical domain list lives in `superspec/wiki/_meta/taxonomy.md`** under `## Domains`. This file is created by `superspecs install` with the core domains pre-populated. Add project-specific domains to the "Project Domains" section before creating new folders. `/superspecs:wiki-lint` detects drift — folders that exist but aren't registered in the taxonomy.
|
|
314
|
+
|
|
315
|
+
---
|
|
316
|
+
|
|
317
|
+
### Ingest — `/superspecs:wiki`
|
|
318
|
+
|
|
319
|
+
Run after every `/ship`. Compiles a completed, verified feature into the wiki.
|
|
320
|
+
|
|
321
|
+
**What it does:**
|
|
322
|
+
|
|
323
|
+
1. Reads raw source material — `DISCUSS.md`, `spec.md`, `review-log.md`, key implementation files
|
|
324
|
+
2. **Scans existing wiki pages first** — updates a page if the topic already exists, never creates duplicates
|
|
325
|
+
3. Writes new pages with full frontmatter:
|
|
326
|
+
- `summary:` — 1–2 sentence preview (used by `/wiki-query` for fast retrieval)
|
|
327
|
+
- `tags:` — from `_meta/taxonomy.md` canonical vocabulary
|
|
328
|
+
- `provenance:` — tracks what % of content is extracted vs. inferred
|
|
329
|
+
- `[[wikilinks]]` for all internal cross-references
|
|
330
|
+
4. Updates domain `Home.md` index and vault `Home.md`
|
|
331
|
+
5. Appends to `wiki/log.md`
|
|
332
|
+
6. Updates `_manifest.json`
|
|
333
|
+
|
|
334
|
+
**Provenance tracking** — every page marks claim origins:
|
|
335
|
+
- No marker = extracted directly from source material
|
|
336
|
+
- `^[inferred]` = agent synthesis, not stated verbatim
|
|
337
|
+
- `^[ambiguous]` = sources disagree or claim is uncertain
|
|
338
|
+
|
|
339
|
+
**What it distills:** architecture decisions, patterns, gotchas, key interfaces, open questions.
|
|
340
|
+
**What it does NOT copy:** full code listings, task checklists, or the spec itself.
|
|
341
|
+
|
|
342
|
+
---
|
|
343
|
+
|
|
344
|
+
### Query — `/superspecs:wiki-query`
|
|
345
|
+
|
|
346
|
+
Ask a question; get an answer synthesized from the compiled wiki using **tiered retrieval**.
|
|
347
|
+
|
|
348
|
+
```
|
|
349
|
+
"What do we know about error handling?"
|
|
350
|
+
"What was the decision on the database choice?"
|
|
351
|
+
"Find everything about the payment integration."
|
|
352
|
+
```
|
|
353
|
+
|
|
354
|
+
**Tiered retrieval — cost stays flat as the vault grows:**
|
|
355
|
+
|
|
356
|
+
1. **Phase 1 (cheap):** scan frontmatter only — `title`, `tags`, `summary:` — across all pages. Score relevance, select top 3–5 candidates
|
|
357
|
+
2. **Phase 2 (targeted):** open full body of top candidates only. Follow `[[wikilinks]]` one level deep
|
|
358
|
+
|
|
359
|
+
Say **"quick answer"** or **"just scan"** to force index-only mode (Phase 1 only).
|
|
360
|
+
|
|
361
|
+
**Key rule:** reads `wiki/` only — never `raw/`, never specs, never source code.
|
|
362
|
+
|
|
363
|
+
**Optional:** file the answer back as a new wiki page — useful for synthesized cross-domain knowledge.
|
|
364
|
+
|
|
365
|
+
---
|
|
366
|
+
|
|
367
|
+
### Lint — `/superspecs:wiki-lint`
|
|
368
|
+
|
|
369
|
+
Periodic health check. Finds structural and semantic problems.
|
|
370
|
+
|
|
371
|
+
| Check | What it finds |
|
|
372
|
+
|-------|--------------|
|
|
373
|
+
| **Orphaned pages** | Pages with no inbound `[[wikilinks]]` |
|
|
374
|
+
| **Broken wikilinks** | `[[links]]` pointing to non-existent pages |
|
|
375
|
+
| **Missing cross-links** | Page A mentions a topic with its own page B but doesn't link to it |
|
|
376
|
+
| **Contradictions** | Two pages make conflicting claims about the same decision or pattern |
|
|
377
|
+
| **Stale file refs** | Backtick paths pointing to files that no longer exist |
|
|
378
|
+
| **Missing frontmatter** | Pages missing `title`, `tags`, `summary:`, `created`, or `updated` |
|
|
379
|
+
| **Undocumented domains** | Domain folder exists but has no `Home.md` |
|
|
380
|
+
| **Domain drift** | Domain folder exists but isn't listed in `_meta/taxonomy.md` (typo, duplicate, or unregistered) |
|
|
381
|
+
|
|
382
|
+
Output: `wiki/_lint-report.md` + appended `log.md`. Auto-fixes safe issues with confirmation; contradictions always require human review.
|
|
383
|
+
|
|
384
|
+
---
|
|
385
|
+
|
|
386
|
+
### Cross-link — `/superspecs:cross-linker`
|
|
387
|
+
|
|
388
|
+
Automatically weave `[[wikilinks]]` across the vault. Run after any ingest to connect new knowledge to existing pages.
|
|
389
|
+
|
|
390
|
+
**What it does:**
|
|
391
|
+
1. Builds a map of all page titles and aliases
|
|
392
|
+
2. Scans every page body for unlinked mentions of other page titles
|
|
393
|
+
3. Inserts `[[wikilinks]]` for first occurrences only (not inside code blocks or headings)
|
|
394
|
+
4. Reports every change made
|
|
395
|
+
|
|
396
|
+
**Guards:** skips aliases shorter than 4 characters, generic English words, self-references, and anything already linked.
|
|
397
|
+
|
|
398
|
+
---
|
|
399
|
+
|
|
400
|
+
### Status — `/superspecs:wiki-status`
|
|
401
|
+
|
|
402
|
+
Dashboard of the vault's current state.
|
|
403
|
+
|
|
404
|
+
```
|
|
405
|
+
VAULT SIZE 32 pages across 6 domains
|
|
406
|
+
RECENT ACTIVITY Last ingest: 2026-06-19 (auth-flow)
|
|
407
|
+
HUB PAGES [[auth/jwt-refresh]] (12 backlinks), [[patterns/error-handling]] (9)
|
|
408
|
+
TAG DISTRIBUTION auth (14) api (11) patterns (9) ...
|
|
409
|
+
PROVENANCE Extracted: 72% Inferred: 23% Ambiguous: 5%
|
|
410
|
+
PENDING 2 specs not yet compiled, 1 raw/ file not yet ingested
|
|
411
|
+
HEALTH 3 orphans, 1 broken link (run /wiki-lint for details)
|
|
412
|
+
```
|
|
413
|
+
|
|
414
|
+
Optionally writes a full `_insights.md` to the vault.
|
|
415
|
+
|
|
416
|
+
---
|
|
417
|
+
|
|
418
|
+
### Capture — `/superspecs:wiki-capture`
|
|
419
|
+
|
|
420
|
+
Save findings from the current session before the context window resets.
|
|
421
|
+
|
|
422
|
+
- **`--quick` (default):** stages a structured draft to `wiki/raw/capture-<timestamp>.md` in under 60 seconds. The next `/wiki` run promotes it to proper pages.
|
|
423
|
+
- **`--full`:** distills directly to wiki pages following the full ingest process.
|
|
424
|
+
|
|
425
|
+
**What gets captured:** decisions made, bugs fixed and their root causes, patterns discovered, gotchas, open questions. Noise is dropped.
|
|
426
|
+
|
|
427
|
+
---
|
|
428
|
+
|
|
429
|
+
### Tag Taxonomy — `/superspecs:tag-taxonomy`
|
|
430
|
+
|
|
431
|
+
Maintain a controlled vocabulary so tags stay consistent across the vault.
|
|
432
|
+
|
|
433
|
+
- `_meta/taxonomy.md` — the canonical tag list (domain tags, topic tags, aliases)
|
|
434
|
+
- **Audit mode:** scans all pages, finds non-canonical tags, proposes normalization
|
|
435
|
+
- **Normalize mode:** applies fixes after confirmation — updates frontmatter across the vault
|
|
436
|
+
- **Init mode:** first run with no taxonomy — scans all existing tags and proposes a vocabulary
|
|
437
|
+
|
|
438
|
+
---
|
|
439
|
+
|
|
440
|
+
### Rebuild — `/superspecs:wiki-rebuild`
|
|
441
|
+
|
|
442
|
+
When the wiki has accumulated too much drift, archive and rebuild from scratch.
|
|
443
|
+
|
|
444
|
+
| Mode | What it does |
|
|
445
|
+
|------|-------------|
|
|
446
|
+
| `archive` | Snapshot current vault to `_archives/<timestamp>/` |
|
|
447
|
+
| `rebuild` | Archive + wipe compiled wiki + recompile all shipped specs + raw files |
|
|
448
|
+
| `restore <timestamp>` | Roll back to a previous archive (auto-archives current state first) |
|
|
449
|
+
| `list` | Show all available snapshots |
|
|
450
|
+
|
|
451
|
+
**Safety rules:** never touches `raw/`, `.obsidian/`, `log.md`, or `_archives/`. Always archives before any destructive operation. Always asks for confirmation.
|
|
452
|
+
|
|
453
|
+
---
|
|
454
|
+
|
|
455
|
+
### When to run each command
|
|
456
|
+
|
|
457
|
+
| When | Command |
|
|
458
|
+
|------|---------|
|
|
459
|
+
| After every `/ship` | `/superspecs:wiki <slug>` |
|
|
460
|
+
| After ingest — connect new pages | `/superspecs:cross-linker` |
|
|
461
|
+
| Before new planning cycle | `/superspecs:wiki-query "What do we know about X?"` |
|
|
462
|
+
| Before `/grill` — check existing decisions | `/superspecs:wiki-query` |
|
|
463
|
+
| Mid-session — save important findings | `/superspecs:wiki-capture` |
|
|
464
|
+
| Drop article/doc into `raw/` | `/superspecs:wiki <filename>` |
|
|
465
|
+
| Check vault health + domain drift | `/superspecs:wiki-status` |
|
|
466
|
+
| Tags getting inconsistent | `/superspecs:tag-taxonomy` |
|
|
467
|
+
| Monthly / before a release | `/superspecs:wiki-lint` |
|
|
468
|
+
| Wiki has too much drift | `/superspecs:wiki-rebuild` |
|
|
469
|
+
|
|
470
|
+
---
|
|
190
471
|
|
|
191
472
|
```bash
|
|
192
|
-
# Install
|
|
193
|
-
|
|
473
|
+
# Install globally
|
|
474
|
+
npm install -g superspecs
|
|
475
|
+
|
|
476
|
+
# Run in your project to symlink skills into all your AI agents
|
|
194
477
|
cd your-project
|
|
195
|
-
|
|
478
|
+
superspecs install
|
|
196
479
|
|
|
197
|
-
# Or
|
|
198
|
-
|
|
199
|
-
bash .superspecs/setup.sh
|
|
480
|
+
# Or without a global install
|
|
481
|
+
npx superspecs install
|
|
200
482
|
```
|
|
201
483
|
|
|
202
484
|
Then open your agent and say: **"Tell me about your superspecs"**
|
|
203
485
|
|
|
486
|
+
> **Command format by agent**
|
|
487
|
+
> - Claude Code / Cursor: `/superspecs:techstack`
|
|
488
|
+
> - OpenCode / Aider: `/superspecs-techstack`
|
|
489
|
+
|
|
490
|
+
> **Wiki as Obsidian vault** — after `superspecs install`, open `superspec/wiki/` in [Obsidian](https://obsidian.md) as a vault. Graph view, backlinks, and tag search work out of the box.
|
|
491
|
+
|
|
204
492
|
### First feature
|
|
205
493
|
|
|
206
494
|
```
|
|
207
|
-
/techstack
|
|
208
|
-
/discuss
|
|
209
|
-
/spec
|
|
210
|
-
/
|
|
211
|
-
/
|
|
212
|
-
/
|
|
213
|
-
/
|
|
214
|
-
/
|
|
215
|
-
/
|
|
216
|
-
/
|
|
217
|
-
/
|
|
495
|
+
/superspecs:techstack Define stack, get skill & library recommendations
|
|
496
|
+
/superspecs:discuss What are we building and why?
|
|
497
|
+
/superspecs:spec Write the spec
|
|
498
|
+
/superspecs:grill Stress-test spec against wiki + techstack
|
|
499
|
+
/superspecs:pick-spec Confirm it fits a clean context
|
|
500
|
+
/superspecs:branch Create worktree
|
|
501
|
+
/superspecs:subagent Start execution (TDD runs inside each task)
|
|
502
|
+
/superspecs:tdd Standalone: enforce RED-GREEN-REFACTOR outside subagent
|
|
503
|
+
/superspecs:code-review Check between tasks
|
|
504
|
+
/superspecs:check-tests Verify everything passes
|
|
505
|
+
/superspecs:wiki Distill to knowledge base
|
|
506
|
+
/superspecs:ship PR + archive
|
|
218
507
|
```
|
|
219
508
|
|
|
220
509
|
---
|
|
@@ -227,6 +516,7 @@ your-project/
|
|
|
227
516
|
│ ├── specs/ # Feature specifications
|
|
228
517
|
│ │ └── <slug>/
|
|
229
518
|
│ │ ├── DISCUSS.md # Pre-planning decisions
|
|
519
|
+
│ │ ├── design-context.md # Optional — from /design-import (DesignOS enrichment)
|
|
230
520
|
│ │ ├── spec.md # The spec (SHALL + scenarios)
|
|
231
521
|
│ │ ├── tasks.md # Implementation tasks
|
|
232
522
|
│ │ └── status.md # Phase + checklist
|
|
@@ -237,16 +527,21 @@ your-project/
|
|
|
237
527
|
│ │ ├── review-log.md # Code review history
|
|
238
528
|
│ │ └── wave-*.md # Parallel execution waves
|
|
239
529
|
│ │
|
|
240
|
-
│ └── wiki/ # Living knowledge base
|
|
241
|
-
│ ├──
|
|
242
|
-
│ ├──
|
|
530
|
+
│ └── wiki/ # Living knowledge base (Obsidian vault)
|
|
531
|
+
│ ├── raw/ # Source material — agent reads, never edits
|
|
532
|
+
│ ├── Home.md # Vault home + domain catalog
|
|
533
|
+
│ ├── log.md # Append-only activity log
|
|
534
|
+
│ ├── _manifest.json # Machine-readable ingestion history
|
|
243
535
|
│ └── <domain>/
|
|
244
|
-
│
|
|
536
|
+
│ ├── Home.md # Domain index
|
|
537
|
+
│ └── <topic>.md # One page per knowledge unit
|
|
245
538
|
│
|
|
246
539
|
├── .skills/ # SuperSpecs skills (source of truth)
|
|
540
|
+
│ ├── design-import/SKILL.md
|
|
247
541
|
│ ├── techstack/SKILL.md
|
|
248
542
|
│ ├── plan-discuss/SKILL.md
|
|
249
543
|
│ ├── plan-spec/SKILL.md
|
|
544
|
+
│ ├── plan-grill/SKILL.md
|
|
250
545
|
│ ├── execute-pick-spec/SKILL.md
|
|
251
546
|
│ ├── execute-branch/SKILL.md
|
|
252
547
|
│ ├── execute-subagent/SKILL.md
|
|
@@ -254,7 +549,15 @@ your-project/
|
|
|
254
549
|
│ ├── execute-review/SKILL.md
|
|
255
550
|
│ ├── verify-tests/SKILL.md
|
|
256
551
|
│ ├── verify-wiki/SKILL.md
|
|
257
|
-
│
|
|
552
|
+
│ ├── wiki-query/SKILL.md
|
|
553
|
+
│ ├── wiki-lint/SKILL.md
|
|
554
|
+
│ ├── cross-linker/SKILL.md
|
|
555
|
+
│ ├── wiki-status/SKILL.md
|
|
556
|
+
│ ├── wiki-capture/SKILL.md
|
|
557
|
+
│ ├── tag-taxonomy/SKILL.md
|
|
558
|
+
│ ├── wiki-rebuild/SKILL.md
|
|
559
|
+
│ ├── ship/SKILL.md
|
|
560
|
+
│ └── skill-creator/SKILL.md
|
|
258
561
|
│
|
|
259
562
|
├── CLAUDE.md # Bootstrap → Claude Code
|
|
260
563
|
├── AGENTS.md # Bootstrap → Codex / OpenCode / Aider
|
|
@@ -268,19 +571,29 @@ your-project/
|
|
|
268
571
|
|
|
269
572
|
## Skill Reference
|
|
270
573
|
|
|
271
|
-
| Phase | Skill | Command
|
|
272
|
-
| ------- | ------------------- |
|
|
273
|
-
| Setup | `techstack` | `/techstack`
|
|
274
|
-
| Plan | `
|
|
275
|
-
| Plan | `plan-
|
|
276
|
-
|
|
|
277
|
-
|
|
|
278
|
-
| Execute | `execute-
|
|
279
|
-
| Execute | `execute-
|
|
280
|
-
| Execute | `execute-
|
|
281
|
-
|
|
|
282
|
-
|
|
|
283
|
-
|
|
|
574
|
+
| Phase | Skill | Command | What it does |
|
|
575
|
+
| ------- | ------------------- | ---------------------------- | ---------------------------------------------------------------------------- |
|
|
576
|
+
| Setup | `techstack` | `/superspecs:techstack` | Questionnaire: define stack, recommend skills & libraries, save wiki profile |
|
|
577
|
+
| Plan | `design-import` | `/superspecs:design-import` | Optional enrichment: reads DesignOS export, creates `design-context.md` for `/discuss` + `/spec` to use |
|
|
578
|
+
| Plan | `plan-discuss` | `/superspecs:discuss` | Capture decisions before planning |
|
|
579
|
+
| Plan | `plan-spec` | `/superspecs:spec` | Write OpenSpec-style spec |
|
|
580
|
+
| Plan | `plan-grill` | `/superspecs:grill` | Stress-test spec against wiki + techstack, blocks execution until READY |
|
|
581
|
+
| Execute | `execute-pick-spec` | `/superspecs:pick-spec` | Choose + validate next spec |
|
|
582
|
+
| Execute | `execute-branch` | `/superspecs:branch` | Create branch / worktree |
|
|
583
|
+
| Execute | `execute-subagent` | `/superspecs:subagent` | Parallel subagent task execution |
|
|
584
|
+
| Execute | `execute-tdd` | `/superspecs:tdd` | RED-GREEN-REFACTOR — runs inside each subagent task; invoke standalone for code outside subagent mode |
|
|
585
|
+
| Execute | `execute-review` | `/superspecs:code-review` | Between-task spec + quality review |
|
|
586
|
+
| Verify | `verify-tests` | `/superspecs:check-tests` | Full suite + scenario coverage |
|
|
587
|
+
| Verify | `verify-wiki` | `/superspecs:wiki` | Compile feature to wiki — ingest, provenance, summary frontmatter |
|
|
588
|
+
| Wiki | `wiki-query` | `/superspecs:wiki-query` | Tiered retrieval query; optionally file answer back as a page |
|
|
589
|
+
| Wiki | `wiki-lint` | `/superspecs:wiki-lint` | Health check: orphans, broken links, contradictions, stale refs |
|
|
590
|
+
| Wiki | `cross-linker` | `/superspecs:cross-linker` | Auto-insert `[[wikilinks]]` for unlinked mentions across the vault |
|
|
591
|
+
| Wiki | `wiki-status` | `/superspecs:wiki-status` | Vault dashboard: size, hubs, tag stats, provenance, pending sources |
|
|
592
|
+
| Wiki | `wiki-capture` | `/superspecs:wiki-capture` | Save session findings to wiki (`--quick` stages to raw/, `--full` ingests) |
|
|
593
|
+
| Wiki | `tag-taxonomy` | `/superspecs:tag-taxonomy` | Canonical tag vocabulary; audit and normalize tags vault-wide |
|
|
594
|
+
| Wiki | `wiki-rebuild` | `/superspecs:wiki-rebuild` | Archive + rebuild vault; restore from snapshot |
|
|
595
|
+
| Ship | `ship` | `/superspecs:ship` | PR + archive + next cycle |
|
|
596
|
+
| Meta | `skill-creator` | `/superspecs:skill-creator` | Create a new SuperSpecs skill to extend the framework |
|
|
284
597
|
|
|
285
598
|
---
|
|
286
599
|
|
|
@@ -292,7 +605,7 @@ your-project/
|
|
|
292
605
|
|
|
293
606
|
**Critical issues block progress.** A `/code-review` finding rated Critical is not a suggestion. Nothing moves forward until it's resolved.
|
|
294
607
|
|
|
295
|
-
**Knowledge outlives the session.**
|
|
608
|
+
**Knowledge outlives the session.** The wiki uses the Karpathy LLM Wiki pattern: raw sources are compiled once into structured, interlinked pages. Future sessions query the wiki — not the raw specs. Knowledge compounds; problems stay solved.
|
|
296
609
|
|
|
297
610
|
**One branch per spec.** Isolation prevents interference between parallel workstreams.
|
|
298
611
|
|