Deep Research

SkillAI & models

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".

Available today. Use it from your connected AI after setup.

Connect ahel once, and every AI you use reads what you have installed.

Then ask your AI: use the Deep Research skill

What this skill tells your AI

The instructions your AI receives, as published by joaquimscosta/arkhe-claude-plugins in plugins/core/skills/deep-research/SKILL.md and read by ahel’s review.

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/ or JD-resolved pathCurated, 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)

JD-Aware Path Resolution

Promote and refresh operations detect .jd-config.json to resolve the research output path. If an area containing "research" exists (e.g. "30": "research"), output goes to docs/30-research/. Otherwise falls back to docs/research/. The frontmatter standard is defined by the research-frontmatter skill in the doc plugin.

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

Signals

GitHub stars
21
Forks
4
Last commit
Aug 2026
Hacker News mentions
1
Advanced
Catalog kind
skill
Gateway key
deep-research-joaquimscosta
Source
github.com/joaquimscosta/arkhe-claude-plugins