From techlead
Bootstrap a project with Techlead's document hierarchy. Use when the user types /init-techlead, wants to set up project governance, or when docs/GOAL.md is missing and needs to be created.
How this skill is triggered — by the user, by Claude, or both
Slash command
/techlead:init-techleadThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Set up the Techlead document hierarchy for a project.
evals/evals.jsonevals/fixtures/ecommerce/package.jsonevals/fixtures/ecommerce/src/index.tsevals/fixtures/ecommerce/src/models/order.tsevals/fixtures/ecommerce/src/models/product.tsevals/fixtures/ecommerce/src/models/user.tsevals/fixtures/ecommerce/src/routes/cart.tsevals/fixtures/ecommerce/src/routes/notifications.tsevals/fixtures/ecommerce/src/routes/orders.tsevals/fixtures/ecommerce/src/routes/products.tsevals/fixtures/ecommerce/src/routes/reviews.tsevals/fixtures/ecommerce/src/routes/users.tsSet up the Techlead document hierarchy for a project.
Check if any of these files already exist: docs/GOAL.md, docs/ROADMAP.md, docs/SPEC.md, docs/ARCHITECTURE.md, CLAUDE.md.
If any exist, ask once: "Some Techlead documents already exist ([list them]). Overwrite or skip existing?"
If docs/ exists but contains files that don't match the Techlead canonical structure (GOAL.md, ROADMAP.md, SPEC.md, ARCHITECTURE.md), suggest migration:
Found existing docs that don't match Techlead's structure. Run
/restructure-docsto migrate them to the canonical format before continuing setup.
If the user chooses to continue without restructuring, proceed normally (overwrite/skip as chosen in Step 1).
Check if the project already has source code (e.g., src/, lib/, app/, package.json, pyproject.toml, go.mod, or similar). Note whether code exists — this affects Step 3 and Step 4.
Ask all of these in one message to minimize back-and-forth:
To set up Techlead, I need a few things:
- Project goal — What is the single primary goal of this project?
- Success criteria — How do you know when it's done? (2-3 measurable criteria)
- Out of scope — What should this project explicitly NOT do?
- Current priorities — What 1-3 items should you work on right now?
- Tech stack — Language, framework, database, and testing tool?
After the user responds, create all files at once:
docs/GOAL.md — Fill the template from templates/GOAL.md.template with the user's goal,
success criteria, and out-of-scope items.
docs/ROADMAP.md — Fill from templates/ROADMAP.md.template. Put the user's priorities
in "Now". Leave "Next" and "Later" with placeholder items.
docs/SPEC.md — If source code was detected in Step 1b, scan the codebase to generate
initial specs. Otherwise, create from templates/SPEC.md.template (empty).
Step 3b: Generate Specs from Source Code (only when code exists)
a. Scan for capabilities — Read route handlers, CLI commands, UI components, model files, exported functions. Identify user-facing capabilities (not internal helpers).
b. Derive Given/When/Then behaviors — For each capability, write behavioral specs describing user-observable outcomes. Use outcome language: what the user sees/gets, NOT implementation details. Anti-patterns to avoid: API paths, HTTP methods, status codes, function names, DB schemas.
c. Choose format — If 4+ capabilities or any single capability needs >30 lines of behaviors,
use multi-file docs/specs/ directory with README.md index + per-capability files.
Otherwise use single docs/SPEC.md.
d. Present for confirmation — Show the derived capabilities list and ask:
I found these capabilities in the codebase: [list]. I'll generate behavioral specs for each. Any to add, remove, or rename before I proceed?
e. Generate — Write spec files using the project's own terminology. Combine with any context from Step 2 interview answers (e.g., if user mentioned features, incorporate those).
docs/ARCHITECTURE.md — Fill from templates/ARCHITECTURE.md.template with the tech stack.
Fill the System Overview with a simple placeholder diagram. Fill the Directory Structure
from the actual project tree if code exists, or leave the template placeholder if greenfield.
Keep the default module structure and import rules.
CLAUDE.md — If it exists, append the content from templates/CLAUDE.md.template.
If not, create it from the template.
Print:
Techlead initialized:
✓ docs/GOAL.md
✓ docs/ROADMAP.md
✓ docs/SPEC.md
✓ docs/ARCHITECTURE.md
✓ CLAUDE.md
ADRs are stored as git commits with adr/ tags.
Spec records are stored as git commits with spec/ tags.
Use /propose-architecture for architectural and design decisions (tech choices, API design, data models, module structure).
Use /propose-spec to define feature specifications.
Start coding — alignment checks are now active.
When specs were generated from source code in Step 3b, replace the docs/SPEC.md line with:
✓ docs/SPEC.md (generated from codebase — N capabilities) for single-file format, or✓ docs/specs/ (generated from codebase — N capabilities) for multi-file formatIf source code was detected in Step 1b, also print:
Tip: Run /analyze-architecture for detailed architecture docs. Use /propose-spec to add or refine feature specifications.
npx claudepluginhub rroundtable/techlead --plugin techleadInterviews the user about their tech stack, dev commands, architecture, and rules, then creates/updates .chief/project.md for Chief-based project context. Use after /chief-install.
Guides creation, editing, and verification of skills for AI coding agents using test-driven development with subagent scenarios. Use when authoring or debugging skills.