mcpField
S
skill-idea-miner

skill-idea-miner

github.com/tradermontyエージェントワークフロー3.4k3.2k 回インストール2 日前に更新
リポジトリ

skill-idea-miner について

Claude Code のセッションログからスキルのアイデアを抽出し、候補を評価・重複排除して優先順位付きのバックログを管理する Python スキルです。スキル開発チーム向けに、シグナル検出と Claude CLI による評価を行います。

主な機能

  1. 01最近のセッションログを分析
  2. 02ツールの反復やエラーを検出
  3. 03新規性、実現可能性、取引価値を評価
  4. 04既存スキルやバックログとの重複排除
  5. 05優先順位付き YAML バックログの管理

活用シーン

  1. 01最近のセッションからスキル案を発見
  2. 02週次でスキルバックログを更新
  3. 03LLM 評価なしで候補をプレビュー

インストール

コマンドをコピーしてターミナルで実行します。

$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

詳細

スキルアイデアマイナー

Claude Code のセッションログからスキルアイデア候補を自動的に抽出し、新規性、実現可能性、トレーディング価値を評価して、後続のスキル生成用に優先順位付きのバックログを管理します。

使用するタイミング

  • 毎週の自動パイプライン実行(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 キーは不要です(LLM 呼び出しには Claude CLI を使用)

ワークフロー

クイックスタート
# 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. ファイルの mtime に基づいて過去 7 日間に絞り込み、timestamp フィールドで確認します
  3. ユーザーメッセージ(type: "user"、userType: "external")を抽出します
  4. アシスタントメッセージからツール使用パターンを抽出します
  5. 決定論的なシグナル検出を実行します:
    • スキル使用頻度(skills/*/ のパス参照)
    • エラーパターン(ゼロ以外の終了コード、is_error フラグ、例外キーワード)
    • 繰り返されるツールのシーケンス(3 個以上のツールが 3 回以上繰り返される)
    • 自動化リクエストのキーワード(英語と日本語)
    • 未解決のリクエスト(ユーザーメッセージの後、5 分以上の間隔がある)
  6. アイデアを抽象化するため、Claude CLI をヘッドレスで呼び出します
  7. raw_candidates.yaml を出力します
ステージ 2:スコアリングと重複排除
  1. skills/*/SKILL.md のフロントマターから既存のスキルを読み込みます
  2. 次の項目と照合し、Jaccard 類似度(しきい値 > 0.5)で重複を排除します:
    • 既存のスキル名と説明
    • 既存のバックログアイデア
  3. 重複しない候補を Claude CLI で評価します:
    • 新規性(0~100):既存スキルとの差別化
    • 実現可能性(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 — スコアリングと重複排除

コメント