## Available Skills Five Claude Code skills are installed in this repo's dev container. Each maps to a phase of the feature lifecycle. | Skill | Invoke | When to use | |-------|--------|-------------| | **grill-me** | `/grill-me` | Before implementing — stress-tests a design through sequential questioning | | **to-prd** | `/to-prd` | After a planning conversation — formalises context into a GitHub issue PRD | | **ubiquitous-language** | `/ubiquitous-language` | When domain terms are drifting or ambiguous — builds/updates `UBIQUITOUS_LANGUAGE.md` | | **tdd** | `/tdd` | During implementation — enforces vertical-slice TDD (one test → one impl → repeat) | | **improve-codebase-architecture** | `/improve-codebase-architecture` | During refactoring — surfaces shallow modules and proposes deepening opportunities | ### Typical session chains **Feature planning:** `/grill-me` → `/to-prd` → `/ubiquitous-language` **Implementation:** `/tdd` (+ `/grill-me` if a design fork appears mid-session) **Refactoring:** `/improve-codebase-architecture` → `/grill-me` → `/tdd` → `/ubiquitous-language` ### First time setting up? New containers install all skills automatically via the Dockerfile. If you're in an existing container, run: ```bash bash .devcontainer/backend/install-claude-skills.sh ``` ## Type Safety All new code must pass `pyright` with zero errors under `typeCheckingMode = strict`. Use Optional over | None Annotate all function return types. Use `dict[str, Any]` for untyped external API payloads — never bare `dict`. Add `pandas-stubs` when introducing pandas to a module.