agentleFS
Andamio-PlatformAndamio-Platform/coach/skills/compound/SKILL.md

compound

Skill6 starsChanged 8 months agoMITView on GitHub

Capture and apply knowledge from course development to improve future runs.

17 other projects use a version of this.

Adopted by

Most recently taken up by

Used with

Projects with it also use brainstorm, ship and 4 more.

Other files people use alongside this one.

Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
  • nicolasestremSkill

    brainstorm

    Structured idea generation and solution exploration with systematic analysis.

    Also in 3 projects that use this

  • AWSSkill

    ship

    Finalize dev work on an issue branch — update docs, push, and open a PR.

    Also in 3 projects that use this

  • NVIDIASkill

    research

    Before designing a feature, research how comparable libraries solve the problem, check best practices, known pitfalls, and upstream changes. Use when starting a new feature, investigating an unfamiliar area, or the user asks to research something.

    Also in 3 projects that use this

  • MicrosoftSkill

    handoff

    Compact the current conversation into a handoff document for another agent to pick up.

    Also in 4 projects that use this

  • SentrySkill

    review

    Fixture review skill.

    Also in 3 projects that use this

  • GoogleSkill

    tdd

    Test-driven development. Use when the user wants to build features or fix bugs test-first, mentions "red-green-refactor", or wants integration tests.

    Also in 3 projects that use this

The file

We split this skill into the rules it gives an agent

10 rules. 0 are common, 6 are distinctive, and 4 are very specific to this project.

  • 0

    Common

    Most of the 12 edited versions we read keep these.

  • 6

    Distinctive

    This author's own choices. Worth a look.

  • 4

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  • could be automatic: a setting could enforce it
  1. Distinctive:

    If invoked without arguments, present phase options:

    line 38
  2. Very specific:

    If no course specified, scan courses-in-progress/ and ask which course to compound from:

    line 57
  3. Very specific:

    Update existing entries in knowledge/readiness/calibration.yaml

    line 200
  4. Distinctive:

    Compute calibration stats: After updating entries:

    line 202
  5. Distinctive:

    Run all extraction phases for a single course.

    line 227
  6. Distinctive:

    After extraction, always report:

    line 260
  7. Distinctive:

    Before modifying knowledge files, read the current state.

    line 287
  8. Distinctive:

    Preserve existing data: Never overwrite — merge and increment.

    line 307
  9. Very specific:

    Update the index: Always update knowledge/index.yaml stats after any extraction.

    line 309
  10. Very specific:

    Seed from examples: Use examples/go-slts-readiness-assessment.md to prime the knowledge base.

    line 311

“Common” is measured: kept by at least 6 in 10 of the 12 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Skill: Compound Knowledge

Description

Extracts patterns, heuristics, and calibration data from course development artifacts. Feeds knowledge back into /draft-slts, /assess-slts, /self-assess-readiness, and /classify-lesson-types to make each run smarter than the last.

Invocation Modes

/compound                          # Interactive: asks what to compound
/compound quality-review           # Compound from specific phase
/compound readiness                # Compound from readiness assessment
/compound classification           # Compound from lesson type classification
/compound --course=go-pbl --rollup # Full course retrospective

Instructions

Path Resolution

Resolve file paths based on your execution context:

  • Plugin context (${CLAUDE_PLUGIN_ROOT} is set): Read knowledge from ${CLAUDE_PLUGIN_DATA}/knowledge/ (user data), falling back to ${CLAUDE_PLUGIN_ROOT}/knowledge/ (seed data). Write all knowledge updates to ${CLAUDE_PLUGIN_DATA}/knowledge/ — never modify the plugin's bundled seed data.
  • Clone/symlink context (default): Read and write knowledge at knowledge/ relative to the project root.

All knowledge/ paths referenced below follow this resolution. In plugin context, substitute the appropriate prefix.

Phase Selection

If invoked without arguments, present phase options:

## What would you like to compound?

| # | Phase | Source Artifact | Extracts |
|---|-------|-----------------|----------|
| 1 | quality-review | 02-slts-quality-review.md, 01-slts.md | Successful rewrites, quality issues |
| 2 | readiness | 05-readiness-assessment.md | Tier distribution, context shopping list |
| 3 | classification | 04-lesson-type-classification.md | Verb patterns, edge cases, heuristics |
| 4 | lesson-build | lessons/*.md | Actual vs self-assessed confidence |
| 5 | context-add | assets/ + re-run readiness | Which resources unlocked which SLTs |
| 6 | rollup | All artifacts | Full course retrospective |

Which phase? (Or specify course: --course=slug)

Course Selection

If no course specified, scan courses-in-progress/ and ask which course to compound from:

## Select Course

| # | Course | Status | Artifacts Available |
|---|--------|--------|---------------------|
| 1 | andamio-for-contributors | building | 01, 02, 03, 04, 05 |
| 2 | andamio-for-api-developers | building | 01, 02, 03, 04, 05 |

Which course?

Also check examples/ for seeding data (like go-slts-readiness-assessment.md).

Extraction Logic by Phase

Phase: quality-review

Source files:

  • 02-slts-quality-review.md (assessment output)
  • 01-slts.md (revised SLTs, if exists)

Extract:

  1. Successful rewrites: Compare SLTs between quality review suggestions and revised SLTs. For each rewrite:
    - before: "original SLT text"
      after: "improved SLT text"
      issue_type: unmeasurable_verb | task_focused | too_broad | etc.
      key_change: "what made the difference"
      course: "course-slug"
      date: "YYYY-MM-DD"
    Append to knowledge/slt-patterns/successful-rewrites.yaml
  2. Quality issues: Extract patterns from "Needs Work" SLTs:
    - pattern: "how to detect"
      description: "what the problem is"
      impact: ["Student-Facing Language", "Specificity"]
      frequency: 1
      example_bad: "I can understand blockchain"
      example_fix: "I can explain how a blockchain maintains data integrity by identifying three mechanisms"
      courses_seen_in: ["course-slug"]
    Append to knowledge/slt-patterns/quality-issues.yaml
  3. Verb effectiveness: Extract verbs from "Strong" SLTs and add to verb bank:
    - verb: "compare"
      bloom_level: analyze
      success_count: 1
      example_slts: ["I can compare X to Y by identifying..."]
    Update knowledge/slt-patterns/verb-bank.yaml

Phase: readiness

Source files:

  • 05-readiness-assessment.md
  • examples/go-slts-readiness-assessment.md (for seeding)

Extract:

  1. Context leverage: Parse the Context Shopping List and update rankings:
    - resource: "Apollo API reference + transaction building examples"
      type: "Docs + Example Code"
      slts_unlocked: ["102.2", "102.3", "102.5", "102.6", ...]
      priority: High
      obtained: false
      effectiveness: null
    Update knowledge/readiness/context-leverage.yaml
  2. Calibration baseline: Record self-assessed tiers for later comparison:
    - slt_id: "go-pbl:099.1"
      self_assessed: Ready
      actual_outcome: null  # filled in after lesson-build
      dimensions_off: null
      notes: null
      date: "YYYY-MM-DD"
    Append to knowledge/readiness/calibration.yaml

Phase: classification

Source files:

  • 04-lesson-type-classification.md

Extract:

  1. Verb patterns: From the Heuristics Developed section:
    - verb: "explain"
      suggests: exploration
      confidence: high
      count: 1
      examples: ["I can explain why Bursa was built..."]
    Update knowledge/lesson-types/heuristics.yaml
  2. Subject patterns: From topic clusters:
    - keywords: ["API", "endpoint", "library"]
      suggests: developer_documentation
      confidence: high
      count: 1
      examples: ["I can build a web API using Fiber..."]
    Update knowledge/lesson-types/heuristics.yaml
  3. Edge cases: From ambiguous classifications:
    - slt: "I can set up my development environment..."
      candidates: ["how_to_guide", "organization_onboarding"]
      chosen: how_to_guide
      deciding_factor: "Generic procedure, not org-specific"
      question_that_helped: "Would this SLT exist in a generic course?"
      course: "course-slug"
      date: "YYYY-MM-DD"
    Append to knowledge/lesson-types/edge-cases.yaml

Phase: lesson-build

Source files:

  • lessons/*.md
  • 05-readiness-assessment.md (for comparison)

Extract:

  1. Calibration updates: Compare actual lesson-building experience to self-assessed readiness:
    - slt_id: "course:module.slt"
      self_assessed: Ready
      actual_outcome: success | partial | failure
      dimensions_off: ["Code Demo was actually Weak"]
      notes: "Apollo API changed since training"
      date: "YYYY-MM-DD"
    Update existing entries in knowledge/readiness/calibration.yaml
  2. Compute calibration stats: After updating entries:
    • Calculate accuracy_rate
    • Identify common_overconfidence patterns
    • Identify common_underconfidence patterns
    • Generate adjustment rules

Phase: context-add

Source files:

  • assets/ (newly added context)
  • Re-run /self-assess-readiness (or compare to previous)

Extract:

  1. Context effectiveness: For resources that were obtained:
    - resource: "gOuroboros README"
      obtained: true
      effectiveness: confirmed | partial | unhelpful
      notes: "Unlocked 4/5 expected SLTs, one still needs examples"
    Update knowledge/readiness/context-leverage.yaml

Phase: rollup

Run all extraction phases for a single course. Produce a summary report:

## Compound Report: [Course Name]

### Knowledge Captured

| Category | Count | Files Updated |
|----------|-------|---------------|
| Successful Rewrites | 3 | successful-rewrites.yaml |
| Quality Issues | 2 | quality-issues.yaml |
| Verb Bank Entries | 5 | verb-bank.yaml |
| Context Resources | 8 | context-leverage.yaml |
| Calibration Entries | 12 | calibration.yaml |
| Lesson Type Heuristics | 4 | heuristics.yaml |
| Edge Cases | 2 | edge-cases.yaml |

### Aggregate Stats Update

- Courses processed: [n]
- Total SLTs analyzed: [n]
- Successful rewrites captured: [n]
- Calibration accuracy: [%]

### Top Insights

1. [Most impactful pattern discovered]
2. [Second most impactful]
3. [Third most impactful]

Output Format

After extraction, always report:

## Compound Complete

**Phase:** [phase name]
**Course:** [course name]

### Extracted

| Knowledge Type | Count | Status |
|----------------|-------|--------|
| [type] | [n] | Added / Updated / Unchanged |

### Files Modified

- `knowledge/slt-patterns/successful-rewrites.yaml` - Added 2 entries
- `knowledge/readiness/context-leverage.yaml` - Updated 3 entries

### Index Updated

- `last_updated`: [timestamp]
- `slts_analyzed`: [new total]

Knowledge Consumption Check

Before modifying knowledge files, read the current state. When updating:

  • Increment counts (don't reset)
  • Append to lists (don't overwrite)
  • Merge patterns (combine evidence from multiple courses)
  • Deduplicate (same pattern from different courses = one entry with multiple course references)

Integration Points

This skill produces knowledge that other skills consume:

SkillReads FromUses For
/draft-sltsverb-bank.yaml, quality-issues.yamlPrefer effective verbs, avoid problematic patterns
/assess-sltsquality-issues.yaml, successful-rewrites.yamlFlag known issues, suggest proven fixes
/self-assess-readinesscalibration.yaml, context-leverage.yamlAdjust confidence, prioritize shopping list
/classify-lesson-typesheuristics.yaml, edge-cases.yamlImprove initial guesses, handle known ambiguities

Guidelines

  • Always read before writing. Load current YAML state before appending.
  • Preserve existing data. Never overwrite — merge and increment.
  • Be specific in patterns. Vague patterns don't compound.
  • Update the index. Always update knowledge/index.yaml stats after any extraction.
  • Report what changed. The user should see exactly what knowledge was captured.
  • Seed from examples. Use examples/go-slts-readiness-assessment.md to prime the knowledge base.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.