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,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
|
+
```
|