> Gemini-specific refresh behavior belongs in tooling, not in a second policy file.

---
name: ccd-start
description: This skill should be used when beginning a new AI coding session, resuming after context loss or compaction, or switching to a different next step — loads effective policy, memory, and handoff state from the landed CCD model
---

# CCD Session Start

Load the current session context from the landed CCD state model and get immediately operational.

## Gotchas

- **Shared safety contract:** start from read-only CCD surfaces, keep machine-readable stdout clean, prefer compact output.
- **Stale worktree binaries:** never fall back to `./target/debug/ccd` — worktree-local binaries go stale after merges.
- **Git workflow split:** keep branch/worktree/commit/push/merge coaching in `ccd-git-workflow`.
- **Extension context is opt-in:** load details only when extension context is needed; adapter-specific state stays behind explicit extension surfaces.
- **CCD-local mutation only:** do not modify project-truth files during session start. The only expected mutation is CCD-local session bootstrap.
- **Recovery is not truth:** recovery artifacts are bounded supporting evidence, not a replacement for durable memory or the effective handoff.
- **No fetch on refresh:** `--refresh` does not run `git fetch`, so stale `origin/*` refs can delay advisory detection.

## Preflight

1. Resolve the CLI command once: `CCD_BIN` → `which ccd` → `$HOME/.ccd/bin/ccd` → `$HOME/.cargo/bin/ccd`. Do **not** fall back to `./target/debug/ccd`.
2. If unavailable, stop and suggest resolving the CLI first.
3. Run the startup command:
   ```bash
   ccd --output json start --refresh --activate --memory-depth metadata \
     --fields command,ok,disposition,compact_summary,session_boundary,alerts,recovery,escalation,activation \
     --path .
   ```
   For runtime-specific lifecycle bootstrap (host-hook path), see `references/start-details.md`.

## Summarize

Present a bounded operator brief answering only: (1) what should happen next, (2) whether anything must be fixed first.

- **Next:** one direct question using the handoff title as focus. Strip boilerplate (`Next Session:` / `Next:`) before rendering.
- **Attention:** add one short line only when the human must decide before continuing (blocking escalation, stale checkout advisory).
- Expand only on request — at most 1-3 lines from `current_system_state`, `recovery.checkpoint`, or alert evidence.
- Keep machine internals out of the default brief; JSON/MCP is the full-fidelity contract.
- **Blocked continuity:** if `disposition` is `resume_blocked_continuity`, lead with `escalation` as the primary blocker.

When `recovery.status` is `loaded`, prefer `recovery.checkpoint` for "what was I about to do?" and `recovery.working_buffer.summary_lines` only as bounded recency context.

## Ready check

End with the `Next:` question. Do not add a generic triage menu. If `session_boundary.action` is `stop` or `wrap_up`, reflect it in the `Attention:` line.

For delegation, child-bootstrap, runtime tier details, and extended adapter paths, load `references/start-details.md`.
