Skip to content
cccskills
FreePublished on GitHub

deep-research

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

The English summary is being prepared. Showing the original description.

See how to install

Files included (8)

  • SKILL.md4.1 KB
  • EXAMPLES.md7.3 KB
  • scripts/cache_manager.py13.3 KB
  • scripts/index_generator.py7.3 KB
  • scripts/promote.py8.0 KB
  • scripts/research_utils.py11.0 KB
  • TROUBLESHOOTING.md4.1 KB
  • WORKFLOW.md18.5 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

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/ 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

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

adr

Free

Create, review, and manage Architecture Decision Records (ADRs) with auto-numbering, template detection, quality review, and index maintenance. Use when user mentions "ADR", "architecture decision", "document this decision", "create ADR", "review ADR", editing ADR files (docs/adr/, doc/adr/, .adr/), or discussing architectural choices and tradeoffs.

The English summary is being prepared. Showing the original description.

joaquimscosta/arkhe-claude-plugins21Updated Oct 16, 2026

Analyze system architecture, module structure, API contracts, data models, and code patterns. Use when designing systems, reviewing module boundaries, evaluating API designs, analyzing data models, checking pattern conformance, tracing decisions, or reviewing frontend architecture. Triggers: "architecture", "module design", "API design", "data model", "boundaries", "patterns", "decisions", "frontend architecture".

The English summary is being prepared. Showing the original description.

joaquimscosta/arkhe-claude-plugins21Updated Oct 16, 2026

Converts natural-language descriptions or UI spec files into optimized Google Stitch prompts. Use when creating, refining, or validating design directives for Google Stitch. Use when user says "create a Stitch prompt", "optimize this for Stitch", "convert this spec to a Stitch prompt", "write a UI prompt", or mentions Google Stitch prompt authoring. Follows Stitch best practices with short, directive prompts focused on screens, structure, and visual hierarchy.

The English summary is being prepared. Showing the original description.

joaquimscosta/arkhe-claude-plugins21Updated Oct 16, 2026

Zero-dependency live-preview server providing an agent↔browser bidirectional companion. Watches a content directory, wraps HTML fragments in a frame template, broadcasts live-reload over WebSocket, and captures browser-side click events to a JSONL file. Use when an agent needs to show HTML to the user in a browser and react to clicks — mockups, design exploration, gallery browsing, multi-select choices, prototype iteration. Triggered by "live preview", "browser companion", "preview server", "browser mockup", "show in browser", "arkhe-preview", or any skill that wants to write HTML fragments and have the user see them reload in real time.

The English summary is being prepared. Showing the original description.

joaquimscosta/arkhe-claude-plugins21Updated Oct 16, 2026

Deletes merged git branches (local and remote) and flags stale unmerged branches for manual review. Use when user mentions "cleanup branches", "delete merged branches", "prune old branches", "remove stale branches", "branch cleanup", or runs /cleanup-branches command.

The English summary is being prepared. Showing the original description.

joaquimscosta/arkhe-claude-plugins21Updated Oct 16, 2026

Interactive Claude Code environment setup wizard. Detects existing configuration, guides through best-practice setup for Global CLAUDE.md, project scaffolding, MCP servers, hooks, custom agents, keybindings, and settings. Use when user runs /devtools:code-env-setup, mentions "setup claude code", "configure claude", "claude code setup", "environment setup", or "initialize claude code".

The English summary is being prepared. Showing the original description.

joaquimscosta/arkhe-claude-plugins21Updated Oct 16, 2026

See all skills by joaquimscosta

Report a problem with this skill