Skill Idea Miner
自动从 Claude Code 会话日志中提取技能创意候选, 对其新颖性、可行性和交易价值进行评分,并维护一个 优先排序的待办事项列表,用于下游技能生成。
何时使用
- 每周自动流水线运行(周六 06:00,通过 launchd 触发)
- 手动刷新待办事项列表:
python3 scripts/run_skill_generation_pipeline.py --mode weekly - 预览候选创意(不进行 LLM 评分)的试运行
前置条件
- 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— 评分器和去重器