適用 Windows + Claude Desktop Code。功能:/start /save /wrap-up。儲存在本機 SQLite。
打開 PowerShell,貼上:
New-Item -ItemType Directory -Force -Path "$env:USERPROFILE\.claude\skills\session-start"
New-Item -ItemType Directory -Force -Path "$env:USERPROFILE\.claude\skills\session-save"
New-Item -ItemType Directory -Force -Path "$env:USERPROFILE\.claude\skills\session-wrap-up"
New-Item -ItemType Directory -Force -Path "$env:USERPROFILE\.claude\job-memo"
python 指令無法執行,請先安裝:python.org/downloads,安裝時勾選 "Add to PATH"。python -c "
import sqlite3, os
db = os.path.join(os.environ['USERPROFILE'], '.claude', 'sessions.db')
conn = sqlite3.connect(db)
conn.execute('''CREATE TABLE IF NOT EXISTS sessions (
id INTEGER PRIMARY KEY AUTOINCREMENT,
created_at TEXT DEFAULT (datetime(\"now\", \"localtime\")),
slug TEXT NOT NULL,
type TEXT NOT NULL DEFAULT \"episode\",
content TEXT NOT NULL,
tags TEXT DEFAULT \"\"
)''')
conn.commit()
conn.close()
print(f'DB created: {db}')
"
點開下面三張卡片,把每張的內容存成對應路徑的 SKILL.md。%USERPROFILE% 通常是 C:\Users\你的帳號。
把以下完整內容存成 %USERPROFILE%\.claude\skills\session-start\SKILL.md:
# /start — Session 開場
Session 開始時,從本機 SQLite 拉最近的工作記錄,產出接續摘要。
## 流程
### Step 1:讀取最近 5 筆 session 記錄
```bash
python -c "
import sqlite3, os
db = os.path.join(os.environ['USERPROFILE'], '.claude', 'sessions.db')
conn = sqlite3.connect(db)
rows = conn.execute(
'SELECT created_at, slug, type, content FROM sessions ORDER BY id DESC LIMIT 5'
).fetchall()
conn.close()
if not rows:
print('(尚無歷史記錄,這是第一次使用)')
else:
for r in rows:
print(f'[{r[0]}] ({r[2]}) {r[1]}')
for line in r[3].split(chr(10))[:5]:
print(f' {line}')
print()
"
```
### Step 2:讀取最近的 job-memo
job-memo 路徑:%USERPROFILE%\.claude\job-memo\
如果有檔案,用 Read 工具讀取最新的 1-2 份。
### Step 3:Git 狀態(如果在 repo 內)
```bash
git log --oneline -5 2>nul
git status -sb 2>nul
```
### Step 4:輸出摘要
如果沒有任何歷史記錄,就說「這是第一個 session,請告訴我要做什麼」。
把以下完整內容存成 %USERPROFILE%\.claude\skills\session-save\SKILL.md:
# /save — 中途存檔
把當前進度存入本機 SQLite,不中斷工作。
## 流程
### Step 1:整理當前進度
回顧本次 session:做了什麼、改了哪些檔案、關鍵決策、下一步。
### Step 2:產生 slug
從任務主題產生簡短 slug(英文小寫 + 連字號,如 fix-login-bug)。
### Step 3:寫入 SQLite
```bash
python -c "
import sqlite3, os
db = os.path.join(os.environ['USERPROFILE'], '.claude', 'sessions.db')
conn = sqlite3.connect(db)
conn.execute(
'INSERT INTO sessions (slug, type, content, tags) VALUES (?, ?, ?, ?)',
('SLUG_HERE', 'checkpoint', '''CONTENT_HERE''', 'TAG1, TAG2, TAG3')
)
conn.commit()
conn.close()
print('checkpoint saved')
"
```
content 至少含:做了什麼、改了哪些檔案、下一步。tags 至少 3 個。
### Step 4:簡短回報
告訴使用者「已存進度」,一句話說存了什麼。
把以下完整內容存成 %USERPROFILE%\.claude\skills\session-wrap-up\SKILL.md:
# /wrap-up — 收工
Session 結束前的完整收尾流程。
## 觸發時機
使用者說「收工」「下班」「結束」「先這樣」「wrap-up」或明顯要離開時啟動。
## 流程
### Step 1:整理本次 session 完整內容
回顧整個 session:背景、完成什麼、關鍵決策、改了哪些檔案、下一步。
### Step 2:寫入 SQLite
```bash
python -c "
import sqlite3, os
db = os.path.join(os.environ['USERPROFILE'], '.claude', 'sessions.db')
conn = sqlite3.connect(db)
conn.execute(
'INSERT INTO sessions (slug, type, content, tags) VALUES (?, ?, ?, ?)',
('SLUG_HERE', 'wrap-up', '''CONTENT_HERE''', 'TAG1, TAG2, TAG3, TAG4, TAG5')
)
conn.commit()
conn.close()
print('wrap-up saved')
"
```
content ≥ 200 字,tags ≥ 5 個關鍵字。
### Step 3:寫入 Job Memo
用 Write 工具寫入 %USERPROFILE%\.claude\job-memo\YYYY-MM-DD-SLUG.md
### Step 4:輸出 Session 摘要
## 禁止
- 使用者要走時不做 wrap-up → 必須提醒
- 寫模糊內容(「更新了設定」)→ 不合格
| 指令 | 用途 | 時機 |
|---|---|---|
| /start | 開場,看上次做到哪 | 每次開新 session |
| /save | 中途存檔 | 完成一個里程碑 |
| /wrap-up | 收工 | 要離開時 |
在 PowerShell 跑:
python -c "
import sqlite3, os
db = os.path.join(os.environ['USERPROFILE'], '.claude', 'sessions.db')
conn = sqlite3.connect(db)
for r in conn.execute('SELECT created_at, type, slug FROM sessions ORDER BY id DESC LIMIT 10'):
print(f'[{r[0]}] ({r[1]}) {r[2]}')
conn.close()
"
| 問題 | 解法 |
|---|---|
| python 找不到 | 安裝 Python,勾選 "Add to PATH",重開 PowerShell |
| /start 找不到 skill | 確認 SKILL.md 檔案在正確路徑 |
| SQLite 錯誤 | 跑一次 Step 2 的初始化指令 |
| 中文亂碼 | 確認 SKILL.md 用 UTF-8 編碼存檔 |