First run
The goal of this step is not to write a test. It is to let the base detect which stage it is at on its own, and to set the rhythm the AI will use when it asks you questions. Usually wraps under 10 minutes.
1) Run Claude Code in the base folder
Section titled “1) Run Claude Code in the base folder”If Clone and install ended with cd my-app-e2e, stay in that folder and run:
claudeWhen the Claude Code prompt comes up, it reads CLAUDE.md and the automation rules silently. Nothing much shows on screen — that is fine.
2) One line to begin
Section titled “2) One line to begin”Type this into the Claude Code prompt:
start project setupOr /start. Either way, it triggers the start router skill. The first thing the router does is quietly detect the current stage.
The stage is a name for how far you have gotten. It climbs in order: empty (nothing done) → paced (rhythm set) → analyzed (decided what to test) → designed (tools decided) → scaffolded (skeleton laid) → implemented (tests written) → verified (validation passed).
On the very first run the stage reads empty. The router auto-generates the empty templates (active.md, progress.md, MEMORY.md) and then suggests /1-pace.
3) /1-pace — pick a rhythm
Section titled “3) /1-pace — pick a rhythm”When /1-pace runs, one question shows up.
What pace would you like to move at? I’ll match the rhythm of my questions.
- First time, or I’d like to go slow (novice)
- Comfortable with development, let’s move fast (experienced)
If this is your first time, novice is the safer pick. The AI walks the decision questions from the steps ahead (which track your app is, which flows are fatal, which tools to use) one at a time. It explains each option in detail and recommends the safest default first.
Pick experienced and related questions arrive in bundles of two or three. Both routes reach the same decisions — the rhythm differs. One exception: decisions that are expensive to undo (tool choice, for one) get asked one at a time even on the experienced rhythm.
Your answer gets pinned into .claude/state/user-pace.json. Every step from here on rides on that rhythm. If you change your mind later, call /1-pace again and choose “keep / change.”
4) When the plan shows up, confirm once
Section titled “4) When the plan shows up, confirm once”Once the rhythm is set, the router shows the next flow that fits the detected stage on one screen and asks whether to proceed. On a first run, something like this is on screen.
/1-pace → /2-setup-base → /3-analyze-target → /4-design-suite → /5-implement-suite → /6-cleanup-residue → /run-suite → /review-e2eThat line is the whole journey ahead. The names may be unfamiliar, but you do not need to memorize them. At each step the AI tells you what to call next.
If you agree to proceed, the router calls /2-setup-base first and then the rest in order. That step lays or confirms the common test skeleton (TypeScript config, package manager choice, package.json scripts). The track tool for your app does not get installed yet. That comes after you pick a track.
5) The healthy shape and where it pauses
Section titled “5) The healthy shape and where it pauses”Healthy shape: a progress line like Phase 2 setup-base complete rolls past, followed by guidance on what to call next. On a first run it usually pauses here, and you move on to Choose your target.
Where it pauses: if the AI asks “what app are we testing?”, that means it has flowed naturally into the next step (/3-analyze-target). If your app’s details are not sorted out yet, do not rush the answer — it is cleaner to read Choose your target first and come back to answer.
If /start is not recognized: the .claude/skills/ folder did not come along with your fork. Run ls .claude/skills/ and check that a start directory is there. If it is missing, you need to pull the base again.
When you forget where you left off
Section titled “When you forget where you left off”If you took a few days off, or /clear wiped the chat window, call /resume in the next session. It composes “which stage you are at, what you did last, and what to call next” into one screen. The fuller flow is laid out in When the AI gets stuck.
With the rhythm set, it is time to introduce your app to the base. Head to Choose your target.