The interesting part isn't that I'm using Claude — it's how the workflow is shaped. The repo has a .claude/skills/ directory with nine domain-specific skills I built for this project:
- add-phase — plan and scaffold a new development phase
- verse-api — UEFN device API and Verse language reference
- verse-snippet — common Verse patterns (zone handlers, NPC nav, persistence, HUD)
- verse-check — soft linter, run before compiling in UEFN
- verse-debug — parse compile errors and runtime bugs from UEFN output
- verse-concurrency — design async patterns with race / sync / rush / branch
- verse-refactor — duplication and complexity analysis between phases
- playtest-checklist — generate a manual playtest checklist for the current phase
- update-claude-md — keep project docs in sync with the actual Verse code
The CLAUDE.md is 220+ lines of living spec — phase status, device wiring, conventions, common imports, key device APIs, and a growing Verse Gotchas Learned section. It's institutional knowledge that compounds: every gotcha I hit gets documented so the next session starts smarter than the last.
The workflow itself is a clean split. Claude writes the Verse files and explains what to do. I do all editor work — placing devices, wiring @editable refs, compiling with Ctrl+Shift+B, playtesting in Launch Session. UEFN project files are generated by the editor; Claude doesn't touch them. Per phase: Claude scaffolds the code and a playtest checklist, I run it, I report back with output logs and observations, Claude diagnoses and updates. Repeat until the phase passes its smoke test, then update CLAUDE.md and move on.