session-memory
npx skills add https://github.com/chachamaru127/claude-code-harness --skill session-memory
Agent 安装分布
Skill 文档
Session Memory Skill
ã»ãã·ã§ã³éã®å¦ç¿ã¨è¨æ¶ã管çããã¹ãã«ã éå»ã®ä½æ¥å å®¹ãæ±ºå®äºé ãå¦ãã ãã¿ã¼ã³ãè¨é²ã»åç §ãã¾ãã
ããªã¬ã¼ãã¬ã¼ãº
ãã®ã¹ãã«ã¯ä»¥ä¸ã®ãã¬ã¼ãºã§èªåèµ·åãã¾ãï¼
- ãååä½ãããï¼ããååã®ç¶ãããã
- ãå±¥æ´ãè¦ãã¦ããéå»ã®ä½æ¥ã
- ããã®ããã¸ã§ã¯ãã«ã¤ãã¦æãã¦ã
- “what did we do last time?”, “continue from before”
æ¦è¦
ãã®ã¹ãã«ã¯ .claude/memory/ ã«ä½æ¥å±¥æ´ãä¿åãã
ã»ãã·ã§ã³éã§ã®ç¥èã®ç¶ç¶ãå®ç¾ãã¾ãã
ãããã¦ãéè¦ãªæ
å ±ã¯ãã©ãã«æ®ãã¹ããããæç¢ºã«ãã¾ãï¼è©³ç´°: docs/MEMORY_POLICY.mdï¼ã
ã¡ã¢ãªæ§é
.claude/
âââ memory/
â âââ session-log.md # ã»ãã·ã§ã³ãã¨ã®ãã°
â âââ decisions.md # éè¦ãªæ±ºå®äºé
â âââ patterns.md # å¦ãã ãã¿ã¼ã³
â âââ context.json # ããã¸ã§ã¯ãã³ã³ããã¹ã
âââ state/
âââ agent-trace.jsonl # Agent Traceï¼ãã¼ã«å®è¡å±¥æ´ï¼
æ¨å¥¨éç¨ï¼SSOT/ãã¼ã«ã«åé¢ï¼
- SSOTï¼å
±ææ¨å¥¨ï¼:
decisions.md/patterns.md- ãæ±ºå®ï¼Whyï¼ãã¨ãåå©ç¨ã§ããè§£æ³ï¼Howï¼ããéç´ãã
- åã¨ã³ããªã¯ ã¿ã¤ãã« + ã¿ã°ï¼ä¾:
#decision #dbï¼ãä»ããå é ã« Index ãç½®ã
- ãã¼ã«ã«æ¨å¥¨:
session-log.md/context.json/.claude/state/- ãã¤ãº/è¥å¤§åãããããããåºæ¬ã¯ Git 管çããªãï¼å¿ è¦ãªãåå¥ã«å¤æï¼
èªåè¨é²ãããæ å ±
session-log.md
åã»ãã·ã§ã³è¨é²ã«ã¯ ${CLAUDE_SESSION_ID} ç°å¢å¤æ°ãæ´»ç¨ãã¦ã»ãã·ã§ã³IDãä»ä¸ãã¾ãã
ããã«ãããã»ãã·ã§ã³éã®ãã¬ã¼ãµããªãã£ãåä¸ãã¾ãã
## ã»ãã·ã§ã³: 2024-01-15 14:30 (session: abc123def)
### å®è¡ããã¿ã¹ã¯
- [x] ã¦ã¼ã¶ã¼èªè¨¼æ©è½ã®å®è£
- [x] ãã°ã¤ã³ãã¼ã¸ã®ä½æ
### çæãããã¡ã¤ã«
- src/lib/auth.ts
- src/app/login/page.tsx
### éè¦ãªæ±ºå®
- èªè¨¼æ¹å¼: Supabase Auth ãæ¡ç¨
### 次åã¸ã®å¼ãç¶ã
- ãã°ã¢ã¦ãæ©è½ãæªå®è£
- ãã¹ã¯ã¼ããªã»ãããå¿
è¦
Note:
${CLAUDE_SESSION_ID}㯠Claude Code ãèªåè¨å®ããç°å¢å¤æ°ã§ãã ã»ãã·ã§ã³ãã¨ã«ä¸æã®IDãå²ãå½ã¦ããããã°ã®è¿½è·¡ãåé¡èª¿æ»ã«å½¹ç«ã¡ã¾ãã
decisions.md
## æè¡é¸å®
| æ¥ä» | 決å®äºé
| çç± |
|------|---------|------|
| 2024-01-15 | Supabase Auth | ç¡ææ ãããã»ããã¢ããç°¡å |
| 2024-01-14 | Next.js App Router | ææ°ã®ãã¹ããã©ã¯ãã£ã¹ |
## ã¢ã¼ããã¯ãã£
- ã³ã³ãã¼ãã³ã: `src/components/`
- ã¦ã¼ãã£ãªãã£: `src/lib/`
- åå®ç¾©: `src/types/`
patterns.md
## ãã®ããã¸ã§ã¯ãã®ãã¿ã¼ã³
### ã³ã³ãã¼ãã³ãå½å
- PascalCase
- ä¾: `UserProfile.tsx`, `LoginForm.tsx`
### API ã¨ã³ããã¤ã³ã
- `/api/v1/` ãã¬ãã£ãã¯ã¹
- RESTful è¨è¨
### ã¨ã©ã¼ãã³ããªã³ã°
- try-catch ã§å²ã
- ã¨ã©ã¼ã¡ãã»ã¼ã¸ã¯æ¥æ¬èª
context.json
{
"project_name": "my-blog",
"created_at": "2024-01-14",
"stack": {
"frontend": "next.js",
"backend": "next-api",
"database": "supabase",
"styling": "tailwind"
},
"current_phase": "ãã§ã¼ãº2: ã³ã¢æ©è½",
"last_session": "2024-01-15T14:30:00Z"
}
å¦çããã¼
ã»ãã·ã§ã³éå§æ
.claude/memory/context.jsonãèªã¿è¾¼ã¿- ååã®ã»ãã·ã§ã³ãã°ã確èª
- Agent Trace ããç´è¿ã®ç·¨éå±¥æ´ãåå¾
- æªå®äºã¿ã¹ã¯ãç¹å®
- ã³ã³ããã¹ããµããªã¼ãçæ
Agent Trace æ´»ç¨:
# ååã®ç·¨éãã¡ã¤ã«ä¸è¦§ãåå¾
tail -50 .claude/state/agent-trace.jsonl | jq -r '.files[].path' | sort -u
# ããã¸ã§ã¯ãæ
å ±ãåå¾
tail -1 .claude/state/agent-trace.jsonl | jq '.metadata'
ã»ãã·ã§ã³ä¸
- éè¦ãªæ±ºå®ã
decisions.mdã«è¨é² - æ°ãããã¿ã¼ã³ã
patterns.mdã«è¿½å - ãã¡ã¤ã«çæã
session-log.mdã«è¨é²
ã»ãã·ã§ã³çµäºæ
- ã»ãã·ã§ã³ãµããªã¼ãçæ
context.jsonãæ´æ°- 次åã¸ã®å¼ãç¶ãäºé ãè¨é²
ã¡ã¢ãªæé©åï¼CC 2.1.49+ï¼
Claude Code 2.1.49 以éãã»ãã·ã§ã³åéæã®ã¡ã¢ãªä½¿ç¨éã 68% 忏 ããã¾ããã
æ¨å¥¨ã¯ã¼ã¯ããã¼
# é·æé使¥ã¯ --resume ãæ´»ç¨
claude --resume
# å¤§è¦æ¨¡ã¿ã¹ã¯ã¯åå²ãã¦ã»ãã·ã§ã³åé
claude --resume "ç¶ããã"
| ã·ããªãª | æ¨å¥¨ |
|---|---|
| é·æéå®è£ | 1-2æéãã¨ã«ã»ãã·ã§ã³åé |
| å¤§è¦æ¨¡ãªãã¡ã¯ã¿ | æ©è½åä½ã§ã»ãã·ã§ã³åå² |
| ã¡ã¢ãªä¸è¶³è¦å | å³åº§ã« --resume ã§åé |
ð¡ ã¡ã¢ãªå¹çãå¤§å¹ ã«æ¹åããããããã»ãã·ã§ã³åéãç©æ¥µçã«æ´»ç¨ãã¦ãã ããã
使ç¨ä¾
ååã®ç¶ãããéå§
ã¦ã¼ã¶ã¼: ãååã®ç¶ãããã
Claude Code:
ð ååã®ã»ãã·ã§ã³ï¼2024-01-15ï¼
å®äºããã¿ã¹ã¯:
- ã¦ã¼ã¶ã¼èªè¨¼æ©è½
- ãã°ã¤ã³ãã¼ã¸
æªå®äº:
- ãã°ã¢ã¦ãæ©è½
- ãã¹ã¯ã¼ããªã»ãã
ããã°ã¢ã¦ãæ©è½ãä½ã£ã¦ãã¨è¨ãã°ç¶ããå®è£
ãã¾ãã
ããã¸ã§ã¯ãã®ç¶æ³ç¢ºèª
ã¦ã¼ã¶ã¼: ããã®ããã¸ã§ã¯ãã«ã¤ãã¦æãã¦ã
Claude Code:
ð ããã¸ã§ã¯ã: my-blog
æè¡ã¹ã¿ãã¯:
- Next.js + Tailwind CSS + Supabase
ç¾å¨ã®ãã§ã¼ãº: ã³ã¢æ©è½éçº
鲿: 40% å®äº
æè¿ã®æ±ºå®:
- Supabase Auth ãæ¡ç¨
- App Router ã使ç¨
Claude Code èªåã¡ã¢ãªã¨ã®é¢ä¿ï¼D22ï¼
Claude Code 2.1.32+ ã«ã¯ãèªåã¡ã¢ãªãæ©è½ãããã~/.claude/projects/<project>/memory/MEMORY.md ã«ã»ãã·ã§ã³éã®å¦ç¿ãèªåä¿åãã¾ãã
Harness ã®ã¡ã¢ãªã·ã¹ãã ã¨ã¯3層ã¢ã¼ããã¯ãã£ã¨ãã¦å ±åãã¾ã:
| 層 | ã·ã¹ãã | å 容 | 管ç |
|---|---|---|---|
| Layer 1 | Claude Code èªåã¡ã¢ãª | æ±ç¨çãªå¦ç¿ï¼ãã¹åé¿ããã¼ã«ä½¿ãæ¹ï¼ | æé»çã»èªå |
| Layer 2 | Harness SSOT | ããã¸ã§ã¯ãåºæã®æ±ºå®äºé ã»ãã¿ã¼ã³ | æç¤ºçã»æå |
| Layer 3 | Agent Memory | ã¨ã¼ã¸ã§ã³ãå¥ã®ã¿ã¹ã¯å¦ç¿ | ã¨ã¼ã¸ã§ã³ãå®ç¾© |
使ãåã:
- Layer 1 ã®ç¥è¦ãããã¸ã§ã¯ãå
¨ä½ã«éè¦ â
/memory ssotã§ Layer 2 ã«ææ ¼ - æ¥å¸¸çãªå¦ç¿ã¯ Layer 1 ã«ä»»ããï¼ç¡å¹åããªãï¼
- Agent Teams ä½¿ç¨æã¯ä¸¦åæ¸ãè¾¼ã¿ã«æ³¨æ
詳細: D22: 3層ã¡ã¢ãªã¢ã¼ããã¯ãã£
注æäºé
- èªåä¿å:
hooks/Stopã«ãããã»ãã·ã§ã³çµäºæã«session-log.mdã¸è¦ç´ãèªå追è¨ããéç¨ãæ¨å¥¨ï¼æªå°å ¥ã®å ´åã¯æåéç¨ã§OKï¼ - ãã©ã¤ãã·ã¼: æ©å¯æ å ±ã¯è¨é²ããªã
- Gitæ¹é:
decisions.md/patterns.mdã¯å ±ææ¨å¥¨ãsession-log.md/context.json/.claude/state/ã¯ãã¼ã«ã«æ¨å¥¨ï¼è©³ç´°:docs/MEMORY_POLICY.mdï¼ - 容é管ç: ãã°ã大ãããªã£ãããã»ãã·ã§ã³ãã°ãæ´çãã¦ããæ¨å¥¨