mcpField
S
skill-idea-miner

skill-idea-miner

github.com/tradermontyAgent 工作流3.4k3.2k 次安装2 天前更新
代码仓库

关于 skill-idea-miner

这是一个 Python 技能,可从 Claude Code 会话日志中挖掘技能创意,并为候选项评分、去重,维护优先级待办列表。它面向技能开发团队,结合信号检测与基于 Claude CLI 的评估。

主要功能

  1. 01挖掘近期会话日志
  2. 02检测重复工具序列和错误
  3. 03评估新颖性、可行性和交易价值
  4. 04与现有技能及待办项去重
  5. 05维护优先级 YAML 待办列表

适用场景

  1. 01从近期会话中发现技能创意
  2. 02每周更新技能待办列表
  3. 03不进行 LLM 评分时预览候选项

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/tradermonty/claude-trading-skills --skill skill-idea-miner

安装后在 Claude Code 中输入/skill-idea-miner确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

requirements.txt
references/
idea_extraction_rubric.md
scripts/
__init__.py
mine_session_logs.py
score_ideas.py
scripts/tests/
conftest.py
test_cli_pipeline.py
test_mine_session_logs.py
test_score_ideas.py

详细介绍

Skill 创意挖掘器

自动从 Claude Code 会话日志中提取 Skill 创意候选项, 根据新颖性、可行性和交易价值为其评分,并维护优先级待办清单, 供后续生成 Skill 使用。

适用场景

  • 每周自动运行流水线(通过 launchd 在周六 06:00 运行)
  • 手动刷新待办清单: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)

工作流

快速开始
# Dry-run: preview mined candidates without LLM scoring
python3 scripts/mine_session_logs.py --dry-run --output-dir reports/

# Full mining with scoring (requires Claude CLI)
python3 scripts/mine_session_logs.py --output-dir reports/

# Score existing candidates
python3 scripts/score_ideas.py \
  --candidates reports/raw_candidates.yaml \
  --output-dir logs/
阶段 1:挖掘会话日志
  1. 从 ~/.claude/projects/ 中的允许列表项目枚举会话日志
  2. 按文件修改时间筛选过去 7 天的日志,并通过 timestamp 字段确认
  3. 提取用户消息(type: "user"、userType: "external")
  4. 从助手消息中提取工具使用模式
  5. 运行确定性信号检测:
    • Skill 使用频率(skills/*/ 路径引用)
    • 错误模式(非零退出代码、is_error 标记、异常关键词)
    • 重复工具序列(3 个或以上工具重复 3 次或以上)
    • 自动化请求关键词(英语和日语)
    • 未解决的请求(用户消息后间隔 5 分钟或以上)
  6. 在无头模式下调用 Claude CLI 进行创意抽象
  7. 输出 raw_candidates.yaml
阶段 2:评分和去重
  1. 从 skills/*/SKILL.md 的 frontmatter 加载现有 Skill
  2. 通过 Jaccard 相似度(阈值 > 0.5)进行去重,比对以下内容:
    • 现有 Skill 名称和描述
    • 现有待办创意
  3. 使用 Claude CLI 为非重复候选项评分:
    • 新颖性(0-100):与现有 Skill 的差异程度
    • 可行性(0-100):技术上的可实现性
    • 交易价值(0-100):对投资者和交易者的实际价值
    • 综合评分 = 0.3 * 新颖性 + 0.3 * 可行性 + 0.4 * 交易价值
  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 — 评分和去重工具

评论

支持 Markdown