doing-a-simple-two-sta…
Use when analyzing a large corpus of text, code, or data that exceeds a single agent's effective context - orchestrates parallel…
Use when planning or designing features and need to understand current codebase state, find existing patterns, or verify assumptions about what exists; when design makes assumptions about file locations, structure, or existing code that need verification - prevents hallucination
Claude Code
$ npx -y skills add ed3dai/ed3d-plugins --skill investigating-a-codebase --agent claude-code
Codex
$ npx skills add ed3dai/ed3d-plugins --skill investigating-a-codebase -a codex -y
Cursor
$ npx skills add ed3dai/ed3d-plugins --skill investigating-a-codebase -a cursor -y
Gemini CLI
$ npx skills add ed3dai/ed3d-plugins --skill investigating-a-codebase -a gemini-cli -y
GitHub Copilot
$ npx skills add ed3dai/ed3d-plugins --skill investigating-a-codebase -a github-copilot -y
OpenCode
$ npx skills add ed3dai/ed3d-plugins --skill investigating-a-codebase -a opencode -y
Windsurf
$ npx skills add ed3dai/ed3d-plugins --skill investigating-a-codebase -a windsurf -y
name: investigating-a-codebase description: Use when planning or designing features and need to understand current codebase state, find existing patterns, or verify assumptions about what exists; when design makes assumptions about file locations, structure, or existing code that need verification - prevents hallucination by grounding plans in reality user-invocable: false
Understand current codebase state to ground planning and design decisions in reality, not assumptions. Find existing patterns, verify design assumptions, and provide definitive answers about what exists and where.
**Use for:**
**Don't use for:**
**Do not use nested subagents.** If you are running as a research subagent, perform the investigation directly with Read/Glob/Grep and any other tools already available to you. Do not dispatch or invoke additional subagents.
1. **Start with entry points** - main files, index, package.json, config 2. **Use multiple search strategies** - Glob patterns, Grep keywords, Read files 3. **Follow traces** - imports, references, component relationships 4. **Verify don't assume** - confirm file locations and structure 5. **Report definitively** - exact paths or "not found" with search strategy
When given design assumptions to verify:
1. **Extract assumptions** - list what design expects to exist 2. **Search for each** - file paths, functions, patterns, dependencies 3. **Compare reality vs expectation** - matches, discrepancies, additions, missing 4. **Report explicitly**:
**Why this matters:** Prevents implementation plans based on wrong assumptions about codebase structure.
| Task | Strategy | |------|----------| | **Where is X** | Glob likely names → Grep keywords → Read matches | | **How does X work** | Find entry point → Follow imports → Read implementation | | **What patterns exist** | Find examples → Compare implementations → Extract conventions | | **Does X exist** | Multiple searches → Definitive yes/no → Evidence | | **Verify assumptions** | Extract claims → Search each → Compare reality vs expectation |
**Multiple search approaches:**
**Don't stop at first result:**
**Verify everything:**
**Lead with direct answer:**
**Provide actionable intelligence:**
**Handle "not found" confidently:**
| Mistake | Fix | |---------|-----| | Assuming file locations | Always verify with Read/Glob before reporting | | Stopping at first result | Explore multiple paths to verify findings | | Vague locations ("in auth folder") | Exact paths (src/auth/index.ts:42) | | Not documenting search strategy | Explain what was checked when reporting "not found" | | Confusing "not found" types | Distinguish "doesn't exist" from "couldn't locate" | | Skipping design assumption comparison | Explicitly report: confirmed/discrepancy/addition/missing | | Reporting assumptions as facts | Only report what was verified in codebase |
Ed's repo of Claude Code plugins, centered around a research-plan-implement workflow. Only a tiny bit cursed. If you're lucky.
Use when analyzing a large corpus of text, code, or data that exceeds a single agent's effective context - orchestrates parallel…
Use when creating a new Claude Code plugin or setting up plugin structure - provides complete file organization, manifest format,…
Use when creating specialized subagents for Claude Code plugins or the Task tool - covers description writing for…
Use when creating, releasing, or maintaining a Claude Code Plugin Marketplace - covers marketplace.json schema, version…
Use when completing development phases or branches to identify and update CLAUDE.md or AGENTS.md files that may have become stale…
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…
Ask which skill or flow fits your situation. A router over the skills in this repo.