All related projects (fulcro-rad-demo, fulcro-rad-datomic, statecharts, dataico-expansion, fulcro-rad-semantic-ui, etc.) live in the parent directory (../). Specs reference them using relative paths like ../fulcro-rad-demo/. Do not use absolute paths — developers may have the projects checked out in different locations, but the parent directory structure is consistent.
The top-level agent is a pure coordinator. It does ZERO implementation or testing work. Its job:
TeamCreate)TaskCreate)The conductor never:
Task tool with model: "opus" and subagent_type: "general-purpose"subagent_type: "critique" with model: "opus"model: "haiku" for search/grep/read tasksDepends-on fields — never start a spec before its dependencies are doneAs agents work, they should create and update CLAUDE.md files in subdirectories to preserve decisions, patterns, and gotchas for future sessions and agents. These are compact memory files, not documentation — bullet points, not essays.
src/main/com/fulcrologic/rad/form/CLAUDE.mdCLAUDE.md in a directory before starting work theredone in TRACKER.md# Spec: Feature Name
**Status**: backlog|active|blocked|done
**Priority**: P0|P1|P2|P3
**Created**: YYYY-MM-DD
**Completed**: YYYY-MM-DD (if done)
**Owner**: conductor|AI
**Depends-on**: list of spec names this depends on
## Context
Problem statement
## Requirements
1. Numbered requirements
## Affected Modules
- `path/to/file.cljc` - Description
## Approach
High-level summary
## Open Questions
- Questions for human review
## Verification
1. [ ] Verification checklist
The conductor should tell each implementer which skills to load based on the task. Common mappings:
| Task Type | Skills to Load |
|---|---|
| Any .clj/.cljs/.cljc work | clojure (MANDATORY, load first) |
| Running code or tests | clojure-repl (MANDATORY) |
| Writing tests with fulcro-spec | fulcro-spec-tdd |
| Statechart work | statechart |
| Fulcro framework | fulcro |
| RAD patterns | fulcro-rad |
| UISM understanding (read-only reference) | fulcro-uism |
| Converting CLJS to CLJC | clj-stubs |
| Headless testing | fulcro-headless |
| Guardrails/schemas | guardrails |
When spawning an implementer, the conductor should include in the prompt:
You are an implementer agent on the fulcro-rad-statecharts team.
FIRST: Load these skills: [list skills]
THEN: Read the spec at docs/ai/specs/[spec-name].md
ALSO: Check for CLAUDE.md files in directories you'll work in
Your task: [description]
IMPORTANT:
- Commit and push progress at major checkpoints (on the current branch)
- When you're done, KILL YOUR REPL before exiting (don't leave orphan processes)
- Use sub-agents (Explore with haiku model) for codebase research
- Create/update CLAUDE.md files in directories where you make non-obvious decisions
- When done, report what you completed and any issues found
Convert fulcro-rad from Fulcro UI State Machines (UISMs) to the fulcrologic statecharts library. All routing should use statecharts routing (not Fulcro dynamic routing). Everything must be CLJC for headless testing support. The public API should remain as similar as possible.
Can you improve this documentation?Edit on GitHub
cljdoc builds & hosts documentation for Clojure/Script libraries
| Ctrl+k | Jump to recent docs |
| ← | Move to previous article |
| → | Move to next article |
| Ctrl+/ | Jump to the search field |