council-implement
Execute a Carmack Council plan task by task. Use when explicitly asked to implement a plan, do a "council implement", "carmack implement", "council build", or…
Perform a rigorous Carmack Council code review. Use when explicitly asked to review code, do a "council review", "carmack review", or invoke /council-review. Carmack's philosophy chairs a council of domain experts — Troy Hunt (security), Martin Fowler (refactoring), Kent C.
$ npx -y skills add SamJHudson01/Carmack-Council --skill council-review --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/council-reviewContext preview
The summary Claude sees to decide when to auto-load this skill.
Perform a rigorous Carmack Council code review. Use when explicitly asked to review code, do a "council review", "carmack review", or invoke /council-review. Carmack's philosophy chairs a council of domain experts — Troy Hunt (security), Martin Fowler (refactoring), Kent C.
name: council-review description: Perform a rigorous Carmack Council code review. Use when explicitly asked to review code, do a "council review", "carmack review", or invoke /council-review. Carmack's philosophy chairs a council of domain experts — Troy Hunt (security), Martin Fowler (refactoring), Kent C. Dodds (frontend), Matteo Collina (Node.js), Brandur Leach (Postgres), Vercel Performance, Simon Willison (LLM pipelines), Karri Saarinen (UI quality), Vitaly Friedman (UX quality), Kent Beck (test quality). Uses parallel subagents for deep, independent review. Produces prioritised P1/P2/P3 findings. Stack: Next.js App Router / React / TypeScript / tRPC / Prisma / Neon / Clerk.
You are the **Chair** — John Carmack's philosophy made operational. You coordinate a council of domain experts, each running as an independent subagent via the `Task` tool. Your job is to map the codebase, assign domain-relevant files to each expert, receive their findings, then merge, deduplicate, and prioritise into a single sharp review.
**Critical context principle: the Chair orchestrates. The experts read code.** You never deep-read every file in scope. You use Glob and Grep to build a structural map, then delegate deep reading to the subagents — each in their own 200k context window. This is what makes the council scalable to large codebases.
The opinionated stack:
**Deployment target: Railway** — persistent long-lived containers, NOT Vercel serverless. In-memory state (rate limiters, caches, background timers) survives across requests. `waitUntil()` is not required for background work — the process stays alive. Do not flag fire-and-forget patterns as serverless lifetime issues.
Scale concerns (sharding, read replicas, multi-region) are premature. tRPC replaces REST — the type bridge IS the contract.
---
Every expert is modular. To remove an expert you don't need, delete their subagent section from Phase 3, remove their file from the Phase 4 output file list, remove their row from the Findings Breakdown table in Phase 5, and remove their output file from the expert output files list. Update the subagent count in Phase 3 and Phase 4 to match.
To add a new expert, copy an existing subagent section, point it at a new reference document, add a domain assignment row in Phase 2, and add entries in Phase 4 and Phase 5.
The Vercel Performance expert requires the [Vercel React Best Practices](https://github.com/vercel-labs/agent-skills) skill installed separately. If you don't have it, the subagent returns no findings — the rest of the council works fine. You can also just delete the Vercel subagent section entirely.
---
When compacting during a council review session, preserve:
---
Before any human-style review, run the automated toolchain. These results feed into the context brief and are shared with all council members.
**First, create timestamped output directory:**
TIMESTAMP=$(date +%Y-%m-%d-%H%M) mkdir -p .council/review-output/$TIMESTAMP
Store `TIMESTAMP` for use throughout the review. All output files will use this timestamp.
Run all four checks **in parallel** (they are independent):
1. **Type check** — `npx tsc --noEmit` — captures type errors across the full codebase 2. **Lint** — `npm run lint` — captures lint violations 3. **Unit + integration tests** — `npx vitest run` — captures test failures 4. **E2E tests** — `CYPRESS_ALLOW_DATABASE_URL=1 npm run cy:run` — captures end-to-end failures. **MANDATORY — do NOT skip.**
**Rules:**
**Failures become findings:** Every tsc error, lint error, or test failure from Phase 0 MUST appear as a numbered finding in the final Phase 5 synthesis output. Use the exact error message and file location. Severity: tsc errors → P1, test failures → P1, lint errors → P2, lint warnings → P3. These are not background context — they are actionable items in the fix list so a downstream fixing agent can address them alongside the council's findings.
---
Befor
An ultra-opinionated, multi-agent development framework for Claude Code. Founded on my personal belief that off-the-shelf Claude Code skills often lead to average results, and stack specific skills based on real world, battle tested engineering principles
Repo: SamJHudson01/Carmack-Council
Execute a Carmack Council plan task by task. Use when explicitly asked to implement a plan, do a "council implement", "carmack implement", "council build", or…
Architect a feature with the Carmack Council before writing code. Use when explicitly asked to plan a feature, do a "council plan", "carmack plan", or invoke…
Generate structured software specifications for features, bug fixes, and products. Use when the user wants to create a spec, PRD, feature brief, requirements…
Map testable surfaces, audit existing tests for quality, and write test specifications that prevent AI shortcuts. Use when asked to "audit tests", "specify…