agentic-research
Agentic Research — Shared Team Playbook
This is the shared playbook loaded by ALL agents in the agentic research system. It defines the protocols, quality standards, and conventions that ensure consistent, high-quality research across the orchestrator and all specialist agents.
Every agent MUST read and follow this playbook before beginning work.
Team Structure
| Agent | Role | Key Tools |
|---|---|---|
| Orchestrator | Coordinates workflow, relays URLs, synthesizes report | TeamCreate, SendMessage, Task |
| ExaAI Specialist | Semantic web search, source discovery | mcp__exa__web_search_exa |
| Firecrawl Specialist | Web scraping, site crawling, vector DB | firecrawl CLI, Qdrant |
| NotebookLM Specialist | AI-powered analysis, artifact generation | notebooklm CLI |
Communication Protocol
Message Format
All inter-agent messages MUST use this structure:
## [Agent Name] [Message Type] (Batch N)
### [Section 1 Header]
- Item 1
- Item 2
### [Section 2 Header]
- Item 1
### Summary
Brief summary of key points.
Message Types
| Type | When | From | To |
|---|---|---|---|
| URL Report | Every 3-5 operations | Specialists | Orchestrator |
| Progress Update | Every 5-10 operations | Specialists | Orchestrator |
| Crawl Request | When docs site discovered | Orchestrator | Firecrawl |
| Source Relay | When high-quality URLs received | Orchestrator | NotebookLM |
| Completion Signal | When all work done | Specialists | Orchestrator |
| Error Escalation | When blocked | Any agent | Orchestrator |
URL Report Format (Specialists -> Orchestrator)
## [Agent] URL Report (Batch N)
### Key URLs Discovered:
- https://url1.com - [Description] - Tier: [Primary/Academic/Official/Industry/Community]
- https://url2.com - [Description] - Tier: [tier]
### Documentation Sites (recommend for Firecrawl):
- https://docs.example.com - Full documentation for X
### Key Findings:
- Finding 1
- Finding 2
Source Relay Format (Orchestrator -> NotebookLM)
Add these N sources to the notebook:
- https://url1.com — [Description] — Tier: Primary
- https://url2.com — [Description] — Tier: Academic
Completion Signal Format
[Agent] specialist complete. Findings written to findings/[agent]-findings.md.
[Key stats: searches, URLs, pages, etc.]
Key gaps: [list gaps].
Source Quality Tiers
All agents MUST classify discovered sources using these tiers. The orchestrator uses tiers to prioritize which URLs to relay to NotebookLM.
| Tier | Description | Priority | Examples |
|---|---|---|---|
| Primary | Original research, official announcements, creator content | Highest | Blog posts by framework creators, official release notes, original research papers |
| Academic | Peer-reviewed papers, university research, conference proceedings | High | arXiv papers, ACM/IEEE publications, NeurIPS/ICML proceedings |
| Official | Official documentation, guides, tutorials from project maintainers | High | docs.langchain.com, readthedocs sites, official GitHub READMEs |
| Industry | Analysis from recognized industry analysts, reputable tech publications | Medium | Hacker News (top posts), reputable tech blogs, benchmark reports |
| Community | Forum discussions, personal blogs, Stack Overflow, Reddit | Lower | Reddit threads, personal dev blogs, community wikis |
| News | News articles, press releases, general media coverage | Lowest | TechCrunch, The Verge, general news sites |
Tier Prioritization Rules
- Primary + Academic: Always relay to NotebookLM
- Official: Always relay to NotebookLM (essential for technical accuracy)
- Industry: Relay if relevant to key questions and not redundant
- Community: Only relay if contains unique insights not found in higher tiers
- News: Rarely relay -- only if contains exclusive information
Source Limit Management
- NotebookLM limit: 300 sources (paid plan), 50 (standard)
- Target: 200 excellent sources > 300 mediocre ones
- Track count: Orchestrator maintains running total
- Stop early: If quality sources are exhausted before hitting limit
See references/source-quality-tiers.md for detailed tier classification examples.
Parallel Safety Rules
NotebookLM Commands
CRITICAL: ALL agents MUST follow these rules.
- ALWAYS use
-n <notebook_id>or--notebook <notebook_id>flags - NEVER use
notebooklm use <id>-- it modifies shared state and is unsafe in parallel workflows - Use full UUIDs in automation to avoid ambiguity from partial IDs
- Use
--newflag onaskcommands when switching topic areas (avoids conversation ID conflicts)
File System Safety
- Each specialist writes to its own findings file (no conflicts):
- ExaAI:
findings/exa-findings.md - Firecrawl:
findings/firecrawl-findings.md - NotebookLM:
findings/notebooklm-findings.md
- ExaAI:
- Only the orchestrator writes to
report.mdandsources/sources.md - Artifacts are downloaded to
artifacts/(NotebookLM specialist only)
Team Communication Safety
- All messages go through SendMessage tool (not shared files)
- Messages are automatically delivered -- no polling needed
- Each agent maintains its own state independently
- The orchestrator is the only agent that reads all findings files (during synthesis)
Output Formatting Standards
Findings Files
All specialist findings files MUST include:
- Research Topic -- exact topic from brief
- Methodology Summary -- what was done, key stats
- Key Findings -- organized by topic area, with inline source URLs
- Contradictions -- where sources disagree (do NOT smooth over)
- Gaps -- what couldn't be found or needs more investigation
Source Citation Format
Inline citations use markdown links:
According to the official documentation [Source Title](https://url), the framework supports...
When citing multiple sources:
Multiple sources confirm this approach [Source A](url1), [Source B](url2), though [Source C](url3) disagrees.
URL Reporting Format
When reporting URLs, always include:
- Full URL (no shortlinks)
- Brief description (what the page contains)
- Quality tier classification
- https://docs.example.com/guide - Comprehensive setup guide - Tier: Official
Error Handling Protocol
Severity Levels
| Level | Action | Examples |
|---|---|---|
| Warning | Log and continue | Rate limit on one site, single source fails to load |
| Error | Report to orchestrator, attempt workaround | Auth failure, major site blocked, tool crash |
| Critical | Report to orchestrator immediately, stop work | All tools failing, auth completely broken |
Error Reporting Format
## Error Report
**Agent:** [name]
**Severity:** [Warning/Error/Critical]
**Error:** [description]
**Action Taken:** [what you tried]
**Impact:** [what's affected]
**Suggested Fix:** [if known]
Recovery Strategies
- Rate limits: Exponential backoff (30s -> 2min -> skip)
- Auth failures: Run diagnostic commands, report to orchestrator
- Tool crashes: Retry once, then report
- Network issues: Wait 1 minute, retry, then report
- Source not found: Log, skip, continue with other sources
Persistent Memory Conventions
All agents write session learnings to ~/.claude/memory/:
| Agent | Memory File |
|---|---|
| Orchestrator | ~/.claude/memory/agentic-orchestrator.md |
| ExaAI | ~/.claude/memory/exa-specialist.md |
| Firecrawl | ~/.claude/memory/firecrawl-specialist.md |
| NotebookLM | ~/.claude/memory/notebooklm-specialist.md |
Memory Entry Format
## Session: YYYY-MM-DD -- <topic-slug>
**What worked:**
- [insight 1]
- [insight 2]
**What didn't work:**
- [issue 1]
**Lessons learned:**
- [lesson 1]
Memory Usage
- Read memory at session start to leverage past learnings
- Write memory at session end with insights from current session
- Keep entries concise -- focus on actionable insights
- Update or remove entries that turn out to be wrong
Cross-References
This playbook is used by:
- Orchestrator agent:
agents/agentic-orchestrator.md - ExaAI specialist agent:
agents/exa-specialist.md - Firecrawl specialist agent:
agents/firecrawl-specialist.md - NotebookLM specialist agent:
agents/notebooklm-specialist.md
Related skills:
- Orchestration methodology:
skills/agentic-research-orchestration/SKILL.md - ExaAI search:
skills/exa/SKILL.md - Firecrawl web scraping:
skills/firecrawl/SKILL.md - NotebookLM automation:
skills/notebooklm/SKILL.md