返回技能列表

read-continue-here

pjt222
更新于 2 days ago
7 次查看
17
2
17
在 GitHub 上查看
设计aiautomation

关于

This skill enables Claude to automatically detect and resume work from a prior session by reading a `CONTINUE_HERE.md` file at startup. It parses the structured handoff, confirms the resumption plan with the user, and cleans up after consumption. Use it when bootstrapping after interruptions or to set up automatic continuation detection via SessionStart hooks.

快速安装

Claude Code

推荐
主要方式
npx skills add pjt222/agent-almanac -a claude-code
插件命令备选方式
/plugin add https://github.com/pjt222/agent-almanac
Git 克隆备选方式
git clone https://github.com/pjt222/agent-almanac.git ~/.claude/skills/read-continue-here

在 Claude Code 中复制并粘贴此命令以安装该技能

技能文档

Read Continue Here

Read a structured continuation file and resume work from where the prior session left off.

When to Use

  • Starting a new session and CONTINUE_HERE.md exists in the project root
  • After a SessionStart hook injects continuation context
  • Bootstrapping identity and detecting prior session artifacts
  • Setting up automatic continuation detection for a project (one-time infrastructure)

Inputs

  • Required: A project directory (defaults to current working directory)
  • Optional: Whether to configure infrastructure (SessionStart hook + CLAUDE.md instruction)
  • Optional: Whether to delete the file after consumption (default: yes)

Procedure

Step 1: Detect and Read the Continuation File

Check for CONTINUE_HERE.md in the project root:

ls -la CONTINUE_HERE.md 2>/dev/null

If absent, exit gracefully — there is nothing to continue from.

If present, read the file contents. Parse the 5 sections: Objective, Completed, In Progress, Next Steps, Context. Extract the timestamp and branch from the header line.

Got: The file is read and its sections are parsed into a clear mental model of the prior session's state.

If fail: If the file exists but is malformed (missing sections, empty), treat it as a partial signal — extract whatever is present and note what is missing to the user.

Step 2: Assess Freshness

Compare the file's timestamp against the current time:

# File modification time
stat -c '%Y' CONTINUE_HERE.md 2>/dev/null || stat -f '%m' CONTINUE_HERE.md
# Current time
date +%s

Classify freshness:

  • Fresh (< 24 hours, same branch): safe to act on directly
  • Stale (> 24 hours or different branch): flag to user before proceeding
  • Superseded (new commits exist after the handoff timestamp): someone worked on the project since the handoff

Check branch alignment:

git branch --show-current
git log --oneline --since="$(stat -c '%Y' CONTINUE_HERE.md | xargs -I{} date -d @{} --iso-8601=seconds)" 2>/dev/null

Got: A freshness assessment with classification (fresh, stale, or superseded) and supporting evidence.

If fail: If not in a git repo, skip branch and commit checks. Rely on the timestamp in the file header alone.

Step 3: Summarize and Confirm Resumption

Present the continuation state to the user concisely:

  • "Prior session objective: [Objective]"
  • "Completed: [summary]"
  • "In progress: [summary]"
  • "Proposed next action: [Next Steps item 1]"

If freshness is "stale" or "superseded", present the evidence and ask whether to proceed with the handoff or start fresh.

If any Next Steps items are tagged **[USER]**, surface those explicitly — they require user decisions before work can proceed.

Got: The user confirms the resumption plan, possibly with adjustments. The agent has a clear mandate for what to do next.

If fail: If the user says "start fresh" or "ignore that file", acknowledge and proceed without the continuation context. Offer to delete the file to prevent future confusion.

Step 4: Act on the Handoff

Begin working from Next Steps item 1 (or wherever the user directed):

  • Reference In Progress items to understand partial state
  • Use the Context section to avoid retrying failed approaches
  • Treat Completed items as done — do not re-verify unless the user asks

Got: The agent is productively working on the right task, informed by the continuation file.

If fail: If the Next Steps are ambiguous or the In Progress state is unclear, ask the user for clarification rather than guessing.

Step 5: Clean Up

After the handoff is consumed and work is underway, delete CONTINUE_HERE.md:

rm CONTINUE_HERE.md

Stale continuation files cause confusion in future sessions.

Got: The file is removed. The project root is clean.

If fail: If the user wants to keep the file (e.g., as a reference during the session), leave it but note that it should be deleted before session end to prevent the next session from re-consuming it.

Step 6: Configure SessionStart Hook (Optional)

If not already configured, set up automatic reading of CONTINUE_HERE.md on session start.

Create the hook script:

mkdir -p ~/.claude/hooks/continue-here

cat > ~/.claude/hooks/continue-here/read-continuation.sh << 'SCRIPT'
#!/bin/bash
# SessionStart hook: inject CONTINUE_HERE.md into session context
# OS-aware: works on native Linux, WSL, macOS, and Windows (Git Bash/MSYS)
set -uo pipefail

# --- Platform detection ---
detect_platform() {
  case "$(uname -s)" in
    Darwin) echo "mac" ;;
    Linux)
      if grep -qi microsoft /proc/version 2>/dev/null; then
        echo "wsl"
      else
        echo "linux"
      fi ;;
    MINGW*|MSYS*|CYGWIN*) echo "windows" ;;
    *) echo "unknown" ;;
  esac
}
PLATFORM=${PLATFORM:-$(detect_platform)}

CONTINUE_FILE="$PWD/CONTINUE_HERE.md"

if [ ! -f "$CONTINUE_FILE" ]; then
  exit 0
fi

# Strip CRLF (files on NTFS often have Windows line endings)
CONTENT=$(sed 's/\r$//' "$CONTINUE_FILE")

# JSON-escape: prefer jq, fall back to portable awk
if command -v jq >/dev/null 2>&1; then
  ESCAPED=$(printf '%s' "$CONTENT" | jq -Rsa .)
else
  ESCAPED=$(printf '%s' "$CONTENT" | awk '
    BEGIN { ORS=""; print "\"" }
    {
      gsub(/\\/, "\\\\")
      gsub(/"/, "\\\"")
      gsub(/\t/, "\\t")
      if (NR > 1) print "\\n"
      print
    }
    END { print "\"" }
  ')
fi

cat << EOF
{"hookSpecificOutput":{"sessionStartContext":{"additionalContext":$ESCAPED}}}
EOF
SCRIPT

chmod +x ~/.claude/hooks/continue-here/read-continuation.sh

Add to ~/.claude/settings.json in the SessionStart hooks array:

{
  "type": "command",
  "command": "~/.claude/hooks/continue-here/read-continuation.sh",
  "timeout": 5
}

Got: The hook script exists, is executable, and is registered in settings.json. On next session start, if CONTINUE_HERE.md exists, its content is injected into the session context.

If fail: Check that settings.json is valid JSON after editing. Test the hook manually: cd /your/project && ~/.claude/hooks/continue-here/read-continuation.sh. The script falls back to awk if jq is not installed, so jq is recommended but not required.

Step 7: Add CLAUDE.md Instruction (Optional)

Add a brief instruction to the project's CLAUDE.md so Claude understands the file's purpose:

## Session Continuity

If `CONTINUE_HERE.md` exists in the project root, read it at session start. It contains a structured handoff from a prior session: objective, completed work, in-progress state, next steps, and context. Act on it — acknowledge the continuation, summarize prior state, and propose resuming from the Next Steps section. If the file is older than 24 hours, flag this to the user before proceeding. After the handoff is consumed, the file can be deleted.

Got: CLAUDE.md contains the instruction. Future sessions will read and act on CONTINUE_HERE.md even if the SessionStart hook is not configured.

If fail: If CLAUDE.md does not exist, create it with just this section. If the file is too long, add the instruction near the top where it will not be truncated.

Validation

  • CONTINUE_HERE.md was detected (or absence was handled gracefully)
  • Freshness was assessed (timestamp, branch, post-handoff commits)
  • Resumption plan was presented to and confirmed by the user
  • Work began from the correct Next Steps item
  • The file was cleaned up after consumption
  • (Optional) SessionStart hook script exists and is executable
  • (Optional) CLAUDE.md contains the session continuity instruction

Pitfalls

  • Acting without confirming: Always present the resumption plan to the user. They may have changed their mind about what to work on, even if the file is fresh.
  • Trusting stale files blindly: A continuation file older than 24 hours or from a different branch is a suggestion, not a mandate. Always check freshness.
  • Ignoring the Context section: The most valuable part of the file is often the failed approaches. Skipping this section leads to retrying dead ends.
  • Forgetting to clean up: Leaving CONTINUE_HERE.md after consumption causes confusion in the next session, which will try to act on it again.
  • Treating Completed items as unverified: Unless the user specifically asks, do not re-do completed work. Trust the prior session's assessment.

Related Skills

  • write-continue-here — the complement: writing the continuation file at session end
  • bootstrap-agent-identity — full identity reconstruction that includes continuation detection as one heuristic
  • manage-memory — durable cross-session knowledge (complements this ephemeral handoff)
  • write-claude-md — project instructions where the optional continuity guidance lives

GitHub 仓库

pjt222/agent-almanac
路径: i18n/caveman-lite/skills/read-continue-here
0
agentsagentskillsai-assisted-developmentclaude-codeskillsteams

相关推荐技能

executing-plans

设计

该Skill用于当开发者提供完整实施计划时,以受控批次方式执行代码实现。它会先审阅计划并提出疑问,然后分批次执行任务(默认每批3个任务),并在批次间暂停等待审查。关键特性包括分批次执行、内置检查点和架构师审查机制,确保复杂系统实现的可控性。

查看技能

requesting-code-review

设计

该Skill可在完成任务、实现主要功能或合并代码前自动调度代码审查子代理,确保实现符合需求和计划。它支持通过指定git SHA范围进行精准的代码变更审查,帮助开发者在关键节点及时发现潜在问题。核心原则是"早审查、勤审查",适用于开发流程的各个关键阶段。

查看技能

connect-mcp-server

设计

这个Skill指导开发者如何将MCP服务器连接到Claude Code,支持HTTP、stdio和SSE三种传输协议。它涵盖了从安装配置到认证安全的完整流程,适用于集成GitHub、Notion、数据库等外部服务。当开发者需要添加集成、配置外部工具或提及MCP相关功能时,这个Skill能提供实用的操作指南。

查看技能

web-cli-teleport

设计

该Skill帮助开发者根据任务特性选择Claude Code的Web或CLI界面,并指导如何在两种环境间无缝迁移会话。它能分析任务复杂度、迭代需求等要素,推荐最优工作界面和工作流。关键特性包括会话状态管理、环境切换指导和上下文优化建议。

查看技能