# Craft Platform - darinbuilds.com

> Taste is now a real skill. Judgment built in. Craft is the harness behind it - 27 specialized agents, 6 of them designed themselves.

## How Craft Thinks

Every /craft invocation reads state and routes to the right action. No menus. No configuration. State drives everything.

## The Hook System

7 lifecycle events power the plugin. Every action flows through hooks. The agent never sees the wiring.

### hooks.json - The model forgets, a hook doesn’t

I used to write the rules into the prompt and then watch them evaporate. Context gets compacted, the model drifts, and three hours later it’s cheerfully editing a file I told it never to touch. So the rules moved into shell scripts that fire on lifecycle events instead. Not elegant - it’s bash and JSON - but you wire the plumbing once and it’s invisible forever. The write gate is one of these hooks, which is why the agent literally can’t write when the gate is closed. It’s not being obedient. It just has no hands.

Source: https://github.com/drobins25/craft/blob/main/hooks/hooks.json

### stop-hook-guard.sh - Don’t let the chain die at the handoff

Invoking a skill ends the turn. So skill A calls skill B, B finishes, and the chain quietly dies right at the spot where the actual work was supposed to keep going. Now A drops a breadcrumb before it hands off, and the Stop hook finds it and tells the agent: don’t stop, you’re mid-chain. The crumb is one-shot - read once, deleted - with a 30 minute TTL. I’d rather drop a chain now and then than build something that can trap itself in a loop forever.

Source: https://github.com/drobins25/craft/blob/main/hooks/scripts/stop-hook-guard.sh

## The Agents (27 total)

- **muse** - Hears the feeling underneath the feature request.
- **alchemist** - Animates interfaces with CSS before JavaScript.
- **conductor** - Designs agent systems that survive run 50.
- **doc-writer** - Writes docs for the person who arrived stuck.
- **crystallizer** - Distills research into an inhabitable expert mind.
- **riff** - Thinks with you, leaves no fingerprints.
- **project-scanner** - Detects the stack before asking any questions.
- **plan-chunks-agent** - Researches deep, plans chunk by chunk.
- **implementer** - Builds the spec, validates before shipping.
- **tester** - Writes tests that survive production pressure.
- **chunk-validator** - Runs quality gates, reports what failed.
- **claims-auditor** - Checks the claims, not the code.
- **verifier** - Tries to break a single research claim.
- **practitioner-reviewer** - Challenges verified claims from lived experience.
- **pr-reviewer-expert** - Reviews diffs with full codebase context.
- **maze-architect** - Generates review questions with zero intent context.
- **researcher** - Investigates one question, writes findings to disk.
- **research-synthesizer** - Merges parallel research without laundering it.
- **become-researcher** - Collects psychological material, not facts.
- **guide** - Explains craft, grounded in the source.
- **qa-analyzer** - Finds bugs before users find them.
- **ux-analyzer** - Evaluates friction, cognitive load, accessibility.
- **creative-analyzer** - Finds the wow moments and viral potential.
- **style-analyzer** - Catches design drift from locked tokens.
- **walkthrough-analyzer** - Interacts with the live app as a real user.
- **playwright-browser** - Owns a live browser session end-to-end.
- **product-anthropologist** - Diagnoses whether the problem actually exists.

Each agent runs in isolated context via Task tool. No shared memory between agents.

### Crystallized agents (designed by /craft:become)

muse, alchemist, conductor, doc-writer, crystallizer, riff

These agents have crystallized_from provenance - they were synthesized from psychological research into 210-line agent files.

## Validation Pipeline

- TypeScript Strict
- Lint
- No Any Types
- Build
- TDD Verification
- Tests + Coverage
- Design Tokens

### chunk-validator agent - 4 checks per chunk, all 7 at the finish

The gate is absolute. Running all 7 every single chunk is not - next build and the full suite are way too slow to sit through twenty times in a row. So per chunk you get the 4 cheap ones: typecheck, lint, no any types, design tokens. Build and full tests wait for story-final. The cost is real, and I’ll say it plainly: you can get 3 chunks deep before a build break surfaces. Still beats a loop nobody wants to run.

Source: https://github.com/drobins25/craft/blob/main/agents/chunk-validator.md

## Tech Stack

TypeScript, Claude Code Plugin API, Custom Hooks (Python + Bash), YAML State Machine, 55+ Bash Tests, 27 Specialized Agents, 30 Commands, 11 Skills, 7-Check Validation Pipeline
