Skip to content
Back to skills

Research Codebase

ASecurity

Conduct comprehensive codebase research by spawning parallel

  • 34 stars
  • 0 votes
  • 0 copies
  • 4 views
  • Added September 10, 2026
ai-agentsbashgitdocumentation

Security analysis

A100/100

Scanned September 22, 2026

npx -y skills add atomicinnovation/accelerator --skill research-codebase --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Research Codebase?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Research Codebase
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/atomicinnovation-research-codebase/badge)](https://www.skillsdirectory.com/skills/atomicinnovation-research-codebase)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: research-codebase
description: Conduct comprehensive codebase research by spawning parallel
  subagents and synthesising findings into a research document. Use when the
  user needs to deeply understand a codebase area or answer technical questions.
argument-hint: "[research question]"
allowed-tools:
  - Bash(accelerator config *)
  - Bash(accelerator corpus metadata derive)
  - Bash(accelerator corpus frontmatter validate *)
---

# Research Codebase

!`accelerator config context --skill research-codebase --fail-safe`
!`accelerator config agents --fail-safe`

If no "Agent Names" section appears above, use these defaults:
accelerator:reviewer, accelerator:codebase-locator,
accelerator:codebase-analyser, accelerator:codebase-pattern-finder,
accelerator:documents-locator, accelerator:documents-analyser,
accelerator:web-search-researcher.

**Codebase research directory**: !`accelerator config path research_codebase --fail-safe`
**Plans directory**: !`accelerator config path plans --fail-safe`
**Decisions directory**: !`accelerator config path decisions --fail-safe`

You are tasked with conducting comprehensive research across the codebase to
answer user questions by spawning parallel sub-agents and synthesising their
findings.

## Initial Setup:

When this command is invoked, respond with:

```
I'm ready to research the codebase. Please provide your research question or area of interest, and I'll analyse it thoroughly by exploring relevant components and connections.
```

Then wait for the user's research query.

## Steps to follow after receiving the research query:

### Step 1: Read any directly mentioned files first

- If the user mentions specific files (work items, docs, JSON), read them FULLY
  first
- **IMPORTANT**: Use the Read tool WITHOUT limit/offset parameters to read
  entire files
- **CRITICAL**: Read these files yourself in the main context before spawning
  any sub-tasks
- This ensures you have full context before decomposing the research

### Step 2: Analyse and decompose the research question

- Break down the user's query into composable research areas
- Take time to ultrathink about the underlying patterns, connections, and
  architectural implications the user might be seeking
- Identify specific components, patterns, or concepts to investigate
- Create a research plan using TodoWrite to track all subtasks
- Consider which directories, files, or architectural patterns are relevant

### Step 3: Spawn parallel sub-agent tasks for comprehensive research

- Create multiple Task agents to research different aspects concurrently
- We now have specialised agents that know how to do specific research tasks:

**For codebase research:**

- Use the **{codebase locator agent}** agent to find WHERE files and components live
- Use the **{codebase analyser agent}** agent to understand HOW specific code works
- Use the **{codebase pattern finder agent}** agent if you need examples of similar
  implementations

**For meta directory:**

- Use the **{documents locator agent}** agent to discover what documents exist about the
  topic in the configured research, plans, and decisions directories (shown
  above)
- Use the **{documents analyser agent}** agent to extract key insights from specific
  documents (only the most relevant ones)

**For web research (only if user explicitly asks):**

- Use the **{web search researcher agent}** agent for external documentation and
  resources
- IF you use web-research agents, instruct them to return LINKS with their
  findings, and please INCLUDE those links in your final report

The key is to use these agents intelligently:

- Start with locator agents to find what exists
- Then use analyser agents on the most promising findings
- Run multiple agents in parallel when they're searching for different things
- Each agent knows its job - just tell it what you're looking for
- Don't write detailed prompts about HOW to search - the agents already know

### Step 4: Wait for all sub-agents to complete and synthesise findings

- IMPORTANT: Wait for ALL sub-agent tasks to complete before proceeding
- Compile all sub-agent results (both codebase and document findings)
- Prioritise live codebase findings as primary source of truth
- Use document findings as supplementary historical context
- Connect findings across different components
- Include specific file paths and line numbers for reference
- Verify all output paths are correct
- Highlight patterns, connections, and architectural decisions
- Answer the user's specific questions with concrete evidence

### Step 5: Gather metadata for the research document

- Run `accelerator corpus metadata derive` to
  generate all relevant metadata.
- Filename: write to the configured research directory (shown above) using
  - Format: `YYYY-MM-DD-ENG-XXXX-description.md` where:
    - YYYY-MM-DD is today's date
    - ENG-XXXX is the work item number (omit if no work item)
    - description is a brief kebab-case description of the research topic
  - Examples:
    - With work item: `2025-01-08-ENG-1478-parent-child-tracking.md`
    - Without work item: `2025-01-08-authentication-flow.md`

### Step 6: Populate frontmatter and generate the research document

- Use the metadata gathered in step 5
- Structure the document with YAML frontmatter followed by content using
  this template:

!`accelerator config template codebase-research --fail-safe`

  Before writing the artifact file, **substitute** every field below
  with the indicated value, using the helper output captured in
  step 5:
  - `type:` ← `codebase-research`
  - `id:` ← the filename stem (the file path computed above without
    `.md`), always quoted as a YAML string
  - `title:` ← `{User's Question/Topic}`
  - `date:` ← the `Current Date/Time (UTC):` value
  - `author:` ← the author resolved per the standard chain
    (config → VCS user → prompt)
  - `producer:` ← `research-codebase`
  - `status:` ← `complete`
  - `revision:` ← the `Current Revision:` value
  - `repository:` ← the `Repository Name:` value
  - `last_updated:` ← the same `Current Date/Time (UTC):` value
  - `last_updated_by:` ← the same value resolved for `author`
  - `schema_version:` ← `1` (bare integer)

  Optional linkage/foreign-ref keys are omit-by-default: the
  template shows each as `""`/`[]`, but write a key into the artifact
  **only** when it has a value, and omit it entirely otherwise (do not
  carry the empty placeholder through).

  - `parent:` ← the work item this research supports, as a typed-linkage
    ref (`"work-item:NNNN"`). Fill when the research has an owning work
    item; otherwise omit the key.
  - `relates_to:` ← list of typed-linkage refs to related research
    (`["codebase-research:NNNN", ...]`). Fill when related artifacts are
    explicit; otherwise omit the key.
  - `work_item_id:` ← the linked work item's full ID (quoted). Fill when
    the research is linked to a work item; otherwise omit the key.

**Validate the frontmatter**: after writing, run `corpus frontmatter
validate` over the research document you just wrote:

```bash
accelerator corpus frontmatter validate --file <path>
```

If it exits non-zero, the research document violates the canonical frontmatter
standard; report the emitted violation and fix the frontmatter before
completing.

### Step 7: Add GitHub permalinks (if applicable)

- Check whether you are on the main branch and whether the commit is pushed
  (use the branch and status commands from the session's VCS context)
- If on main/master or pushed, generate GitHub permalinks:
  - Get repo info: `gh repo view --json owner,name`
  - Create permalinks:
    `https://github.com/{owner}/{repo}/blob/{commit}/{file}#L{line}`
- Replace local file references with permalinks in the document

### Step 8: Present findings

- Present a concise summary of findings to the user
- Include key file references for easy navigation
- Ask if they have follow-up questions or need clarification

### Step 9: Handle follow-up questions

- If the user has follow-up questions, append to the same research document
- Update the frontmatter fields `last_updated` and `last_updated_by` to reflect
  the update
- Add `last_updated_note: "Added follow-up research for [brief description]"` to
  frontmatter
- Add a new section: `## Follow-up Research [timestamp]`
- Spawn new sub-agents as needed for additional investigation
- Continue updating the document and syncing

## Important notes:

- Always use parallel Task agents to maximise efficiency and minimise context
  usage
- Always run fresh codebase research - never rely solely on existing research
  documents
- The configured document directories provide historical context to supplement
  live findings
- Focus on finding concrete file paths and line numbers for developer reference
- Research documents should be self-contained with all necessary context
- Each sub-agent prompt should be specific and focused on read-only operations
- Consider cross-component connections and architectural patterns
- Include temporal context (when the research was conducted)
- Link to GitHub when possible for permanent references
- Keep the main agent focused on synthesis, not deep file reading
- Encourage sub-agents to find examples and usage patterns, not just definitions
- Explore all configured document directories (research, plans, decisions)
- **File reading**: Always read mentioned files FULLY (no limit/offset) before
  spawning sub-tasks
- **Critical ordering**: Follow the numbered steps exactly
  - ALWAYS read mentioned files first before spawning sub-tasks (step 1)
  - ALWAYS wait for all sub-agents to complete before synthesising (step 4)
  - ALWAYS gather metadata before writing the document (step 5 before step 6)
  - NEVER write the research document with placeholder values
- **Frontmatter consistency**:
  - Always include frontmatter at the beginning of research documents
  - Keep frontmatter fields consistent across all research documents
  - Update frontmatter when adding follow-up research
  - Use snake_case for multi-word field names (e.g., `last_updated`,
    `git_commit`)
  - Tags should be relevant to the research topic and components studied

!`accelerator config instructions research-codebase --fail-safe`

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.