Claude Code Plugins

Community-maintained marketplace

Feedback

cross-task-learning

@Clouder0/dotagent
0
0

Pattern for aggregating insights across multiple tasks to enable data-driven evolution.

Install Skill

1Download skill
2Enable skills in Claude

Open claude.ai/settings/capabilities and find the "Skills" section

3Upload to Claude

Click "Upload skill" and select the downloaded ZIP file

Note: Please verify skill by going through its instructions before using it.

SKILL.md

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):

{"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