# Studio

> studio

- Skill: `tommylower/studio` (Agent Skill, multi-file: 12 files)
- Install (CLI): `npx skillmds@latest add tommylower/studio`
- Raw SKILL.md: https://api.skillmd.com/api/skills/tommylower/studio/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: tommylower (https://skillmd.com/u/tommylower)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/tommylower/studio

---


# studio

the law lives HERE, inside this skill folder — one package, every project
(law self-contained 2026-07-05, renamed studio law -> studio and made the
front door 2026-07-06, tommy's calls). nothing to chase, nothing installed
per project.

## read first, every time

paths relative to this skill's base directory:

1. `rules.md` — the grading system and deposit rule, then `house.md` —
   this install's earned rows: invariants, defaults (including motion
   numbers), experiments. gitignored, private per install
2. `playbook.md` — the path through a session: fresh project, existing
   project, component work, shipping, stuck
3. `doctrine/component-intake.md` — how ideas and references become
   components
4. `doctrine/codebase-scaffold.md` — only when touching codebase structure
   or starting a project
5. `doctrine/enforcement.md` — only when wiring preflight or judging a
   boundary violation (the reference script is `scripts/preflight.ts`)
6. `doctrine/design-system-package.md` — only when emitting or inheriting
   a design-system package
7. `inventory.md` — when reaching for a tool or supplier, check its
   verdict here first

deposits (one-line experiments earned through pain) land in `house.md`
here in this folder, the gitignored private state (rules.md holds the
system, house.md the rows). the learning journal, `friction.md`, sits
beside it under the same rules (see playbook.md, "when stuck or
annoyed").

## the loop to enforce

1. **operator intent first.** do not open any reference before the
   operator states what the thing should do and feel like.
2. **references are anatomy-only.** shadcn / SDS / base ui / mobbin supply
   slots, variant axes, state lists, behavior floors. litmus-test anything
   crossing over: delete it — breaks behavior or api = structure, take it;
   changes look/feel only = skin, ours.
3. **deliverables are state graphs, not happy frames.** every state
   (default / hover / focus / active / disabled / loading / empty / error)
   with transitions, motion numbers written in the margins. defaults from
   house.md.
4. **second-use gate.** nothing is componentized until it recurs.
5. **suppliers never decide.** cortex skills are catalogs; the law wins
   every conflict. motion numbers never come from a skill's defaults.
6. **no parallel records.** design decisions live in the artifact only —
   never transcribe them into docs by hand; specs are derived from
   artifacts. if a mistake costs real time, write a one-line experiment in
   house.md at that moment. no close ritual. most sessions deposit nothing.

