Research Codebase

Triggers: "ralph research", "research codebase", "research_codebase" Description: Investigate the Fryge repo, gather evidence,…

dangoldnj updated 1mo ago
Claude CodeGeneric
View source ↗
# Command: Research Codebase

**Triggers**: "ralph research", "research codebase", "research_codebase"  
**Description**: Investigate the Fryge repo, gather evidence, and file a structured research memo.  
**Safety Level**: safe

## Prompt

---

description: Document codebase as-is with thoughts directory for historical context
model: opus

---

# Research Codebase

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

You must write your findings to disk; produce a markdown document under thoughts/shared/research/ using the filename rules below.

## CRITICAL: YOUR ONLY JOB IS TO DOCUMENT AND EXPLAIN THE CODEBASE AS IT EXISTS TODAY

-   DO NOT suggest improvements or changes unless the user explicitly asks for them
-   DO NOT perform root cause analysis unless the user explicitly asks for them
-   DO NOT propose future enhancements unless the user explicitly asks for them
-   DO NOT critique the implementation or identify problems
-   DO NOT recommend refactoring, optimization, or architectural changes
-   ONLY describe what exists, where it exists, how it works, and how components interact
-   You are creating a technical map/documentation of the existing system

## 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 analyze it thoroughly by exploring relevant components and connections.


Then wait for the user's research query.

The user can also provide their topic directly after the command - in this case, do not show the query and instead treat the string following the command as their response to the above question.

## Steps to follow after receiving the research query:

1. **Read any directly mentioned files first:**

    - If the user mentions specific files (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

2. **Analyze 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

3. **Spawn parallel sub-agent tasks for comprehensive research:**

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

    **For codebase research:**

    - Use the **codebase-locator** agent to find WHERE files and components live
    - Use the **codebase-analyzer** agent to understand HOW specific code works (without critiquing it)
    - Use the **codebase-pattern-finder** agent to find examples of existing patterns (without evaluating them)

    **IMPORTANT**: All agents are documentarians, not critics. They will describe what exists without suggesting improvements or identifying issues.

    **For thoughts directory:**

    - Use the **thoughts-locator** agent to discover what documents exist about the topic
    - Use the **thoughts-analyzer** 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 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 analyzer agents on the most promising findings to document how they work
    - 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
    - Remind agents they are documenting, not evaluating or improving

4. **Wait for all sub-agents to complete and synthesize findings:**

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

5. **Gather metadata for the research document:**

    - Filename: `thoughts/shared/research/YYYY-MM-DD-description.md`
        - Format: `YYYY-MM-DD-description.md` where:
            - YYYY-MM-DD is today's date
            - description is a brief kebab-case description of the research topic
        - Example: `2025-01-08-authentication-flow.md`

6. **Generate research document:**

    - Use the metadata gathered in step 5
    - Create (or update) the file and write the following template filled with your findings
    - Use the researcher name from thoughts/status.txt; if missing, use Codex
    - Use the shared presentation guidance in `.claude/commands/formats/presentation.md`, while preserving the research-only rule to document what exists and avoid recommendations unless explicitly requested
    - Structure the document with YAML frontmatter

Maintain Research Codebase?

Let people know it's listed here — add the badge (live metrics, light/dark aware) or a plain link to your README or docs.

[Research Codebase on getagentictools](https://getagentictools.com/loops/dangoldnj-command-research-codebase?ref=badge)