关于 session-init
Session Init Skill 帮助 Claude Code 用户在会话开始时了解项目状态。它检查 Git 状态、计划、角色指引、上次交接记录和共享记忆恢复包,并汇总优先事项与后续行动。
主要功能
- 01检查分支与未提交更改
- 02查看 Plans.md 和 AGENTS.md
- 03加载上次会话上下文
- 04汇总进行中的任务与优先级
- 05提示 Plans.md 文件过长
适用场景
- 01开始工作会话时了解项目情况
- 02恢复中断的工作
- 03根据项目计划选择下一项任务
MCP 相关
该技能要求从共享数据库获取 Unified Harness Memory 恢复包,并规定了检索上下文及检查记忆服务状态的工具调用。
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ chachamaru127/ claude-code-harness --skill session-init安装后在 Claude Code 中输入/session-init确认已加载。
详细介绍
Session Init 技能
用于在会话开始时检查环境并了解当前任务状态的技能。
调用条件
此技能会通过 session / SessionStart 系列流程在内部调用。
面向用户的入口是 /session 或常规会话开始流程。
旧触发短语:
- “开始会话”
- “开始工作”
- “开始今天的工作”
- “检查一下状态”
- “我该做什么?”
- "start session"
- "what should I work on?"
概述
Session Init 技能会在 Claude Code 会话开始时自动检查以下内容:
- Git 状态:当前分支、未提交的更改
- Plans.md:进行中的任务、已分配的任务
- AGENTS.md:角色分工、禁止事项
- 上次会话:交接事项
- 最新 snapshot:进度快照摘要和与上次的差异
执行步骤
Step 0:文件状态检查(自动整理)
会话开始前检查文件大小:
# Plans.md の行数チェック
if [ -f "Plans.md" ]; then
lines=$(wc -l < Plans.md)
if [ "$lines" -gt 200 ]; then
echo "⚠️ Plans.md が ${lines} 行です。「整理して」で整理を推奨"
fi
fi
# session-log.md の行数チェック
if [ -f ".claude/memory/session-log.md" ]; then
lines=$(wc -l < .claude/memory/session-log.md)
if [ "$lines" -gt 500 ]; then
echo "⚠️ session-log.md が ${lines} 行です。「セッションログを整理して」で整理を推奨"
fi
fi
如需整理,则显示建议(不影响工作)。
Step 0.5:旧版本地记忆兼容处理(可选)
当前标准是 Step 0.7 的 Unified Harness Memory。 原则上无需检查旧版本地记忆兼容性,仅在需要特别确认迁移时才单独参阅。
注:正常运行时跳过此步骤,并将公共 DB 中的 Resume Pack 作为唯一的恢复入口。
Step 0.7:Unified Harness Memory Resume Pack(必需)
从 Codex / Claude / OpenCode 公共 DB(~/.harness-mem/harness-mem.db)获取恢复上下文。
必需调用:
harness_mem_resume_pack(project, session_id?, limit=5, include_private=false)
运行规则:
project必须指定当前项目名称session_id按$CLAUDE_SESSION_ID→.claude/state/session.json的.session_id顺序获取harness_mem_sessions_list(project, limit=1)的首项仅用于只读的恢复确认,不得用于通过record_checkpoint/finalize_session写入- 将获取结果注入会话开始时的上下文
- 获取失败时,通过
harness_mem_health()检查 daemon 状态,明确说明失败并继续 - 按
scripts/harness-memd doctor→scripts/harness-memd cleanup-stale→scripts/harness-memd start的顺序恢复
Step 1:环境检查
并行执行以下内容:
# Git状態
git status -sb
git log --oneline -3
# Plans.md
cat Plans.md 2>/dev/null || echo "Plans.md not found"
# AGENTS.md の要点
head -50 AGENTS.md 2>/dev/null || echo "AGENTS.md not found"
Step 2:了解任务状态
从 Plans.md 中提取以下内容:
cc:WIP- 从上次延续的任务pm:依頼中- PM 新分配的任务(兼容:cursor:依頼中)cc:TODO- 尚未开始但已分配的任务
Step 3:输出状态报告
## 🚀 セッション開始
**日時**: {{YYYY-MM-DD HH:MM}}
**ブランチ**: {{branch}}
**セッションID**: ${CLAUDE_SESSION_ID}
---
### 📋 今日のタスク
**優先タスク**:
- {{pm:依頼中(互換: cursor:依頼中) または cc:WIP のタスク}}
**その他のタスク**:
- {{cc:TODO のタスク一覧}}
---
### ⚠️ 注意事項
{{AGENTS.md からの重要な制約・禁止事項}}
---
**作業を開始しますか?**
输出格式
会话开始时,简洁地提供以下信息:
| 项目 | 内容 |
|---|---|
| 当前分支 | 例如 staging |
| 优先任务 | 最重要的 1-2 项 |
| 注意事项 | 禁止事项摘要 |
| 下一步行动 | 具体建议 |
相关命令
/work- 执行任务(支持并行执行)/sync-status- Plans.md 进度摘要/maintenance- 自动整理文件
注意事项
- 务必确认 AGENTS.md:了解角色分工后再开始工作
- 如果没有 Plans.md:提示使用
/harness-init - 如果上次工作中断:确认是否继续
评论
支持 Markdown