# Session {N}: {title} > From master plan: {plan file path} > Session {N} of {total sessions} ## Context {Why this session exists. What it accomplishes within the larger plan. Include enough background that an executor with no prior context can understand the purpose and make judgment calls.} ## Dependencies - **Depends on:** {Session M | "none — can run in parallel"} - **Blocks:** {Session P | "none"} - **Entry condition:** {what must be true before this session starts — e.g., "Session 2 committed and tests pass"} ## Scope Fence - **Touch:** {explicit list of files this session may create or modify} - **Never touch:** {files that belong to other sessions — hard boundary} ## Steps ### Step 1: {description} - **Files:** `{path}` - **Changes:** {exactly what to modify} - **Reuses:** {existing function/pattern, with file path} - **Test first:** {test file, what it verifies, pattern to follow} - **Verify:** `{exact command}` → expected: `{output}` - **On failure:** {revert | retry | skip | escalate} — {specific instructions} - **Checkpoint:** `git commit -m "{message}"` ### Step 2: {description} {same structure as Step 1} ## Exit Condition All of these must pass before this session is considered complete: - [ ] `{verification command}` → expected: `{output}` - [ ] `{verification command}` → expected: `{output}` - [ ] All changes committed with descriptive messages - [ ] No uncommitted changes remain (`git status` clean) ## Failure Handling - If ANY step fails after retry: **stop execution**. Do NOT proceed to later steps. - Commit whatever was completed successfully before stopping. - Report which step failed, the error message, and what was attempted. ## Handoff State {What the next session (or final verification) needs to know about this session's output. Include: new files created, exports added, configuration changed, APIs introduced. This section bridges sessions — it's the "baton" in a relay race.} ## Metadata - **Master plan:** `{plan file path}` - **Steps from plan:** {step N}–{step M} - **Estimated complexity:** {low | medium | high} - **Model recommendation:** {opus | sonnet} — {rationale}