技能想法挖掘器
自動從 Claude Code 工作階段記錄中提取技能想法候選, 評分其新穎性、可行性與交易價值,並維護一個 優先順序化的待辦清單,供下游技能生成使用。
使用時機
- 每週自動化管線執行(週六 06:00 透過 launchd)
- 手動更新待辦清單:
python3 scripts/run_skill_generation_pipeline.py --mode weekly - 預覽候選(不進行 LLM 評分):
python3 scripts/run_skill_generation_pipeline.py --dry-run
前置需求
- Python 3.10+,並安裝
pyyaml套件 - Claude CLI 已安裝並通過驗證(使用
claude --version確認) - 工作階段記錄位於
~/.claude/projects/<project>/(由 Claude Code 自動建立) - 無需 API 金鑰(使用 Claude CLI 進行 LLM 呼叫)
工作流程
快速開始
# 預覽模式:僅挖掘候選,不進行 LLM 評分
python3 scripts/mine_session_logs.py --dry-run --output-dir reports/
# 完整挖掘(含評分,需 Claude CLI)
python3 scripts/mine_session_logs.py --output-dir reports/
# 為現有候選評分
python3 scripts/score_ideas.py \
--candidates reports/raw_candidates.yaml \
--output-dir logs/
階段 1:工作階段記錄挖掘
- 從白名單專案的
~/.claude/projects/中列舉工作階段記錄 - 根據檔案修改時間過濾出最近 7 天的記錄,並以
timestamp欄位確認 - 提取使用者訊息(
type: "user"、userType: "external") - 從助理訊息中提取工具使用模式
- 執行確定性訊號偵測:
- 技能使用頻率(
skills/*/路徑參考) - 錯誤模式(非零退出碼、
is_error旗標、例外關鍵字) - 重複工具序列(3 個以上工具重複 3 次以上)
- 自動化請求關鍵字(英文與日文)
- 未解決的請求(使用者訊息後間隔 5 分鐘以上)
- 技能使用頻率(
- 以無頭模式呼叫 Claude CLI 進行想法抽象化
- 輸出
raw_candidates.yaml
階段 2:評分與去重
- 從
skills/*/SKILL.md的前置資訊中載入現有技能 - 透過 Jaccard 相似度(閾值 > 0.5)與以下項目進行去重:
- 現有技能的名稱與描述
- 現有待辦清單中的想法
- 對非重複候選使用 Claude CLI 進行評分:
- 新穎性(0-100):與現有技能的差異程度
- 可行性(0-100):技術實作難度
- 交易價值(0-100):對投資者/交易者的實際價值
- 複合分數 = 0.3 * 新穎性 + 0.3 * 可行性 + 0.4 * 交易價值
- 將評分後的候選合併到
logs/.skill_generation_backlog.yaml
輸出格式
raw_candidates.yaml
generated_at_utc: "2026-03-08T06:00:00Z"
period: {from: "2026-03-01", to: "2026-03-07"}
projects_scanned: ["claude-trading-skills"]
sessions_scanned: 12
candidates:
- id: "raw_2026w10_001"
title: "Earnings Whispers Image Parser"
source_project: "claude-trading-skills"
evidence:
user_requests: ["Extract earnings dates from screenshot"]
pain_points: ["Manual image reading"]
frequency: 3
raw_description: "Parse Earnings Whispers screenshots to extract dates."
category: "data-extraction"
待辦清單(logs/.skill_generation_backlog.yaml)
updated_at_utc: "2026-03-08T06:15:00Z"
ideas:
- id: "idea_2026w10_001"
title: "Earnings Whispers Image Parser"
description: "Skill that parses Earnings Whispers screenshots..."
category: "data-extraction"
scores: {novelty: 75, feasibility: 60, trading_value: 80, composite: 73}
status: "pending"
資源
references/idea_extraction_rubric.md— 訊號偵測準則與評分規則scripts/mine_session_logs.py— 工作階段記錄解析器scripts/score_ideas.py— 評分與去重工具