skill-sources/learn/SKILL.md
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".
npx skillsauth add agenticnotetaking/arscontexta learnInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Topic: $ARGUMENTS
Parse immediately:
self/goals.md for highest-priority unexplored direction and propose it--deep/--light/--moderate: force that depth, strip flag from topicSteps:
START NOW. Reference below explains methodology.
ops/config.yaml — research tools, depth, pipeline chaining
ops/derivation-manifest.md — domain vocabulary (inbox folder, reduce skill name)
From config.yaml (defaults if missing):
research:
primary: exa-deep-research # exa-deep-research | exa-web-search | web-search
fallback: exa-web-search
last_resort: web-search
default_depth: moderate # light | moderate | deep
pipeline:
chaining: suggested # manual | suggested | automatic
From derivation-manifest.md (universal defaults if missing):
inbox/ (could be journal/, encounters/, etc.)/reduce (could be /surface, /break-down, etc.)Priority: explicit flag > config default > moderate
| Depth | Tool | Sources | Duration | Use When | |-------|------|---------|----------|----------| | light | WebSearch | 2-3 | ~5s | Checking a specific fact | | moderate | mcp__exa__web_search_exa | 5-8 | ~10-30s | Exploring a subtopic | | deep | mcp__exa__deep_researcher_start | Comprehensive | 15s-3min | Major research direction |
Output header:
Researching: [topic]
Depth: [depth]
Using: [tool name]
Try tools in config priority order. If a tool fails (MCP unavailable, error, empty results), fall to next tier. If ALL tiers fail:
FAIL: Research failed — no research tools available
Tried:
1. [primary] — [error]
2. [fallback] — [error]
3. WebSearch — [error]
Try again later or manually add research to [inbox-folder]/
exa-deep-research:
mcp__exa__deep_researcher_start
instructions: "Research comprehensively: [topic]. Focus on practical findings, key patterns, recent developments, and actionable insights."
model: "exa-research-fast" (moderate) | "exa-research" (deep)
Poll with mcp__exa__deep_researcher_check until completed. Output during wait:
Research ID: [id]
Waiting for results...
exa-web-search:
mcp__exa__web_search_exa query: "[topic]" numResults: 8
web-search (last resort, also used for light depth):
WebSearch query: "[topic]"
On completion: Research complete — [source count] sources analyzed
Filename: YYYY-MM-DD-[slugified-topic].md — lowercase, spaces to hyphens, no special chars.
Write to the domain inbox folder (from derivation-manifest, default inbox/). Create folder if missing.
Every field serves the provenance chain. The exa_prompt field is most critical — it captures the intellectual context that shaped the research.
---
description: [1-2 sentence summary of key findings]
source_type: exa-deep-research | exa-web-search | web-search
exa_prompt: "[full query/instruction string sent to the research tool]"
exa_research_id: "[deep researcher ID, omit for web search]"
exa_model: "[exa-research-fast | exa-research, omit for web search]"
exa_tool: "[mcp tool name, omit for deep researcher]"
generated: [ISO 8601 timestamp — run: date -u +"%Y-%m-%dT%H:%M:%SZ"]
domain: "[domain name from derivation-manifest]"
topics: ["[[domain-hub-moc]]"]
---
Include only the fields relevant to the tool used:
source_type, exa_prompt, exa_research_id, exa_model, generated, domain, topicssource_type, exa_prompt, exa_tool, generated, domain, topicssource_type, exa_prompt, exa_tool, generated, domain, topicsFormat for downstream reduce extraction — findings as clear propositions, not raw dumps:
# [Topic Title]
## Key Findings
[Synthesized findings organized by theme, not by source. Each finding
should be a clear proposition the reduce phase can extract as an atomic insight.]
## Sources
[List of sources with titles and URLs]
## Research Directions
[New questions, unexplored angles, follow-up topics. These feed goals.md.]
Read chaining mode from config (default: suggested).
Research complete
Filed to: [inbox-folder]/[filename]
Next: /[reduce-skill-name] [inbox-folder]/[filename]
Append based on mode:
Ready for processing when you are.Queued for /[reduce-skill-name] -- processing will begin automatically.If self/goals.md exists AND the research uncovered meaningful new directions:
- [New direction] (discovered via /learn: [original topic])
Skip silently if goals.md missing or no meaningful directions found. Do not add filler.
Clean output wrapping the full flow:
ars contexta
Researching: [topic]
Depth: [depth]
Using: [tool name]
[Research ID: abc-123]
Research complete -- [N] sources analyzed
Filed to: [inbox-folder]/[filename]
Next: /[reduce-skill-name] [inbox-folder]/[filename]
[chaining context]
[goals.md updated with N new research directions]
| Error | Behavior |
|-------|----------|
| No topic, no goals.md | Ask: "What would you like to research?" |
| Exa MCP unavailable | Fall through cascade to WebSearch |
| All tools fail | Report failures with FAIL status, suggest manual inbox filing |
| Deep researcher timeout (>5 min) | Report timeout, suggest --moderate |
| Empty results | Report "No results found", suggest refining topic |
| Config files missing | Use defaults silently |
| Inbox folder missing | Create it before writing |
After /learn, the self-building loop continues:
| Phase | Skill | Purpose | |-------|-------|---------| | Extract insights | /[reduce-name] | Mine research for atomic propositions | | Find connections | /[reflect-name] | Link new insights to existing graph | | Update old notes | /[reweave-name] | Backward pass on touched notes | | Quality check | /[verify-name] | Description quality, schema, links |
/learn is the entry point. Each run feeds the graph, and the graph feeds the next direction through goals.md.
tools
Apply plugin knowledge base updates to an existing generated system. Consults the Ars Contexta research graph for methodology improvements, proposes skill upgrades with research justification. Never auto-implements. Triggers on "/upgrade", "upgrade skills", "check for improvements", "update methodology".
documentation
Interactive walkthrough for new users. Learn by doing — each step creates real content in your vault. Three tracks (researcher, manager, personal) with a universal learning arc. Triggers on "/tutorial", "walk me through", "how do I use this".
testing
Scaffold a complete knowledge system. Detects platform, conducts conversation, derives configuration, generates everything. Validates against 15 kernel primitives. Triggers on "/setup", "/setup --advanced", "set up my knowledge system", "create my vault".
testing
Re-derive your knowledge system from first principles when structural drift accumulates. Analyzes dimension incoherence, vocabulary mismatch, boundary dissolution, and template divergence. Preserves all content while restructuring architecture.