Skill

deep-research

Install
1
Install the plugin
$
npx claudepluginhub joaquimscosta/arkhe-claude-plugins --plugin core

Want just this skill?

Add to a custom plugin, then install with one command.

Description

Deep research on technical topics using EXA tools with intelligent two-tier caching. Use when user asks to research a topic, investigate best practices, look up information, find patterns, or explore architectures. Also invoked by /research command. Triggers: "research", "look up", "investigate", "deep dive", "find information about", "what are best practices for", "how do others implement".

Tool Access

This skill uses the workspace's default tool permissions.

Supporting Assets
View in Repository
EXAMPLES.md
TROUBLESHOOTING.md
WORKFLOW.md
scripts/cache_manager.py
scripts/index_generator.py
scripts/promote.py
scripts/research_utils.py
Skill Content

Deep Research

Coordinate deep technical research with intelligent caching for cross-project reuse and team knowledge sharing.

Quick Start

When research is needed:

  1. Scripts path - ${CLAUDE_SKILL_DIR}/scripts/
  2. Single fetch call - Run python3 ${CLAUDE_SKILL_DIR}/scripts/cache_manager.py fetch "{topic}" (combines check+get)
  3. If exists=true - Present the content field directly (no agent needed). Suggest promote if valid, refresh if expired.
  4. If exists=false - Invoke deep-researcher agent for EXA research, which caches via cache_manager.py put
  5. Report findings - Include cache status and promote suggestion

Cache Architecture

TierLocationPurposeShared
1~/.claude/plugins/research/Fast, cross-projectUser only
2docs/research/Curated, version controlledTeam

Operations

OperationTriggerFast Path?Action
Research/research <topic> or natural languageYes (cache hit)Check cache → return if valid, else research → cache
Promote/research promote <slug>YesRun promote.py {slug} directly
Refresh/research refresh <slug>NoSpawn agent → fresh research → cache → update promoted
List/research listYesRun 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-toplevel basename
  • Multi-project: Entries can belong to multiple projects (associations merge, never replace)
  • Backward compatible: Existing entries without project associations appear in --all but not in project-scoped views

Scripts

All cache operations use Python scripts in ${CLAUDE_SKILL_DIR}/scripts/:

ScriptPurpose
research_utils.pyShared utilities (imported by all scripts)
cache_manager.pyCache CRUD: fetch, get, put, check, list, delete
promote.pyTier 1 → Tier 2 promotion with team notes
index_generator.pyREADME 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 put for cache write operations
  • Structures research output consistently

Additional Resources

Stats
Stars9
Forks1
Last CommitMar 20, 2026
Actions

Similar Skills