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,522 @@
1
+ ---
2
+ name: techstack
3
+ description: TechLead questionnaire — elicits the project tech stack via guided questions and recommends installable skills, libraries, and production-readiness checklists for Frontend, Backend, Deployment, and CI/CD. Saves results to the wiki brain. Triggers on /techstack, "what skills do I need", "set up tech stack", "choose my stack", "tech lead setup", "recommend skills".
4
+ slash_command: techstack
5
+ phase: "0 — Setup › Tech Stack"
6
+ ---
7
+
8
+ # Skill: techstack
9
+
10
+ You are acting as a senior TechLead running a discovery session. Your goal is to understand the project's technology profile and translate it into:
11
+
12
+ 1. **Installable skills** — the specialist skills this project needs
13
+ 2. **Ecosystem libraries** — the concrete packages per domain
14
+ 3. **Production checklist** — what "production-ready" looks like for this stack
15
+ 4. **Wiki entry** — a permanent tech stack profile for all future sessions
16
+
17
+ Work conversationally. One topic at a time. Never dump a wall of questions. Ask, listen, follow up, then move on.
18
+
19
+ ---
20
+
21
+ ## Phase 0 — Orient with the wiki
22
+
23
+ Before asking anything, check for an existing tech stack profile:
24
+
25
+ - Read `superspec/wiki/_index.md`
26
+ - Check for `superspec/wiki/techstack/profile.md`
27
+
28
+ If a profile already exists:
29
+ > "I found an existing tech stack profile. Want to **review and update it** or **start fresh**?"
30
+
31
+ If no profile exists, say:
32
+ > "No tech stack profile yet — let's build one. I'll ask a few focused questions, one area at a time."
33
+
34
+ ---
35
+
36
+ ## Phase 1 — Questionnaire
37
+
38
+ Ask one section at a time. Wait for the answer before moving to the next. Follow up on vague answers.
39
+
40
+ ### 1.1 — Project shape
41
+
42
+ Ask:
43
+ > "What are we building? Give me the 30-second version — product type, who uses it, rough scale."
44
+
45
+ Capture: product type (SaaS / mobile / CLI / API / data platform / e-commerce / other), target users, rough scale (prototype / startup / scale-up / enterprise).
46
+
47
+ Follow up if needed:
48
+ - "Is this greenfield or an existing codebase?"
49
+ - "Monorepo or separate repos?"
50
+
51
+ ---
52
+
53
+ ### 1.2 — Frontend
54
+
55
+ Ask:
56
+ > "What's the frontend situation? Framework, language, styling approach?"
57
+
58
+ Listen for: React / Next.js / Remix / Vue / Nuxt / Angular / Svelte / SvelteKit / Astro / plain HTML / no frontend.
59
+
60
+ Follow up as needed:
61
+ - "TypeScript or JavaScript?"
62
+ - "Server-side rendering, static, or SPA?"
63
+ - "Component library? (Tailwind, shadcn/ui, MUI, Chakra, custom?)"
64
+ - "State management? (Zustand, Redux, Jotai, Tanstack Query, none?)"
65
+ - "How do you test UI? (Vitest, Jest, Playwright, Cypress, Storybook?)"
66
+
67
+ If no frontend: note it and skip to 1.3.
68
+
69
+ ---
70
+
71
+ ### 1.3 — Backend
72
+
73
+ Ask:
74
+ > "Backend — language, framework, and how the frontend talks to it?"
75
+
76
+ Listen for: Node / Python / Go / Rust / Java / Ruby / PHP / .NET / Elixir / no backend (static/BFF only).
77
+
78
+ Follow up:
79
+ - "Framework? (Express / Fastify / NestJS / Hono / FastAPI / Django / Rails / Gin / etc.)"
80
+ - "API style? (REST / GraphQL / tRPC / gRPC / WebSockets?)"
81
+ - "Database? (PostgreSQL / MySQL / SQLite / MongoDB / Redis / DynamoDB / PlanetScale?)"
82
+ - "ORM or query builder? (Prisma / Drizzle / TypeORM / SQLAlchemy / ActiveRecord?)"
83
+ - "Auth strategy? (JWT / sessions / OAuth / passkeys / auth provider?)"
84
+
85
+ If serverless/edge only: note it.
86
+
87
+ ---
88
+
89
+ ### 1.4 — Deployment & Infrastructure
90
+
91
+ Ask:
92
+ > "Where does this run? Cloud provider, hosting approach?"
93
+
94
+ Listen for: AWS / GCP / Azure / Vercel / Netlify / Railway / Fly.io / Render / self-hosted / bare metal / edge.
95
+
96
+ Follow up:
97
+ - "Containerised? (Docker / Podman / none?)"
98
+ - "Orchestration? (Kubernetes / ECS / serverless functions / simple VPS?)"
99
+ - "IaC? (Terraform / Pulumi / CDK / SST / none?)"
100
+ - "Environments? (dev / staging / prod — how many?)"
101
+
102
+ ---
103
+
104
+ ### 1.5 — CI/CD
105
+
106
+ Ask:
107
+ > "How does code get from a PR to production?"
108
+
109
+ Listen for: GitHub Actions / GitLab CI / CircleCI / Bitbucket Pipelines / Jenkins / Buildkite / manual.
110
+
111
+ Follow up:
112
+ - "What gates block a merge? (tests / lint / type-check / security scan?)"
113
+ - "How is staging deployed? Auto on merge to main, or manual trigger?"
114
+ - "How is production deployed? Manual gate, auto-promote, or feature flags?"
115
+ - "Any release automation? (semantic-release, changesets, conventional commits?)"
116
+
117
+ ---
118
+
119
+ ### 1.6 — Quality & observability
120
+
121
+ Ask:
122
+ > "How do you know the system is healthy in production?"
123
+
124
+ Listen for: logging / tracing / metrics / error tracking / uptime monitoring / alerting.
125
+
126
+ Follow up:
127
+ - "Error tracking? (Sentry / Datadog / Honeycomb / Cloudwatch / none?)"
128
+ - "Test coverage expectations? (unit / integration / e2e — any minimums?)"
129
+ - "Code quality gates? (ESLint / Biome / Prettier / Husky / commitlint?)"
130
+
131
+ ---
132
+
133
+ ### 1.7 — Team & constraints
134
+
135
+ Ask (briefly):
136
+ > "Team size and any hard constraints I should know — timeline, existing decisions locked in, things we're explicitly NOT doing?"
137
+
138
+ ---
139
+
140
+ ## Phase 2 — Analysis & Recommendations
141
+
142
+ Once all questions are answered, produce a structured recommendation. Format as follows:
143
+
144
+ ---
145
+
146
+ ### Recommended Installable Skills
147
+
148
+ Based on the answers, list the specialist skills this project should install. For each, give:
149
+
150
+ ```
151
+ Skill: <skill-name>
152
+ Trigger: /skill-name or "install <name> skill"
153
+ Why: <one sentence — why this stack needs this skill>
154
+ Install: https://opencode.ai/skills/<skill-name> (or "available in skill registry")
155
+ ```
156
+
157
+ **Core skills to recommend based on stack:**
158
+
159
+ | Stack element | Recommended skill |
160
+ |---|---|
161
+ | React / Next.js | `react-frontend` — React/Next.js component patterns, RSC, routing, SSR |
162
+ | Vue / Nuxt | `vue-frontend` — Vue 3, Nuxt, composition API patterns |
163
+ | Svelte / SvelteKit | `svelte-frontend` — SvelteKit routing, stores, SSR |
164
+ | Angular | `angular-frontend` — Angular modules, signals, RxJS patterns |
165
+ | Any UI work | `ui-ux` — Design system, accessibility, interaction patterns |
166
+ | Node.js backend | `node-backend` — Express/Fastify/NestJS patterns, middleware, API design |
167
+ | Python backend | `python-backend` — FastAPI/Django/Flask, async patterns, Pydantic |
168
+ | Go backend | `go-backend` — Idiomatic Go, HTTP handlers, concurrency |
169
+ | PostgreSQL | `postgres` — Schema design, query optimisation, migrations |
170
+ | Prisma / Drizzle | `prisma` or `drizzle` — ORM patterns, type-safe queries, migrations |
171
+ | Docker / K8s | `devops` — Dockerfile best practices, K8s manifests, Helm |
172
+ | Terraform / Pulumi | `infrastructure` — IaC patterns, state management, environments |
173
+ | GitHub Actions | `github-actions` — Workflow design, caching, secrets, matrix builds |
174
+ | Testing focus | `testing` — TDD patterns, mocking strategies, coverage gates |
175
+ | Auth / security | `security` — OWASP, JWT hardening, secret management |
176
+
177
+ Only recommend skills directly relevant to the stated stack. Do not recommend everything.
178
+
179
+ ---
180
+
181
+ ### Ecosystem Libraries by Domain
182
+
183
+ List the concrete packages. Format:
184
+
185
+ ```
186
+ ## Frontend
187
+ - <package>@<version-range> — <purpose> [required / recommended / optional]
188
+
189
+ ## Backend
190
+ - <package>@<version-range> — <purpose> [required / recommended / optional]
191
+
192
+ ## Deployment
193
+ - <tool> — <purpose> [required / recommended / optional]
194
+
195
+ ## CI/CD
196
+ - <tool/action> — <purpose> [required / recommended / optional]
197
+
198
+ ## Quality
199
+ - <package> — <purpose> [required / recommended / optional]
200
+ ```
201
+
202
+ Use only packages that are current, well-maintained, and appropriate for the stated stack. Never recommend deprecated or unmaintained packages.
203
+
204
+ ---
205
+
206
+ ### Community Skills from awesome-skills.com
207
+
208
+ Discover and recommend the best community-built skills matched to the detected stack. Use the curated baseline below as a reliable fallback, then enrich with a live fetch to surface any newer high-quality additions.
209
+
210
+ #### Step 1 — Map stack to tags
211
+
212
+ Use this table to identify which awesome-skills.com tags are relevant:
213
+
214
+ | Stack element | Tags to match |
215
+ |---|---|
216
+ | Frontend (React / Next.js / Vue / Nuxt / Svelte / Angular) | `ui`, `design` |
217
+ | Backend (Node / Python / Go / Rust / etc.) | `integration`, `data` |
218
+ | DevOps / IaC (Docker / K8s / Terraform / Pulumi) | `devops` |
219
+ | CI/CD (GitHub Actions / GitLab CI / etc.) | `devops`, `automation` |
220
+ | Security / Auth | `security` |
221
+ | Testing | `testing` |
222
+ | All projects — always include | `workflow`, `review`, `skills` |
223
+
224
+ #### Step 2 — Curated baseline (static fallback)
225
+
226
+ These picks are pre-vetted. **Always include the two universal picks regardless of stack.** Use the domain picks for matching stack elements. If the live fetch (Step 3) fails, output these and note: *"Live fetch unavailable — showing curated picks."*
227
+
228
+ **Universal — every project:**
229
+
230
+ | Skill | Stars | Safety | What it does | Install |
231
+ |---|---|---|---|---|
232
+ | [Karpathy Guidelines](https://github.com/forrestchang/andrej-karpathy-skills) | 125k | Self-contained | Behavioral guidelines derived from Karpathy's LLM coding observations — Think Before Coding, Simplicity First, Surgical Changes, Goal-Driven Execution | `/install forrestchang/andrej-karpathy-skills` |
233
+ | [mattpocock/skills](https://github.com/mattpocock/skills) | 136k | Well-audited | `/grill-me`, `/grill-with-docs`, `/tdd`, `/handoff` — composable engineering discipline skills | `npx skills@latest add mattpocock/skills` |
234
+
235
+ **By domain:**
236
+
237
+ | Domain | Skill | Stars | Safety | Install |
238
+ |---|---|---|---|---|
239
+ | `ui` / `design` | [Stitch Skills](https://github.com/google-labs-code/stitch-skills) (Google Labs) | 5.3k | External deps | `npx skills add google-labs-code/stitch-skills --skill stitch-design --global` |
240
+ | `ui` / `design` | [Interface Design](https://github.com/Dammyjay93/interface-design) | 4.8k | Self-contained | `/plugin marketplace add Dammyjay93/interface-design` |
241
+ | `devops` / IaC | [HashiCorp Agent Skills](https://github.com/hashicorp/agent-skills) | 612 | Self-contained | `/plugin marketplace add hashicorp/agent-skills` |
242
+ | `devops` / CI | [claude-code-action](https://github.com/anthropics/claude-code-action) (Anthropic) | 7.5k | Official | Add `anthropics/claude-code-action` to GitHub workflow YAML |
243
+ | `security` | [Security Review](https://github.com/anthropics/claude-code-security-review) (Anthropic) | 4.6k | Official | Copy `security-review.md` to `.claude/commands/` |
244
+ | `security` | [Destructive Command Guard](https://github.com/Dicklesworthstone/destructive_command_guard) | 1k | Self-contained, no network | `cargo install dcg` |
245
+ | `testing` | [Claude Code Showcase](https://github.com/ChrisWiles/claude-code-showcase) | 5.9k | Self-contained | `git clone ChrisWiles/claude-code-showcase` |
246
+ | `data` / fullstack | [Fullstack Dev Skills](https://github.com/Jeffallan/claude-skills) | 8.9k | Self-contained | `/plugin marketplace add jeffallan/claude-skills` |
247
+ | Solana / Web3 | [Solana Dev Skill](https://github.com/solana-foundation/solana-dev-skill) (official) | 501 | Self-contained | `git clone https://github.com/solana-foundation/solana-dev-skill ~/.claude/skills/solana-dev` |
248
+
249
+ #### Step 3 — Live fetch
250
+
251
+ Fetch the community directory using the WebFetch tool:
252
+
253
+ ```
254
+ URL: https://awesome-skills.com/
255
+ ```
256
+
257
+ - If the fetch **succeeds**: scan all entries for those whose tags overlap with the relevant tags from Step 1. Proceed to Step 4.
258
+ - If the fetch **fails**: use the curated baseline from Step 2 only. Note: *"Live fetch unavailable — showing curated picks."* Skip to Step 5.
259
+
260
+ #### Step 4 — Filter and rank live results
261
+
262
+ For each entry found in the live fetch:
263
+
264
+ 1. **Tag match** — does at least one tag match the relevant tags from Step 1? If not, skip.
265
+ 2. **Safety** — prefer entries marked `Self-contained` + `No code exec` + `No data sent`. Flag any that deviate (e.g. `Sends data`, `Arbitrary code`) with a brief note.
266
+ 3. **Stars** — rank higher-starred entries first within each domain.
267
+ 4. **Deduplicate** — if a live entry matches a curated baseline pick, do not list it twice. The curated entry takes precedence.
268
+
269
+ #### Step 5 — Present recommendations
270
+
271
+ Output the two universal picks first, then up to **5 picks per relevant domain**. Format each entry as:
272
+
273
+ ```
274
+ **[Skill Name]** · ⭐ X,XXX · Self-contained
275
+ What: <one sentence from the skill's description>
276
+ Tags: <matching tags>
277
+ Install: `<install command>`
278
+ ```
279
+
280
+ Flag any skill with elevated risk (e.g. sends data externally, reads credentials) with:
281
+ ```
282
+ ⚠️ Note: <brief risk summary from the listing>
283
+ ```
284
+
285
+ Close the section with:
286
+ > Browse all community skills: **https://awesome-skills.com/**
287
+
288
+ ---
289
+
290
+ ### Production-Readiness Checklist
291
+
292
+ Generate a checklist tailored to the stated stack. Group by domain:
293
+
294
+ ```markdown
295
+ ## Frontend — Production Checklist
296
+ - [ ] Lighthouse score ≥ 90 (Performance, Accessibility, Best Practices)
297
+ - [ ] Core Web Vitals within target (LCP < 2.5s, CLS < 0.1, INP < 200ms)
298
+ - [ ] Error boundary on every async boundary
299
+ - [ ] Loading/empty/error states for every data-fetching component
300
+ - [ ] No hardcoded secrets or API keys in client bundle
301
+ - [ ] Bundle size budgets enforced in CI
302
+ - [ ] <stack-specific items based on answers>
303
+
304
+ ## Backend — Production Checklist
305
+ - [ ] Input validation on every endpoint (Zod / Joi / Pydantic / etc.)
306
+ - [ ] Auth middleware covers all protected routes
307
+ - [ ] Rate limiting on public endpoints
308
+ - [ ] Graceful shutdown handler
309
+ - [ ] Health check endpoint (/health or /ready)
310
+ - [ ] Structured JSON logging with request IDs
311
+ - [ ] Database connection pooling configured
312
+ - [ ] Migrations version-controlled and run in CI
313
+ - [ ] <stack-specific items>
314
+
315
+ ## Deployment — Production Checklist
316
+ - [ ] Secrets in environment variables, never in code
317
+ - [ ] Multi-stage Docker build (dev/prod images separate)
318
+ - [ ] Container health checks defined
319
+ - [ ] Resource limits set (CPU / memory)
320
+ - [ ] Rollback strategy documented
321
+ - [ ] Staging environment mirrors production config
322
+ - [ ] <stack-specific items>
323
+
324
+ ## CI/CD — Production Checklist
325
+ - [ ] PR gates: tests + type-check + lint (all required to pass)
326
+ - [ ] Security scan in pipeline (npm audit / Snyk / Trivy)
327
+ - [ ] Dependency review on PRs
328
+ - [ ] Deploy preview for every PR (if applicable)
329
+ - [ ] Production deploy requires manual approval or staging promotion
330
+ - [ ] Alerting on deploy failure
331
+ - [ ] <stack-specific items>
332
+ ```
333
+
334
+ Tailor every section — remove irrelevant items, add stack-specific ones. Do not output a generic boilerplate checklist.
335
+
336
+ ---
337
+
338
+ ## Phase 3 — Wiki Export
339
+
340
+ After showing the recommendations and getting confirmation, write the stack profile to the wiki.
341
+
342
+ ### 3.1 Create the tech stack wiki page
343
+
344
+ Create `superspec/wiki/techstack/profile.md`:
345
+
346
+ ```markdown
347
+ ---
348
+ title: Tech Stack Profile
349
+ tags: [techstack, setup, infrastructure]
350
+ created: <date>
351
+ updated: <date>
352
+ sources: [techstack-session]
353
+ ---
354
+
355
+ # Tech Stack Profile
356
+
357
+ ## Summary
358
+ <1–2 sentence description of the project and its overall technical character>
359
+
360
+ ## Stack Overview
361
+
362
+ | Domain | Technology |
363
+ |---|---|
364
+ | Frontend | <framework + language + styling> |
365
+ | Backend | <language + framework + API style> |
366
+ | Database | <primary DB + ORM/query builder> |
367
+ | Auth | <auth strategy> |
368
+ | Deployment | <cloud + hosting approach> |
369
+ | CI/CD | <pipeline tool + deployment strategy> |
370
+ | Monitoring | <observability tools> |
371
+
372
+ ## Frontend
373
+
374
+ ### Core
375
+ - **Framework:** <name + version range>
376
+ - **Language:** TypeScript / JavaScript
377
+ - **Rendering:** SSR / SSG / SPA / hybrid
378
+ - **Styling:** <approach>
379
+ - **State:** <strategy>
380
+ - **Testing:** <tools>
381
+
382
+ ### Recommended Skills
383
+ <list from Phase 2>
384
+
385
+ ### Key Libraries
386
+ <list from Phase 2>
387
+
388
+ ## Backend
389
+
390
+ ### Core
391
+ - **Language:** <name>
392
+ - **Framework:** <name>
393
+ - **API:** <REST / GraphQL / tRPC / gRPC>
394
+ - **Database:** <name> via <ORM/driver>
395
+ - **Auth:** <strategy>
396
+
397
+ ### Recommended Skills
398
+ <list from Phase 2>
399
+
400
+ ### Key Libraries
401
+ <list from Phase 2>
402
+
403
+ ## Deployment & Infrastructure
404
+
405
+ - **Cloud:** <provider>
406
+ - **Compute:** <containers / serverless / VPS>
407
+ - **IaC:** <tool or "none">
408
+ - **Environments:** <dev / staging / prod setup>
409
+
410
+ ### Recommended Skills
411
+ <list from Phase 2>
412
+
413
+ ### Key Tools
414
+ <list from Phase 2>
415
+
416
+ ## CI/CD
417
+
418
+ - **Pipeline:** <tool>
419
+ - **Merge gates:** <what blocks a PR>
420
+ - **Staging deploy:** <how>
421
+ - **Production deploy:** <how + any approval gates>
422
+ - **Release strategy:** <semantic-release / manual / etc.>
423
+
424
+ ### Recommended Skills
425
+ <list from Phase 2>
426
+
427
+ ## Production-Readiness Checklist
428
+
429
+ <full checklist from Phase 2>
430
+
431
+ ## Decisions & Constraints
432
+
433
+ <any hard decisions or constraints captured in the questionnaire>
434
+
435
+ ## Open Questions
436
+
437
+ - [ ] <anything left unresolved>
438
+
439
+ ## Community Skills
440
+
441
+ ### Universal
442
+ - **[Karpathy Guidelines](https://github.com/forrestchang/andrej-karpathy-skills)** — behavioral LLM coding guidelines (Think Before Coding, Simplicity First, Surgical Changes)
443
+ `/install forrestchang/andrej-karpathy-skills`
444
+ - **[mattpocock/skills](https://github.com/mattpocock/skills)** — `/grill-me`, `/tdd`, `/handoff` and composable engineering discipline
445
+ `npx skills@latest add mattpocock/skills`
446
+
447
+ ### Stack-specific
448
+ <list from Phase 2.2 — include name, one-line description, and install command for each pick>
449
+
450
+ _Browse all community skills: https://awesome-skills.com/_
451
+
452
+ ## Recommended Next Steps
453
+
454
+ 1. Install the skills listed above (copy-paste install commands)
455
+ 2. Run `/discuss` to start planning the first feature
456
+ 3. Reference this profile in every spec for consistency
457
+ ```
458
+
459
+ ### 3.2 Update the wiki index
460
+
461
+ Add to `superspec/wiki/_index.md`:
462
+
463
+ ```markdown
464
+ ## Domains
465
+
466
+ - [[techstack/]] — Project tech stack, library choices, production checklists
467
+ - ...existing domains...
468
+
469
+ ## Recent Updates
470
+
471
+ - <date>: [[techstack/profile]] — Tech stack profile established
472
+ ```
473
+
474
+ ### 3.3 Update the manifest
475
+
476
+ Add to `superspec/wiki/_manifest.json`:
477
+
478
+ ```json
479
+ {
480
+ "sources": [
481
+ {
482
+ "slug": "techstack-session",
483
+ "ingested_at": "<ISO timestamp>",
484
+ "pages_created": ["techstack/profile"],
485
+ "pages_updated": ["_index"]
486
+ }
487
+ ]
488
+ }
489
+ ```
490
+
491
+ ### 3.4 Handoff
492
+
493
+ ```
494
+ Tech stack profile saved.
495
+
496
+ superspec/wiki/
497
+ └── techstack/
498
+ └── profile.md (new)
499
+
500
+ Recommended skills: <count>
501
+ Community skills: <count> (<X> curated + <Y> discovered live)
502
+ Production checklist items: <count>
503
+
504
+ Suggested next steps:
505
+ Install community skills (commands in profile.md)
506
+ /discuss — start planning your first feature
507
+ /spec — write a spec for something specific
508
+ ```
509
+
510
+ ---
511
+
512
+ ## What NOT to do
513
+
514
+ - Do not ask all questions at once — one topic at a time, always
515
+ - Do not recommend skills that don't match the stated stack
516
+ - Do not recommend deprecated or unmaintained packages
517
+ - Do not skip the wiki export — it's the persistent memory
518
+ - Do not write a generic checklist — every item must be relevant to the stated stack
519
+ - Do not invent stack choices the user didn't state — ask if uncertain
520
+ - Do not run Phase 3 without showing recommendations first and getting implicit or explicit confirmation
521
+ - Do not skip the community skills step — always include the two universal baseline picks (Karpathy Guidelines + mattpocock/skills) regardless of stack
522
+ - Do not recommend community skills with `Sends data` or `Arbitrary code` safety profile without explicitly flagging the risk
@@ -0,0 +1,153 @@
1
+ ---
2
+ name: verify-tests
3
+ description: Full test suite run. Every spec scenario must have a passing test. No skipped tests. No pending tests. Triggers on /check-tests, "run tests", "verify". Runs after all execution waves are complete.
4
+ slash_command: check-tests
5
+ phase: "3.1 — Verify › Check Tests"
6
+ ---
7
+
8
+ # Skill: verify-tests
9
+
10
+ You are doing the final test verification before the feature can be declared done.
11
+
12
+ Execution is complete. Now you verify *everything* works before moving to wiki and ship.
13
+
14
+ ## Steps
15
+
16
+ ### 1. Run the full test suite
17
+
18
+ ```bash
19
+ <test-runner>
20
+ ```
21
+
22
+ Expected output: all tests passing, zero failing, zero skipped.
23
+
24
+ Report the result:
25
+
26
+ ```
27
+ Test suite: <date>
28
+
29
+ Total: <N>
30
+ Passing: <N> ✅
31
+ Failing: <N> ❌
32
+ Skipped: <N> ⚠️
33
+ Pending: <N> ⚠️
34
+ ```
35
+
36
+ If anything is failing, skipped, or pending: stop. Report. Do not proceed.
37
+
38
+ ### 2. Verify spec scenario coverage
39
+
40
+ Read `superspec/specs/<slug>/spec.md`. For every scenario:
41
+
42
+ Search the test files for a test covering that scenario. Use the GIVEN/WHEN/THEN as search anchors.
43
+
44
+ ```markdown
45
+ ## Spec Coverage Report
46
+
47
+ ### Requirement: <Name>
48
+
49
+ #### Scenario: <Name>
50
+ Status: ✅ covered
51
+ Test: `<test-file>:<line>` — `<test name>`
52
+
53
+ #### Scenario: <Edge case name>
54
+ Status: ❌ NOT COVERED
55
+ Action required: Write a test for this scenario
56
+
57
+ [...]
58
+
59
+ ## Summary
60
+ Scenarios total: <N>
61
+ Covered: <N> ✅
62
+ Missing: <N> ❌
63
+ ```
64
+
65
+ **If any scenario is uncovered:** this is a Critical gap. Write the missing test before proceeding.
66
+
67
+ ### 3. Run tests with coverage (if available)
68
+
69
+ If the project has a coverage tool:
70
+
71
+ ```bash
72
+ <coverage-tool> <test-runner>
73
+ ```
74
+
75
+ Note:
76
+ - Overall coverage %
77
+ - Coverage of files touched by this feature
78
+ - Any significant uncovered branches
79
+
80
+ Coverage is informational — it informs judgment, but 100% coverage is not required. Scenario coverage (step 2) is required.
81
+
82
+ ### 4. Check for regressions
83
+
84
+ Compare with baseline if available. Specifically check:
85
+ - Areas of the codebase adjacent to what was changed
86
+ - Integration points (APIs called, events emitted, etc.)
87
+
88
+ If any tests that were passing before this spec's execution are now failing: that's a regression. It must be fixed before shipping.
89
+
90
+ ### 5. Update status.md
91
+
92
+ If all checks pass:
93
+
94
+ ```markdown
95
+ ## Phase
96
+ 3.1 — Verify › Check Tests ✅
97
+
98
+ ## Test Results
99
+ - Suite: X passing, 0 failing, 0 skipped
100
+ - Spec scenarios: Y/Y covered
101
+ - Regressions: none
102
+
103
+ ## Checklist
104
+ ...
105
+ - [x] All tests passing
106
+ - [x] Code review passed (no Critical findings)
107
+ - [ ] Wiki imported
108
+ ...
109
+ ```
110
+
111
+ ### 6. Handoff
112
+
113
+ ```
114
+ Tests verified: <slug>
115
+
116
+ Suite: <N> passing ✅
117
+ Scenarios: <N>/<N> covered ✅
118
+ Regressions: none ✅
119
+
120
+ Next: /wiki <slug>
121
+ ```
122
+
123
+ ## Fail states
124
+
125
+ **Tests failing:**
126
+ ```
127
+ ❌ Test failures found: N
128
+
129
+ Failing tests:
130
+ - <test name> (<file>:<line>)
131
+ Error: <message>
132
+
133
+ Execution is NOT done. Fix failures before proceeding.
134
+ ```
135
+
136
+ **Skipped or pending tests:**
137
+ ```
138
+ ⚠️ Skipped tests found: N
139
+
140
+ Skipped tests are not passing tests. Options:
141
+ 1. Fix and unskip
142
+ 2. Delete if no longer relevant
143
+
144
+ Do not ship with skipped tests that cover spec scenarios.
145
+ ```
146
+
147
+ **Missing scenario coverage:**
148
+ ```
149
+ ❌ Uncovered spec scenarios: N
150
+
151
+ - Scenario: <name> (Requirement: <name>)
152
+ No test found. Write one before shipping.
153
+ ```