setup-stack
Skill4 starsChanged 45 days agoMITView on GitHub
Selects and pins the technology stack — project type, backend, frontend, UI kit, API style (GraphQL default), game engine, database, tests, CI, deploy target, observability, layout — and writes technical-preferences.md with exact versions from the stack reference. Run at project start after /init or when the stack changes, or for 'choose the stack', 'which framework should we use', 'pin the versions'.
2 other projects use a version of this.
Adopted by
Most recently taken up by
- chrille0313/agentic-monorepo-templatetheir own version, first seen Aug 20, 2026
- evgenii-studitskikh/Claude-Code-SaaS-Studiotheir own version, first seen Jun 10, 2026
Other versions2 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 2
- chrille0313/agentic-monorepo-template★ 4same name
- evgenii-studitskikh/Claude-Code-SaaS-Studio★ 1same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository52 other files it gives its agents.
- CLAUDE.mdCLAUDE.md
- testing/CLAUDE.mdCLAUDE.md
- a11y-auditSkill
- adoptSkill
- api-contractSkill
- architecture-decisionSkill
- architecture-reviewSkill
- backlogSkill
- brainstormSkill
- changelogSkill
- code-reviewSkill
- collaboration-protocolSkill
- create-storiesSkill
- data-modelSkill
- dependency-auditSkill
- deploySkill
- design-systemSkill
- dev-storySkill
- docsSkill
- feature-specSkill
- game-conceptSkill
- hardenSkill
- helpSkill
- hotfixSkill
- impactSkill
- incidentSkill
- initSkill
- migrateSkill
- pentestSkill
- perf-auditSkill
- product-specSkill
- qa-planSkill
- refactorSkill
- release-checklistSkill
- retrospectiveSkill
- security-auditSkill
- skill-improveSkill
- skill-testSkill
- sprint-planSkill
- sprint-statusSkill
- stack-updateSkill
- startSkill
- story-doneSkill
- team-featureSkill
- team-gameSkill
- team-releaseSkill
- team-securitySkill
- tech-debtSkill
- test-setupSkill
- threat-modelSkill
- updateSkill
- ux-specSkill
The file
We split this skill into the rules it gives an agent
2 rules. About 0 are common, 0 are distinctive, and 2 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈0
Distinctive · estimate
This author's own choices. Worth a look.
2
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 40
After the "write" answer: touch .claude/.write-consent.
- Very specific: line 46
Ask, one AskUserQuestion (options: § Documents-lane commit gate).
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Setup Stack
Language, <hooks>, command namespaces, gate mechanics and the documents-lane commit gate: docs/coordination-rules.md § Skill conventions.
Result: .claude/docs/technical-preferences.md without [TO BE CONFIGURED], the record of the stack choice. The stack is a technical decision, so it never becomes a D-NN entry: production/decisions.md holds owner decisions only (its header: "Technical decisions are ADRs, not entries here").
Glossary: the reference — .claude/docs/stack-reference/ (index.md for versions, go.md, php.md); every version a question quotes is read from it at question time, the skill carries none.
Phase 1: Context
- Read
technical-preferences.md,docs/specs/product-spec.md(if any),production/stage.txtand the reference'sindex.md. - Reference age. Older than 60 days → say so and suggest
/stack-updatefirst; not blocking. - Environment. Run
go version,php -v,node -v,pnpm -v,docker --version; report what is missing after Phase 2, for the chosen stack only (a Go-onlyapineeds no pnpm). A tool the chosen stack needs is missing → stop after Phase 2: summarise the interview, write nothing, verdictBLOCKED (missing tools: …)naming what to install.
Phase 2: Interview
One AskUserQuestion at a time, recommendation first. --quick takes every Recommended option without asking and shows the summary; the deploy target (step 7) has no universal default and is asked anyway; the Phase 3 write gate still applies.
- Project type (argument or question), platforms (desktop/mobile-web/PWA), rendering (SPA/SSR/SSG).
- Backend: Go (services, realtime, games) | PHP (content systems, existing PHP ecosystem) | Node (BFF/SSR) | none — recommendation by type. PHP chosen → read
references/interview-php.md§ Version and framework and ask its two questions in order. - API style: GraphQL (SDL, default for the client API) | REST/OpenAPI | both (GraphQL + REST for files/webhooks). Then:
api_contract_path: for a Go moduleapi/schema.graphqls(Recommended; gqlgen reads it in place), otherwisedocs/architecture/api/schema.graphql.- With gqlgen,
graphql_models: dto (generated models mapped in resolvers — Recommended) | bind (domain types ingqlgen.yml).
- Frontend: Angular (+ Material | Taiga UI) | Vue / Nuxt (+ UI kit) | vanilla TS (a game without a UI framework). For Angular, also the file naming style: v20+ without suffixes | classic.
- Game (type game): three.js (3D) | PixiJS (2D) | Phaser | Babylon; networking: none | server-authoritative.
- Data: PostgreSQL (+ Redis) — confirm; auth: sessions | OIDC | JWT+BFF.
- Infra: Docker + compose, GitHub Actions — confirm. Then the deploy target and its delegate: read
references/deploy-target.md(contract.claude/docs/deploy-target-contract.md) and ask its oneAskUserQuestion—compose-sshRecommended for a single server; a shared host with its own proxy repository → also askInfra repoandProxy config;kubernetes→ also its § Kubernetes questions (chart path, environments, secrets, routing). Then observability: readreferences/observability.mdand ask its one question — the studio stack Recommended. Then supply chain: readreferences/supply-chain.mdand ask its one question — the studio default Recommended when a release image exists. - Layout: monorepo (
apps/,packages/) | current structure — show a proposal. Go backend → alsogo_layoutfromreferences/interview-go.md§ Layout, the directory tree shown. - Architecture: PHP chosen → read
references/interview-php.md§ Architecture, Go chosen →references/interview-go.md§ Architecture; ask its questions in order, then show the resulting tree.
Phase 3: Draft and write
- Draft the full
technical-preferences.md: exact versions from the reference, naming conventions for the chosen languages (the Angular file style from Phase 2), performance budgets, theDeploy target/Deploy delegate(plusInfra repo/Proxy config; theKubernetessub-block, orn/a) theObservabilityblock with its four fields and theSupply chainblock with its five (everynonewith its reason). Show it whole. - Ask "May I write
.claude/docs/technical-preferences.md?" as oneAskUserQuestion: write (Recommended) · show the draft/diff first · not now. The question also names, when they apply, the twocompose-sshfiles of step 4 andproduction/stage.txt→specification— only when the product spec exists and the current stage isdiscovery(a brownfield stage is never lowered). - After the "write" answer:
touch .claude/.write-consent. - Write exactly the files the answer covered:
technical-preferences.md; forcompose-ssh,cp .claude/docs/templates/deploy/compose-ssh.sh scripts/deploy/compose-ssh.shand createdocs/deploy/compose-ssh.md;production/stage.txtwhen step 2 named it.
Phase 4: Commit (documents lane)
Right after the write (§ Documents-lane commit gate; .claude/docs/git-workflow.md § Documents):
- Record it:
<hooks>session-state.sh set Gate "/setup-stack Phase 4: commit?". - Ask, one
AskUserQuestion(options: § Documents-lane commit gate); when HEAD is a story branch, name it: switch to<default>and commit there (Recommended — a pipeline-wide document) · commit here · leave uncommitted. - On "commit":
docs: stack decision, staging exactly the written documents —.claude/docs/technical-preferences.md,production/stage.txtwhen changed,docs/deploy/compose-ssh.mdwhen created. Nothing is committed without the answer. - Clear it:
<hooks>session-state.sh set Gate "—". scripts/deploy/compose-ssh.shis toolchain work, not a document: it never rides thedocs:commit. Name it in the result and offer the chore lane for it (git-workflow.md § Chore / infra).
Phase 5: Consequences
- Layout ADR: propose it through
/web-studio:architecture-decision(copy mode/architecture-decision), recording the directory shape (Phase 2 step 9) and, withgo_composition_root: main, the composition-root deviation. - Fork ADRs: propose one per non-trivial fork (GraphQL vs REST, Angular vs Vue, game engine) — the same command. The user decides; no ADR is written here.
- Propose
/test-setupand/threat-modelas the next mandatory architecture steps.
Verdict: COMPLETE | BLOCKED (missing tools: …).
Next step — one AskUserQuestion; the Recommended option follows what Phase 1 found, never a default:
| Phase 1 found | Recommended | Alternatives |
no docs/specs/product-spec.md | /product-spec | /game-concept (type game / game+backend) · revise the stack |
the product spec, no docs/specs/features/*.md | /feature-spec | /test-setup · /product-spec (revise it) · revise the stack |
| the product spec and feature specs | /create-stories | /feature-spec · /test-setup · /product-spec (revise it) · revise the stack |
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

