NYC

extract

SKILL.md

Extract Skill

Typically runs automatically via SessionStart hook.

Process pending learning extractions from previous sessions.

How It Works

The SessionStart hook runs:

ao extract

This checks for queued extractions and outputs prompts for Claude to process.

Manual Execution

Given /extract:

Step 1: Check for Pending Extractions

ao extract 2>/dev/null

Or check the pending queue:

cat .agents/ao/pending.jsonl 2>/dev/null | head -5

Step 2: Process Each Pending Item

For each queued session:

  1. Read the session summary
  2. Extract actionable learnings
  3. Write to .agents/learnings/

Step 3: Write Learnings

Write to: .agents/learnings/YYYY-MM-DD-<session-id>.md

# Learning: <Short Title>

**ID**: L1
**Category**: <debugging|architecture|process|testing|security>
**Confidence**: <high|medium|low>

## What We Learned

<1-2 sentences describing the insight>

## Why It Matters

<1 sentence on impact/value>

## Source

Session: <session-id>

Step 3.5: Validate Learnings

After writing learning files, validate each has required fields:

  1. Scan newly written files:
ls -t .agents/learnings/YYYY-MM-DD-*.md 2>/dev/null | head -5
  1. For each file, check required fields:

    • Heading: File must start with # Learning: <title> (non-empty title)
    • Category: Must contain **Category**: <value> where value is one of: debugging, architecture, process, testing, security
    • Confidence: Must contain **Confidence**: <value> where value is one of: high, medium, low
    • Content: Must contain a ## What We Learned section with at least one non-empty line after the heading
  2. Report validation results:

    • For each valid learning: "✓ : valid"
    • For each invalid learning: "⚠ : missing " (list each missing field)
  3. Do NOT delete or retry invalid learnings. Log the warning and proceed. Invalid learnings are still better than no learnings — the warning helps identify extraction quality issues over time.

Step 4: Clear the Queue

ao extract --clear 2>/dev/null

Step 5: Report Completion

Tell the user:

  • Number of learnings extracted
  • Key insights
  • Location of learning files

The Knowledge Loop

Session N ends:
  → ao forge --last-session --queue
  → Session queued in pending.jsonl

Session N+1 starts:
  → ao extract (this skill)
  → Claude processes the queue
  → Writes to .agents/learnings/
  → Validates required fields
  → Loop closed

Key Rules

  • Runs automatically - usually via hook
  • Process the queue - don't leave extractions pending
  • Be specific - actionable learnings, not vague observations
  • Close the loop - extraction completes the knowledge cycle

Examples

SessionStart Hook Invocation

Hook triggers: session-start.sh runs at session start

What happens:

  1. Hook calls ao extract 2>/dev/null
  2. CLI outputs queued session IDs and prompts
  3. Agent processes each pending extraction
  4. Agent writes learnings to .agents/learnings/<date>-<session>.md
  5. Agent validates required fields and reports results
  6. Hook calls ao extract --clear to empty queue

Result: Prior session knowledge automatically extracted at session start without user action.

Manual Extraction Trigger

User says: /extract or "extract learnings from last session"

What happens:

  1. Agent checks pending queue with ao extract
  2. Agent reads session summaries from queue
  3. Agent extracts decisions, learnings, failures
  4. Agent writes to .agents/learnings/ with proper structure
  5. Agent validates fields (category, confidence, content)
  6. Agent clears queue and reports completion

Result: Pending extractions processed manually, queue cleared, learnings indexed.

Troubleshooting

Problem Cause Solution
No pending extractions found Queue empty or ao CLI unavailable Check .agents/ao/pending.jsonl exists; verify ao CLI installed
Invalid learning warning Missing category/confidence/content Review learning file, add missing fields; DO NOT delete
extraction --clear fails CLI not available or permission error Manually truncate .agents/ao/pending.jsonl as fallback
Duplicate extractions Queue not cleared after processing Always run ao extract --clear after writing learnings
Weekly Installs
89
Repository
boshu2/agentops
First Seen
Feb 2, 2026
Installed on
cursor87
claude-code87
codex87
mcpjam86
iflow-cli86
zencoder86