deep-learn
Deep research a topic using parallel agents, then synthesize and save comprehensive knowledge to ~/.claude/learnings/.
From claude-code-learnnpx claudepluginhub ourines/claude-code-learn --plugin claude-code-learnThis skill is limited to using the following tools:
deep-learn
Deep research a topic using parallel agents. Each agent explores a different dimension simultaneously, then results are synthesized into a comprehensive knowledge file.
Input
Topic string from $ARGUMENTS.
Process
1. Generate Slug & Check Existing
Convert topic to slug (lowercase, hyphens). Check ~/.claude/learnings/<slug>.md.
If exists, read frontmatter. Ask user: Update, Replace, or Cancel.
mkdir -p ~/.claude/learnings
2. Analyze Topic & Choose Strategy
Determine the topic category, research dimensions, and agent count. Then decide how to orchestrate.
You have two orchestration modes — choose based on the situation:
Mode A: Subagents (Task tool, no team)
Fire-and-forget parallel agents. Each works independently, you synthesize after all return.
Best for:
- Independent research dimensions that don't build on each other
- Well-defined topics where you know what to look for upfront
- 2-4 agents with clear, non-overlapping assignments
Mode B: Team Agents (TeamCreate + coordinated tasks)
Create a team with shared task list. Agents can communicate, report partial findings, and you can dynamically assign follow-up work.
Best for:
- Broad or unfamiliar topics where initial research may reveal unexpected subtopics
- Iterative deepening: first wave scouts the landscape, second wave digs into what matters
- Complex topics where one agent's findings should influence another's direction
- 4+ agents or multi-round research
Decision guideline:
| Signal | → Mode |
|---|---|
| You can enumerate all research dimensions upfront | Subagents |
| Topic is well-scoped (e.g., "React useEffect cleanup") | Subagents |
| Topic is broad or vague (e.g., "Kubernetes networking") | Team |
| You might need a second research round based on findings | Team |
| Agent findings may overlap or conflict and need real-time coordination | Team |
Agent count guideline:
| Topic Type | Suggested Agents |
|---|---|
| Library/Framework | 3-4: docs, code patterns, gotchas, ecosystem |
| Concept/Pattern | 2-3: theory, implementations, comparisons |
| Tool/CLI | 2-3: official docs, config recipes, troubleshooting |
| Language Feature | 2-3: spec/docs, adoption patterns, edge cases |
| Complex/Broad Topic | 4-5: split by subtopic areas |
You are NOT locked into these. Use your judgment. Scale up or down as needed.
3. Execute Research
If using Subagents (Mode A):
Use the Task tool with subagent_type: "general-purpose" to spawn agents in parallel (multiple Task calls in a single message). Each gets a focused prompt and returns structured findings.
If using Team Agents (Mode B):
TeamCreate— create a research teamTaskCreate— create tasks for each research dimensionTaskwithteam_name— spawn named agents, assign tasks- Monitor progress via
TaskList. When an agent reports interesting findings viaSendMessage, decide whether to:- Create follow-up tasks for deeper investigation
- Redirect other agents to explore related areas
- Spawn additional agents for newly discovered subtopics
- When all tasks are complete, shut down agents and delete the team
Agent prompt template (both modes):
Research "<topic>" focusing on: <specific dimension>.
Use these tools as needed:
- WebSearch / WebFetch for web sources
- mcp__context7__resolve-library-id + query-docs for library docs
- mcp__gh_grep__searchGitHub for real-world code
Return your findings as structured markdown:
## <Dimension Name>
### Key Findings
- ...
### Code Examples
```lang
...
Sources
Be thorough but concise. Prioritize accuracy and code correctness. Focus ONLY on your assigned dimension — other agents cover the rest.
### 4. Synthesize Results
After all agents return, merge their findings:
1. **Deduplicate** — remove overlapping content, keep the better version
2. **Cross-validate** — if agents disagree, flag the conflict or verify
3. **Organize** — structure into the standard knowledge format
4. **Attribute** — collect all sources from all agents
### 5. Save Knowledge File
Write to `~/.claude/learnings/<slug>.md`:
```markdown
---
topic: "<Original Topic Name>"
slug: "<slug>"
category: "<library|concept|tool|language-feature>"
created: "<YYYY-MM-DD>"
last_verified: "<YYYY-MM-DD>"
confidence: "<high|medium|low>"
tags: [<relevant, tags>]
sources_count: <N>
research_depth: "deep"
agents_used: <N>
strategy: "<subagents|team>"
---
# <Topic Name>
## TL;DR
<2-4 sentences: what it is, key capabilities, primary use case.>
## Core APIs / Concepts
### <Name>
- **Signature/Usage**: `<code>`
- **Purpose**: <one line>
- **Example**:
```<lang>
<minimal working example>
Patterns & Recipes
<Common usage patterns as self-contained code blocks.>Gotchas
- <Issue>: <What happens + fix/workaround>
Advanced Topics
<Deeper material that basic /learn would skip: internals, performance, edge cases, architecture decisions.>
Quick Reference
<Compact table or list for fast lookup.>Sources
- <Title> — <which agent found this>
### 6. Knowledge Graph Indexing (Optional)
If `mcp__memory__create_entities` is available:
```json
{
"name": "<Topic Name>",
"entityType": "learning",
"observations": [
"Saved to ~/.claude/learnings/<slug>.md",
"Category: <category>",
"Research depth: deep (<N> agents)",
"Tags: <tag1>, <tag2>"
]
}
7. Report
Tell the user:
- File path
- How many agents were used and their dimensions
- Source count
- Key highlights (3-5 bullet points of most valuable findings)
Quality Rules
- Each agent's findings are cross-checked during synthesis. Conflicting info is resolved or flagged.
- Code examples must be correct. Mark untested code with
// untested. - Set confidence
highonly when multiple agents' sources agree. - Include version numbers for libraries.
- The
research_depth: "deep"andagents_usedfields in frontmatter distinguish deep-learn output from regular /learn.