agentsclimarketplace

Session start

Skill ClydeShen/harness-skill/skills/engineering/session-start

Briefs the current session by reading session state, handoff doc, and memory to determine the active phase, task, and context budget. Outputs a structured briefing and detects whether the phase should be skipped or reverted based on observable artifacts. Use at the start of every long-running agent session, or when user says "start session", "what are we working on", "resume", "pick up where we left off", "what's the active task".From its SKILL.md

Install
npx -y skills add ClydeShen/harness-skill --skill session-start

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

SKILL.md

5.6 KB, ~1.4k tokens by cl100k_base, as published. Nobody here has run it

Session Start

Explore → Evaluate → Brief. Never ask questions before reading available state.

State file

Session state lives in .harness/state.json. Schema:

{
  "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.jsonsession.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)

    Note: session.status and session.started_at are set automatically by the SessionStart hook before this skill runs. No manual state write needed.

  • 2. RESUME CONTEXT — determine if this is a clean resume or interrupted recovery:

    Detect interrupted session: if session.status is "in_progress" AND session.last_active is >5 minutes old → interrupted session. Output a Recovery briefing (see Step 5b).

    If last_active is absent (hook not configured), fall back to: session.started_at >30 minutes old.

    Clean resume chain (session.status: "idle" or absent):

    • a. .harness/phases/XX/.continue-here.json — primary. Read next_action, completed_work, remaining_work.
    • b. Memory system query — query active memory system for entries relevant to the active task. No GitHub required. If roam MCP tools are available (roam_context or roam_retrieve), call roam_retrieve <active_task> and include the architecture snapshot in the briefing output.
    • c. Mid-session recovery (.continue-here.json stale or absent): git log --oneline -20 + recent GitHub per-AC progress comments (gh api repos/{owner}/{repo}/issues/{N}/comments --jq '[.[] | select(.body | startswith("Progress"))] | .[-5:]').
    • d. Legacy .claude/handoff.md — use only if .continue-here.json absent and no migration has run.
    • e. Cold start — nothing found.
  • 3. EVALUATE — apply phase skip/revert (observable checks only):

    ConditionAction
    .harness/phases/01-discuss/ contains a CONTEXT.mdSkip discuss → set phase to plan
    .harness/phases/02-plan/ contains a PLAN.mdSkip discuss + plan → set phase to execute
    position.phase is 02-plan but no CONTEXT.md in 01-discuss/Revert to discuss
    position.phase is 03-execute but no PLAN.md in 02-plan/Revert to plan

    Log skip/revert in the briefing: "Phase advanced to execute — found PLAN.md in 02-plan and approved CONTEXT.md."

  • 4. COLD-START — if all of the above yield nothing (no config.json, state.json, .continue-here.json, GitHub issues):

    • Output: "No prior session state found."
    • Present what WAS found (e.g., "Found CLAUDE.md with no ## Agent skills block")
    • Suggest: "Run /setup-harness-skills to initialize .harness/ or describe what you'd like to work on."
    • Do NOT default to any phase. Wait for user input.
  • 5. OUTPUT — emit one of two briefing formats:

    5a. Clean resume briefing:

    ## Session briefing
    Phase: [discuss / plan / execute / verify] (0N-name)
    Active task: #N — [title]
    Effort remaining: ~N context window(s) (token budget: 1 = ~150K–200K tokens)
    Pick up from: [<next_action> from .continue-here.json]
    
    Budget for this session:
    [phase-specific table from context-handover/phase-budgets.md]
    
    Run /context-handover when approaching 80% usage.
    

    5b. Recovery briefing (interrupted session detected):

    ## Recovery briefing — interrupted session detected
    
    Last active: [session.last_active] — no context-handover was recorded.
    
    Phase: [position.phase]
    Active task: [position.active_task]
    Last known intent: [position.stopped_at, or next_action from stale .continue-here.json]
    
    ## What changed since interruption (git log)
    [output of: git log --after="<session.last_active>" --oneline]
    
    ## What to do
    Review the git log above. If work is partially complete, continue from the last commit.
    If the session left code in an inconsistent state, run lint+build before proceeding.
    
    Run /context-handover when approaching 80% usage.
    

Phase budget tables live in ../context-handover/phase-budgets.md.

What ships with it: 2 files

2.1 KB alongside SKILL.md

evals/

Keep looking

Skills are one crate of 325,949. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.