Pattern for aggregating insights across multiple tasks to enable data-driven evolution.
Scanned 2/12/2026
Install to Claude Code
npx -y skills add majiayu000/claude-skill-registry --skill cross-task-learning --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Cross Task Learning?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/majiayu000-cross-task-learning)More formats (shields.io, HTML) on the badges page.
---
name: cross-task-learning
description: Pattern for aggregating insights across multiple tasks to enable data-driven evolution.
allowed-tools: Read, Write, Glob
---
# 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):
```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:
1. Read `_aggregate.json` FIRST (not individual reflections)
2. Use aggregated data for proposal prioritization:
- High-occurrence failure patterns → High priority
- High-frequency skill candidates → Medium priority
- Recurring proposals → Already validated ideas
3. Reference individual reflections only for details
4. Update `recurring_proposals[].status` after evolution
## Principles
1. **Aggregate, don't duplicate** - Summary stats, not copies
2. **Track trends** - First seen, last seen, frequency
3. **Enable queries** - Structure for easy filtering
4. **Threshold-based actions** - Clear criteria for when to act
5. **Fuzzy matching** - Similar patterns should merge, not duplicate
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!