---
name: learning-capture
description: Capture learnings from human corrections instantly. Use when a human edits, rejects, or provides feedback on agent output. Core to Symph Agency's "correct once, never repeat" principle.
---

# Learning Capture

Instantly capture and persist learnings from human corrections.

> "Correct once, never repeat."

## When to Capture

Capture a learning whenever:
- Human edits agent output
- Human rejects a recommendation
- Human provides explicit feedback ("Next time, do X")
- A pattern of corrections emerges
- Human says "Remember this"

---

## Learning Types

### 1. Agent-Specific Learning
Affects how one agent operates.

**File:** `agency/Learnings/[agent]-learnings.md`

Example:
```markdown
## Scout Learnings

- ALWAYS include TAM/SAM/SOM with sources
- NEVER estimate market size without data
- Philippines market: check PSA.gov.ph for local data
```

### 2. Cross-Agent Pattern
Affects multiple agents or general behavior.

**File:** `agency/Learnings/patterns.md`

Example:
```markdown
## Communication Patterns

- Jarrhey prefers visual cards over tables
- Dave wants executive summaries first
- Use bullet points, not paragraphs
```

### 3. Correction Log
Raw record of corrections for analysis.

**File:** `agency/Learnings/corrections.md`

Format:
```markdown
## [Date] - [Agent] - [Product]

**What happened:** [Description]
**Human feedback:** [Quote]
**Learning:** [Rule derived]
**Applied to:** [Which file updated]
```

---

## Capture Process

### Step 1: Detect Correction

Human signals:
- "No, do it this way..."
- "That's wrong because..."
- *Edits your output directly*
- "Remember to always..."
- Explicit rejection with reason

### Step 2: Extract the Rule

Convert feedback to actionable rule:

| Feedback | Rule |
|----------|------|
| "The market size was wrong" | Validate market size with 2+ sources |
| "Too much text, use bullets" | Use bullet points for lists >3 items |
| "Don't use that color" | Avoid [color] in designs |

### Step 3: Persist Immediately

```python
# Determine where to save
if affects_specific_agent:
    file = f"agency/Learnings/{agent}-learnings.md"
else:
    file = "agency/Learnings/patterns.md"

# Also log to corrections.md
corrections_file = "agency/Learnings/corrections.md"
```

### Step 4: Confirm with Human

```
"I've captured this learning:
> [Rule]

Saved to: [file]

Is this correct?"
```

---

## Learning File Format

### Agent Learnings (e.g., scout-learnings.md)

```markdown
# Scout Learnings

> Rules learned from corrections. Check before generating output.

## Market Research
- Always cite sources for market size
- Use government data for PH stats (PSA.gov.ph)
- Check Statista for global comparisons

## PRD Writing
- Keep problem statements under 3 sentences
- User stories must follow "As a X, I want Y, so that Z"
- Flag assumptions explicitly with ⚠️

## Presentation
- Lead with opportunity score
- Include self-critique section
- Show calculation breakdown
```

### Patterns (cross-agent)

```markdown
# Patterns

> Learnings that apply across agents.

## Communication Preferences

### Jarrhey (COO/PM)
- Prefers cards over tables
- Likes visual layouts
- Wants quick summaries first

### Dave (CEO)
- Executive summary always first
- Focus on business impact
- Skip technical details

## General Rules
- Bullet points > paragraphs
- No walls of text
- Include "Why" not just "What"
```

### Corrections Log

```markdown
# Corrections Log

## 2026-02-02 - Scout - clinic-manager

**What happened:** Generated market size without sources
**Human feedback:** "Where did you get these numbers?"
**Learning:** Always cite sources for market size estimates
**Applied to:** agency/Learnings/scout-learnings.md

---

## 2026-02-01 - Designer - storygen

**What happened:** Used table for feature comparison
**Human feedback:** "Jarrhey prefers cards"
**Learning:** Use visual cards for feature comparisons when presenting to Jarrhey
**Applied to:** agency/Learnings/patterns.md, People/jarrhey-delapena.md
```

---

## Quick Capture Commands

### Capture agent learning
```
Learning for [agent]: [rule]
→ Appends to agency/Learnings/[agent]-learnings.md
```

### Capture pattern
```
Pattern: [rule]
→ Appends to agency/Learnings/patterns.md
```

### Log correction
```
Correction: [what happened] → [what learned]
→ Appends to agency/Learnings/corrections.md
```

---

## Integration Points

### Before Agent Runs
Every agent should:
```
1. Load agency/Learnings/[agent]-learnings.md
2. Load agency/Learnings/patterns.md
3. Load People/[requester].md
4. Apply rules during execution
```

### After Human Feedback
```
1. Detect if correction/feedback
2. Extract rule
3. Save to appropriate file
4. Confirm with human
5. Apply immediately if revising
```

---

## Self-Check

Before capturing:
- [ ] Is this a repeatable rule (not one-time)?
- [ ] Is it specific enough to act on?
- [ ] Does it conflict with existing rules?
- [ ] Is the right file chosen (agent vs pattern)?

---

## Example Session

**Human:** "The PRD is too long. Keep it under 2 pages."

**ARIA:**
```
Captured learning for Scout:
> Keep PRDs under 2 pages (approximately 1000 words)

Saved to: agency/Learnings/scout-learnings.md

Would you like me to revise the current PRD to fit this constraint?
```
