reduce
The reduce skill extracts structured knowledge from source material into atomic notes using domain-specific categories, vocabulary, and processing depth configured in ops/derivation-manifest.md and ops/config.yaml. Use this skill when importing raw source material that requires comprehensive knowledge extraction with less than 10% skip rate for domain-relevant sources, triggered via /reduce command or extraction keywords.
git clone --depth 1 https://github.com/agenticnotetaking/arscontexta /tmp/reduce && cp -r /tmp/reduce/skill-sources/reduce ~/.claude/skills/reduceSKILL.md
## Runtime Configuration (Step 0 — before any processing)
Read these files to configure domain-specific behavior:
1. **`ops/derivation-manifest.md`** — vocabulary mapping, extraction categories, platform hints
- Use `vocabulary.notes` for the notes folder name
- Use `vocabulary.inbox` for the inbox folder name
- Use `vocabulary.note` for the note type name in output
- Use `vocabulary.note_plural` for the plural form
- Use `vocabulary.reduce` for the process verb in output
- Use `vocabulary.cmd_reflect` for the next-phase command name
- Use `vocabulary.cmd_reweave` for the backward-pass command name
- Use `vocabulary.cmd_verify` for the verification command name
- Use `vocabulary.extraction_categories` for domain-specific extraction table
- Use `vocabulary.topic_map` for MOC/topic map references
- Use `vocabulary.topic_maps` for plural form
2. **`ops/config.yaml`** — processing depth, pipeline chaining, selectivity
- `processing.depth`: deep | standard | quick
- `processing.chaining`: manual | suggested | automatic
- `processing.extraction.selectivity`: strict | moderate | permissive
3. **`ops/queue/queue.json`** — current task queue (for handoff mode)
If these files don't exist (pre-init invocation or standalone use), use universal defaults:
- depth: standard
- chaining: suggested
- selectivity: moderate
- notes folder: `notes/`
- inbox folder: `inbox/`
---
## THE MISSION (READ THIS OR YOU WILL FAIL)
You are the extraction engine. Raw source material enters. Structured, atomic {vocabulary.note_plural} exit. Everything between is your judgment — and that judgment must err toward extraction, not rejection.
### The Core Distinction
| Concept | What It Means | Example |
|---------|---------------|---------|
| **Having knowledge** | The vault contains information | "We store notes in folders" |
| **Articulated reasoning** | The vault explains WHY something works as a traversable {vocabulary.note} | "folder structure mirrors cognitive chunking because..." |
**Having knowledge is not the same as articulating it.** Even if information is embedded in the system, the vault may lack the externalized reasoning explaining WHY it works. That reasoning is what you extract.
### The Comprehensive Extraction Principle
**For domain-relevant sources, COMPREHENSIVE EXTRACTION is the default.** This means:
1. **Extract ALL core {vocabulary.note_plural}** — direct assertions about the domain that can stand alone as atomic propositions.
2. **Extract ALL evidence and validations** — if source confirms an approach, that confirmation IS the {vocabulary.note}. Evidence is extractable even when the conclusion is already known, because the reasoning path matters.
3. **Extract ALL patterns and methods** — techniques, workflows, practices. Named patterns are referenceable. Unnamed intuitions are not.
4. **Extract ALL tensions** — contradictions, trade-offs, conflicts. These are wisdom, not problems.
5. **Extract ALL enrichments** — if source adds detail to existing {vocabulary.note_plural}, create enrichment tasks. Near-duplicates almost always add value.
**"We already know this" means we NEED the articulation, not that we should skip it.**
### The Extraction Question (ask for EVERY candidate)
**"Would a future session benefit from this reasoning being a retrievable {vocabulary.note}?"**
If YES -> extract to appropriate category
If NO -> verify it is truly off-topic before skipping
### INVALID Skip Reasons (these are BUGS)
- "validates existing approach" — validations ARE the evidence. Extract them.
- "already captured in system config" — config is implementation, not articulation. The WHY needs a {vocabulary.note}.
- "we already do this" — DOING is not EXPLAINING. The explanation needs externalization.
- "obvious" — obvious to whom? Future sessions need explicit reasoning.
- "near-duplicate" — near-duplicates almost always add detail. Create enrichment task.
- "not a claim" — is it an implementation idea? tension? validation? Those ARE extractable.
### VALID Skip Reasons (rare)
- Completely off-topic (unrelated to {vocabulary.domain})
- Too vague to act on (applies to everything, disagrees with nothing)
- Pure summary with zero extractable insight
- LITERALLY identical text already exists (not "same topic" — IDENTICAL)
**For domain-relevant sources: skip rate < 10%. Zero extraction = BUG.**
---
## EXECUTE NOW
**Target: $ARGUMENTS**
Parse immediately:
- If target contains a file path: extract insights from that file
- If target contains `--handoff`: output RALPH HANDOFF block + task entries at end
- If target is empty: scan {vocabulary.inbox}/ for unprocessed items, pick one
- If target is "inbox" or "all": process all inbox items sequentially
**Execute these steps:**
1. Read the source file fully — understand what it contains
2. **Source size check:** If source exceeds 2500 lines, STOP. Plan chunks of 350-1200 lines. Process each chunk with fresh context. See "Large Source Handling" section below.
3. Hunt for insights that serve the domain (see extraction categories below)
4. For each candidate:
- Tier 1 (preferred): use `mcp__qmd__vector_search` with query "[claim as sentence]", collection="{vocabulary.notes_collection}", limit=5
- Tier 2 (CLI fallback): `qmd vsearch "[claim as sentence]" --collection {vocabulary.notes_collection} -n 5`
- Tier 3 fallback if qmd is unavailable: use keyword grep duplicate checks
- If duplicate exists: evaluate for enrichment or skip
- Classify as OPEN (needs more investigation) or CLOSED (standalone, ready)
5. Output extraction report with titles, classifications, extraction rationale
6. Wait for user approval before creating files
7. If `--handoff` in target: create per-claim task files, update queue, output RALPH HANDOFF block
**START NOW.** Reference below explains methodology — use to guide, not as output.
### Observation Capture (during work, not at end)
When you encounter friction, surprAdd a new knowledge domain to your existing system. Derives domain-specific configuration through conversation, generates domain folders, templates, and vocabulary while preserving and connecting to your existing architecture.
Research-backed evolution advice for your knowledge system. Analyzes health reports, friction patterns, and derivation history to propose specific changes with research justification. Never auto-implements — proposals require your approval.
Query the bundled research knowledge graph for methodology guidance. Routes questions through a 3-tier knowledge base — WHY (research claims), HOW (guidance docs), WHAT IT LOOKS LIKE (domain examples) — plus structured reference documents. Returns research-backed answers grounded in specific claims with practical application to the user's system. Triggers on "/ask", "/ask [question]", "why does my system...", "how should I...".
Interactive knowledge graph analysis. Routes natural language questions to graph scripts, interprets results in domain vocabulary, and suggests concrete actions. Triggers on "/graph", "/graph health", "/graph triangles", "find synthesis opportunities", "graph analysis".
Run condition-based vault health diagnostics. 8 categories — schema compliance, orphan detection, link health, description quality, three-space boundaries, processing throughput, stale notes, MOC coherence. 3 modes — quick (schema+orphans+links), full (all 8), three-space (boundary violations only). Returns actionable FAIL/WARN/PASS report with specific fixes ranked by impact. Triggers on "/health", "check vault health", "maintenance report", "what needs fixing".
Contextual guidance and command discovery. Three modes — narrative (first-time), contextual (mid-task), compact (quick reference). Shows available commands, active skills, and intelligent suggestions based on vault state. Triggers on "/help", "what can I do", "show commands", "how does this work".
Proactive methodology guidance agent. Monitors note creation and provides real-time quality advice. Suggests connections, flags quality issues, recommends MOC updates. Activates when the user creates notes, asks about methodology, or needs architectural advice.
Research a topic and grow your knowledge graph. Uses Exa deep researcher, web search, or basic search to investigate topics, files results with full provenance, and chains to processing pipeline. Triggers on "/learn", "/learn [topic]", "research this", "find out about".