スキルアイデアマイナー
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キー不要(LLM呼び出しにはClaude CLIを使用)
ワークフロー
クイックスタート
# ドライラン: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/内の許可リストプロジェクトからセッションログを列挙- ファイルのmtimeから過去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— スコアラーと重複排除ツール