cross-task-learning
複数の業務から得られた知見を統合し、データに基づいて業務を改善していくためのパターンを提示し、より効率的で効果的な業務遂行を支援するSkill。
📜 元の英語説明(参考)
Pattern for aggregating insights across multiple tasks to enable data-driven evolution.
🇯🇵 日本人クリエイター向け解説
複数の業務から得られた知見を統合し、データに基づいて業務を改善していくためのパターンを提示し、より効率的で効果的な業務遂行を支援するSkill。
※ jpskill.com 編集部が日本のビジネス現場向けに補足した解説です。Skill本体の挙動とは独立した参考情報です。
下記のコマンドをコピーしてターミナル(Mac/Linux)または PowerShell(Windows)に貼り付けてください。 ダウンロード → 解凍 → 配置まで全自動。
mkdir -p ~/.claude/skills && cd ~/.claude/skills && curl -L -o cross-task-learning.zip https://jpskill.com/download/17954.zip && unzip -o cross-task-learning.zip && rm cross-task-learning.zip
$d = "$env:USERPROFILE\.claude\skills"; ni -Force -ItemType Directory $d | Out-Null; iwr https://jpskill.com/download/17954.zip -OutFile "$d\cross-task-learning.zip"; Expand-Archive "$d\cross-task-learning.zip" -DestinationPath $d -Force; ri "$d\cross-task-learning.zip"
完了後、Claude Code を再起動 → 普通に「動画プロンプト作って」のように話しかけるだけで自動発動します。
💾 手動でダウンロードしたい(コマンドが難しい人向け)
- 1. 下の青いボタンを押して
cross-task-learning.zipをダウンロード - 2. ZIPファイルをダブルクリックで解凍 →
cross-task-learningフォルダができる - 3. そのフォルダを
C:\Users\あなたの名前\.claude\skills\(Win)または~/.claude/skills/(Mac)へ移動 - 4. Claude Code を再起動
⚠️ ダウンロード・利用は自己責任でお願いします。当サイトは内容・動作・安全性について責任を負いません。
🎯 このSkillでできること
下記の説明文を読むと、このSkillがあなたに何をしてくれるかが分かります。Claudeにこの分野の依頼をすると、自動で発動します。
📦 インストール方法 (3ステップ)
- 1. 上の「ダウンロード」ボタンを押して .skill ファイルを取得
- 2. ファイル名の拡張子を .skill から .zip に変えて展開(macは自動展開可)
- 3. 展開してできたフォルダを、ホームフォルダの
.claude/skills/に置く- · macOS / Linux:
~/.claude/skills/ - · Windows:
%USERPROFILE%\.claude\skills\
- · macOS / Linux:
Claude Code を再起動すれば完了。「このSkillを使って…」と話しかけなくても、関連する依頼で自動的に呼び出されます。
詳しい使い方ガイドを見る →- 最終更新
- 2026-05-18
- 取得日時
- 2026-05-18
- 同梱ファイル
- 1
📖 Skill本文(日本語訳)
※ 原文(英語/中国語)を Gemini で日本語化したものです。Claude 自身は原文を読みます。誤訳がある場合は原文をご確認ください。
Cross-Task Learning Skill
完了したすべてのタスクにわたって集約された洞察を維持するためのパターンです。
この Skill をロードするタイミング
- Reflector: 個々のリフレクションを書き込んだ後
- Evolver: リフレクションを分析する前(集約されたビューを取得するため)
コアコンセプト
個々のリフレクションは、タスク固有の学習内容を捉えます。Cross-task learning はこれらを集約して、以下を特定します。
- 繰り返し現れるパターン → Skill の候補
- 一貫して機能する戦略 → ベストプラクティス
- 繰り返し失敗する戦略 → アンチパターン
- 繰り返し発生するボトルネック → システムの弱点
- 繰り返し出てくる提案 → 優先度の高い改善点
集約ファイル
場所: memory/reflections/_aggregate.json
構造の例(コンパクトな JSON):
{"last_updated":"ISO-8601","tasks_analyzed":15,"strategy_effectiveness":[{"strategy":"Spawn parallel explorers for context","uses":12,"successes":10,"effectiveness_score":0.83,"notes":"Works well for unfamiliar codebases"}],"failure_patterns":[{"pattern":"Contract conflicts in parallel implementation","occurrences":4,"severity":"high","status":"active"}],"skill_candidates":[{"pattern":"Read → Explore → Implement → Test → Verify","frequency":8,"effectiveness":"high","proposed_skill_name":"implementation-cycle"}]}
更新プロトコル(Reflector 用)
個々のリフレクションを書き込んだ後、集約を更新します。
1. 現在の _aggregate.json を読み込む
2. 書き込んだばかりのリフレクションを読み込む
3. task_history を更新する:
- task_id、タイムスタンプ、結果を含む新しいエントリを追加する
- 最新の 20 件のエントリを保持する(最も古いものをトリムする)
4. strategy_effectiveness を更新する:
reflection.patterns.effective_strategies の各 strategy について:
IF strategy が aggregate に存在する場合:
→ uses と successes をインクリメントする
→ effectiveness_score を再計算する
ELSE:
→ uses=1、successes=1 で新しいエントリを追加する
reflection.patterns.ineffective_strategies の各 strategy について:
IF strategy が aggregate に存在する場合:
→ uses と failures をインクリメントする
→ effectiveness_score を再計算する
ELSE:
→ uses=1、failures=1 で新しいエントリを追加する
5. failure_patterns を更新する:
reflection.process_analysis.phases[].issues の各 issue について:
IF 類似のパターンが存在する場合(あいまい一致):
→ occurrences をインクリメントする
→ last_seen を更新する
ELSE:
→ 新しいパターンを追加する
6. bottleneck_hotspots を更新する:
reflection.process_analysis.bottlenecks の各 bottleneck について:
IF location が存在する場合:
→ frequency をインクリメントする
→ 新しい cause であれば追加する
ELSE:
→ 新しい hotspot を追加する
7. skill_candidates を更新する:
reflection.patterns.repeated_sequences の各 sequence について:
IF sequence.skill_candidate == true の場合:
IF 類似のパターンが存在する場合:
→ frequency をインクリメントする
ELSE:
→ 新しい候補を追加する
8. recurring_discoveries を更新する:
reflection.knowledge_discovered の各 finding について:
IF 類似の finding が存在する場合:
→ discovery_count をインクリメントする
→ count >= 3 の場合、should_be_documented = true を設定する
ELSE:
→ 新しいエントリを追加する
9. recurring_proposals を更新する:
reflection.evolution_proposals の各 proposal について:
IF 類似の proposal が存在する場合:
→ occurrence_count をインクリメントする
ELSE:
→ 新しいエントリを追加する
10. retry_analysis を更新する:
reflection.process_analysis.retries の各 retry について:
→ total_retries をインクリメントする
→ by_strategy のカウントを更新する
11. tasks_analyzed をインクリメントする
12. last_updated を更新する
13. 更新された _aggregate.json を書き込む(コンパクトな JSON)
類似性マッチング
パターンが「類似」しているかどうかを確認する場合:
両方の文字列を正規化する:
- 小文字にする
- 句読点を削除する
- 一般的な単語(the、a、an、is、are)を削除する
以下を使用して比較する:
- 正規化後の完全一致
- OR: >70% の単語の重複
- OR: 同じキータームが存在する
アクションの閾値
| メトリック | 閾値 | アクション |
|---|---|---|
| Strategy effectiveness < 0.3 | 5 回使用後 | アンチパターンとしてフラグを立てる |
| Strategy effectiveness > 0.8 | 5 回使用後 | ベストプラクティスとしてフラグを立てる |
| Failure pattern occurrences | >= 3 | 緊急修正のためにフラグを立てる |
| Skill candidate frequency | >= 5 | 新しい Skill として提案する |
| Recurring discovery count | >= 3 | 知識ベースに追加する |
| Recurring proposal count | >= 3 | 進化のために優先順位を付ける |
クエリパターン(Evolver 用)
修正すべき上位の issue を取得する:
failure_patterns
WHERE status == "active"
ORDER BY occurrences * severity_weight DESC
LIMIT 5
ドキュメント化すべきベストプラクティスを取得する:
strategy_effectiveness
WHERE effectiveness_score > 0.8
AND uses >= 5
実装の準備ができている Skill 候補を取得する:
skill_candidates
WHERE frequency >= 5
AND effectiveness == "high"
AND status == "candidate"
知識のギャップを取得する:
recurring_discoveries
WHERE should_be_documented == true
AND NOT in knowledge_base
Evolver との統合
Evolver は以下を行う必要があります。
- 最初に
_aggregate.jsonを読み込む(個々のリフレクションではない) - 集約されたデータを使用して、提案の優先順位付けを行う:
- 発生頻度の高い failure pattern → 優先度高
- 頻度の高い Skill 候補 → 優先度中
- 繰り返し発生する提案 → すでに検証済みのアイデア
- 詳細については、個々のリフレクションのみを参照する
- 進化後、
recurring_proposals[].statusを更新する
原則
- 集約し、複製しない - 要約統計、コピーではない
- トレンドを追跡する - 最初に確認された日時、最後に確認された日時、頻度
- クエリを有効にする - フィルタリングしやすい構造
- 閾値ベースのアクション - アクションを起こすための明確な基準
- あいまい一致 - 類似のパターンはマージする必要があり、複製してはならない
📜 原文 SKILL.md(Claudeが読む英語/中国語)を展開
Cross-Task Learning Skill
Pattern for maintaining aggregated insights across all completed tasks.
When to Load This Skill
- Reflector: After writing individual reflection
- Evolver: Before analyzing reflections (to get aggregated view)
Core Concept
Individual reflections capture task-specific learnings. Cross-task learning aggregates these to identify:
- Patterns that keep appearing → Skill candidates
- Strategies that consistently work → Best practices
- Strategies that keep failing → Anti-patterns
- Bottlenecks that recur → System weaknesses
- Proposals that keep emerging → Priority improvements
Aggregate File
Location: memory/reflections/_aggregate.json
Example structure (compact JSON):
{"last_updated":"ISO-8601","tasks_analyzed":15,"strategy_effectiveness":[{"strategy":"Spawn parallel explorers for context","uses":12,"successes":10,"effectiveness_score":0.83,"notes":"Works well for unfamiliar codebases"}],"failure_patterns":[{"pattern":"Contract conflicts in parallel implementation","occurrences":4,"severity":"high","status":"active"}],"skill_candidates":[{"pattern":"Read → Explore → Implement → Test → Verify","frequency":8,"effectiveness":"high","proposed_skill_name":"implementation-cycle"}]}
Update Protocol (for Reflector)
After writing individual reflection, update aggregate:
1. Read current _aggregate.json
2. Read the reflection just written
3. Update task_history:
- Add new entry with task_id, timestamp, outcome
- Keep last 20 entries (trim oldest)
4. Update strategy_effectiveness:
FOR each strategy in reflection.patterns.effective_strategies:
IF strategy exists in aggregate:
→ Increment uses and successes
→ Recalculate effectiveness_score
ELSE:
→ Add new entry with uses=1, successes=1
FOR each strategy in reflection.patterns.ineffective_strategies:
IF strategy exists in aggregate:
→ Increment uses and failures
→ Recalculate effectiveness_score
ELSE:
→ Add new entry with uses=1, failures=1
5. Update failure_patterns:
FOR each issue in reflection.process_analysis.phases[].issues:
IF similar pattern exists (fuzzy match):
→ Increment occurrences
→ Update last_seen
ELSE:
→ Add new pattern
6. Update bottleneck_hotspots:
FOR each bottleneck in reflection.process_analysis.bottlenecks:
IF location exists:
→ Increment frequency
→ Add cause if new
ELSE:
→ Add new hotspot
7. Update skill_candidates:
FOR each sequence in reflection.patterns.repeated_sequences:
IF sequence.skill_candidate == true:
IF similar pattern exists:
→ Increment frequency
ELSE:
→ Add new candidate
8. Update recurring_discoveries:
FOR each finding in reflection.knowledge_discovered:
IF similar finding exists:
→ Increment discovery_count
→ Set should_be_documented = true if count >= 3
ELSE:
→ Add new entry
9. Update recurring_proposals:
FOR each proposal in reflection.evolution_proposals:
IF similar proposal exists:
→ Increment occurrence_count
ELSE:
→ Add new entry
10. Update retry_analysis:
FOR each retry in reflection.process_analysis.retries:
→ Increment total_retries
→ Update by_strategy counts
11. Increment tasks_analyzed
12. Update last_updated
13. Write updated _aggregate.json (compact JSON)
Similarity Matching
When checking if patterns are "similar":
Normalize both strings:
- Lowercase
- Remove punctuation
- Remove common words (the, a, an, is, are)
Compare using:
- Exact match after normalization
- OR: >70% word overlap
- OR: Same key terms present
Thresholds for Action
| Metric | Threshold | Action |
|---|---|---|
| Strategy effectiveness < 0.3 | After 5 uses | Flag as anti-pattern |
| Strategy effectiveness > 0.8 | After 5 uses | Flag as best practice |
| Failure pattern occurrences | >= 3 | Flag for urgent fix |
| Skill candidate frequency | >= 5 | Propose as new skill |
| Recurring discovery count | >= 3 | Add to knowledge base |
| Recurring proposal count | >= 3 | Prioritize for evolution |
Query Patterns (for Evolver)
Get top issues to fix:
failure_patterns
WHERE status == "active"
ORDER BY occurrences * severity_weight DESC
LIMIT 5
Get best practices to document:
strategy_effectiveness
WHERE effectiveness_score > 0.8
AND uses >= 5
Get skill candidates ready for implementation:
skill_candidates
WHERE frequency >= 5
AND effectiveness == "high"
AND status == "candidate"
Get knowledge gaps:
recurring_discoveries
WHERE should_be_documented == true
AND NOT in knowledge_base
Integration with Evolver
The evolver should:
- Read
_aggregate.jsonFIRST (not individual reflections) - Use aggregated data for proposal prioritization:
- High-occurrence failure patterns → High priority
- High-frequency skill candidates → Medium priority
- Recurring proposals → Already validated ideas
- Reference individual reflections only for details
- Update
recurring_proposals[].statusafter evolution
Principles
- Aggregate, don't duplicate - Summary stats, not copies
- Track trends - First seen, last seen, frequency
- Enable queries - Structure for easy filtering
- Threshold-based actions - Clear criteria for when to act
- Fuzzy matching - Similar patterns should merge, not duplicate