deep-research
Deep Research
Coordinate deep technical research with intelligent caching for cross-project reuse and team knowledge sharing.
Quick Start
When research is needed:
- Scripts path -
${CLAUDE_SKILL_DIR}/scripts/ - Single fetch call - Run
python3 ${CLAUDE_SKILL_DIR}/scripts/cache_manager.py fetch "{topic}"(combines check+get) - If
exists=true- Present thecontentfield directly (no agent needed). Suggest promote if valid, refresh if expired. - If
exists=false- Invokedeep-researcheragent for EXA research, which caches viacache_manager.py put - Report findings - Include cache status and promote suggestion
Cache Architecture
| Tier | Location | Purpose | Shared |
|---|---|---|---|
| 1 | ~/.claude/plugins/research/ |
Fast, cross-project | User only |
| 2 | docs/research/ |
Curated, version controlled | Team |
Operations
| Operation | Trigger | Fast Path? | Action |
|---|---|---|---|
| Research | /research <topic> or natural language |
Yes (cache hit) | Check cache → return if valid, else research → cache |
| Promote | /research promote <slug> |
Yes | Run promote.py {slug} directly |
| Refresh | /research refresh <slug> |
No | Spawn agent → fresh research → cache → update promoted |
| List | /research list |
Yes | Run cache_manager.py list (project-scoped by default, --all for everything) |
Project Scoping
Research entries are automatically associated with the current git repository when cached. The list operation filters by current project by default, so each project sees only its relevant research. Use --all to see everything.
- Auto-detection: Project name derived from
git rev-parse --show-toplevelbasename - Multi-project: Entries can belong to multiple projects (associations merge, never replace)
- Backward compatible: Existing entries without project associations appear in
--allbut not in project-scoped views
Scripts
All cache operations use Python scripts in ${CLAUDE_SKILL_DIR}/scripts/:
| Script | Purpose |
|---|---|
research_utils.py |
Shared utilities (imported by all scripts) |
cache_manager.py |
Cache CRUD: fetch, get, put, check, list, delete |
promote.py |
Tier 1 → Tier 2 promotion with team notes |
index_generator.py |
README index generation for both tiers |
Slug Normalization
Convert topics to cache keys:
- "Domain-Driven Design" →
domain-driven-design - "DDD" →
domain-driven-design(via alias) - "React Hooks" →
react-hooks
Output Format
After research, report:
## Research: {Topic}
**Cache:** {Hit | Miss | Expired}
**Source:** {Cached | Fresh research}
**Path:** ~/.claude/plugins/research/entries/{slug}/
[Brief summary of findings]
Run `/research promote {slug}` to add to project docs.
Agent Delegation
For actual research execution (cache miss or refresh only), delegate to deep-researcher agent:
- Has MCP tool access (EXA web search, code context)
- Uses
cache_manager.py putfor cache write operations - Structures research output consistently
Additional Resources
- WORKFLOW.md - Detailed process flows
- EXAMPLES.md - Usage examples
- TROUBLESHOOTING.md - Common issues and solutions
More from joaquimscosta/arkhe-claude-plugins
skill-validator
Validate skills against Anthropic best practices for frontmatter, structure, content, file organization, hooks, MCP, and security (62 rules in 8 categories). Use when creating new skills, updating existing skills, before publishing skills, reviewing skill quality, or when user mentions "validate skill", "check skill", "skill best practices", "skill review", or "lint skill".
30domain-driven-design
Expert guidance for Domain-Driven Design architecture and implementation. Use when designing complex business systems, defining bounded contexts, structuring domain models, choosing between modular monolith vs microservices, implementing aggregates/entities/value objects, or when users mention "DDD", "domain-driven design", "bounded context", "aggregate", "domain model", "ubiquitous language", "event storming", "context mapping", "domain events", "anemic domain model", strategic design, tactical patterns, or domain modeling. Helps make architectural decisions, identify subdomains, design aggregates, and avoid common DDD pitfalls.
26code-explanation
Explains complex code through clear narratives, visual diagrams, and step-by-step breakdowns. Use when user asks to explain code, understand algorithms, analyze design patterns, wants code walkthroughs, or mentions "explain this code", "how does this work", "code breakdown", or "understand this function".
22generating-changelog
Analyzes git commit history and generates professional changelogs with semantic versioning, conventional commit support, and multiple output formats (Keep a Changelog, Conventional, GitHub). Use when editing CHANGELOG.md, CHANGELOG.txt, or HISTORY.md files, preparing release notes, creating releases, bumping versions, updating changelog, documenting changes, writing release notes, tracking changes, version bump, tag release, or when user mentions "changelog", "release notes", "version history", "release", "semantic versioning", or "conventional commits".
21workflow-orchestration
>
19generating-stitch-screens
>
19