session-startlisted
Install: claude install-skill ClydeShen/harness-skill
# Session Start
Explore → Evaluate → Brief. Never ask questions before reading available state.
## State file
Session state lives in `.harness/state.json`. Schema:
```json
{
"version": "1.0",
"session": {
"status": "idle",
"started_at": "ISO 8601",
"last_session": "ISO 8601"
},
"position": {
"phase": "01-discuss",
"active_task": "task title string",
"resume_file": ".harness/phases/01-discuss/.continue-here.json",
"stopped_at": "brief description of last action"
}
}
```
`session.status`: `"idle"` (clean close) | `"in_progress"` (active or interrupted).
## Execution sequence
- [ ] **1. EXPLORE** — if the `SessionStart` hook ran, state fields are already in your context window via `additionalContext` — use them directly. Otherwise read:
- `.harness/state.json` → `session.status`, `session.last_active`, `position.*`
- `.harness/config.json` → GitHub owner, repo, project board ID (harness key)
- `.harness/phases/XX-name/.continue-here.json` → path from `position.resume_file`
- `.git/config` → remote origin (fallback if config.json absent)
- `CLAUDE.md` / `AGENTS.md` → `## Agent skills` block present? (setup indicator)
- `.harness/phases/01-discuss/` → any `CONTEXT.md` files? (phase skip signal)
- `.harness/phases/02-plan/` → any `PLAN.md` files? (phase skip signal)
- `MEMORY.md` or top-3 memory entries relevant to active task
- `.claude/handoff.md` → legacy fallback if .continue-here.json absent (deprecated)
> **Not