Skip to main content
GeneralCodename-Inc

spectre-research

👻 | Research codebase with parallel agents - primary agent

Stars
142
Source
Codename-Inc/spectre
Updated
2026-05-28
Slug
Codename-Inc--spectre--spectre-research
View on GitHubRaw SKILL.md

// install — copy + paste into any project

mkdir -p .claude/skills && curl -fsSL https://raw.githubusercontent.com/Codename-Inc/spectre/HEAD/plugins/spectre-codex/skills/spectre-research/SKILL.md -o .claude/skills/spectre-research.md

Drops the SKILL.md into .claude/skills/spectre-research.md. Works with Claude Code, Cursor, and any agent that loads SKILL.md files from .claude/skills/.

research

Input Handling

Treat the current command arguments as this workflow's input. When invoked from a slash command, use the forwarded $ARGUMENTS value.

research_codebase: Parallel Evidence-Based Codebase Analysis

Description

  • Description — Conduct comprehensive codebase research by spawning parallel specialized sub-agents and synthesizing their findings into structured documentation. Prioritizes direct readings of live code with specific file paths and line numbers. Supports follow-up questions with document updates.
  • Desired Outcome — Complete research document with YAML frontmatter, concrete evidence (file paths/line numbers), architectural insights, GitHub permalinks (when applicable), saved to TASK_DIR/research/{topic}_{date}.md, ready for task formalization or planning.

ARGUMENTS Input

Optional user input to seed this workflow.

$ARGUMENTS

Step (1/8) - Immediate Reply & Gather Context

  • Action — ImmediateReply: Respond immediately before running any commands or tools.
    • Check for ARGUMENTS and extract research topic
    • If ARGUMENTS exists → acknowledge topic; extract research question
    • Else → prompt user: "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."
    • CRITICAL: Do NOT run any tool calls in this step
  • Wait — User provides research query (if needed)

Step (2/8) - Read Mentioned Files

  • Action — ReadMentionedFiles: Read any directly mentioned files FULLY before decomposition.
    • If user mentions specific files (tickets, docs, JSON) → read them FULLY using Read tool WITHOUT limit/offset
    • CRITICAL: Read these files in main context before spawning sub-agents
    • Ensures full context before decomposing research

Step (3/8) - Decompose & Plan Research

  • Action — AnalyzeQuestion: Break down research query into composable areas.
    • Ultrathink about underlying patterns, connections, architectural implications user seeking
    • Identify specific components, patterns, concepts to investigate
    • Consider relevant directories, files, architectural patterns
    • Create research plan using TodoWrite to track all subtasks
  • Action — SpawnSpecializedAgents: Launch parallel sub-agents for comprehensive research.
    • Codebase Research:
      • finder: Find WHERE files and components live
      • analyst: Understand HOW specific code works
      • patterns: Find examples of similar implementations
    • Web Research (when task requires 3rd party frameworks/platforms/services/libraries/SDKs):
      • web-research: External documentation and resources
      • IMPORTANT: Instruct to return LINKS with findings; include links in final report
    • 3rd Party Libraries (only if user explicitly asks):
      • Use Context 7 MCP tool to search external documentation
    • Linear Tickets (if relevant):
      • linear-ticket-reader: Get full details of specific ticket
      • linear-searcher: Find related tickets or historical context
    • Agent Strategy: Start with locator → use analyzer on promising findings → run multiple agents in parallel for different searches; each agent knows its job (tell what you're looking for, not how to search)

Step (4/8) - Synthesize Findings

  • Action — WaitForAgents: Wait for ALL sub-agent tasks to complete before proceeding.
  • Action — CompileResults: Synthesize all sub-agent results into coherent findings.
    • Prioritize live codebase findings as primary source of truth
    • Connect findings across different components
    • Include specific file paths and line numbers for reference
    • Highlight patterns, connections, architectural decisions
    • Answer user's specific questions with concrete evidence
  • Action — GatherMetadata: Collect document metadata for YAML frontmatter.
    • Current date/time with timezone (ISO format)
    • Current commit hash (git rev-parse HEAD)
    • Current branch name (git rev-parse --abbrev-ref HEAD)
    • Repository name

Step (5/8) - Generate Research Document

  • Output Location — DetermineOutputDir: Decide where to save artifacts for this workflow.
    • branch_name=$(git rev-parse --abbrev-ref HEAD 2>/dev/null || echo unknown)
    • If user specifies target_dir/pathOUT_DIR={that value}
    • ElseOUT_DIR=docs/tasks/{branch_name}
    • mkdir -p "OUT_DIR/research"
  • Action — CreateDocument: Structure research document with YAML frontmatter and comprehensive findings.
    • Frontmatter (YAML at top):
      • date: [ISO format with timezone]
      • git_commit: [commit hash]
      • branch: [branch name]
      • repository: [repo name]
      • topic: "[User's Question/Topic]"
      • tags: [research, codebase, relevant-component-names]
      • status: complete
      • last_updated: [YYYY-MM-DD]
      • last_updated_by: [Researcher name]
    • Document Sections (in order):
      1. Title: # Research: [User's Question/Topic]
      2. Metadata header (Date, Git Commit, Branch, Repository)
      3. Research Question (original user query)
      4. Summary (high-level findings answering question)
      5. Detailed Findings (by Component/Area with file:line references)
      6. Code References (path/to/file:line with descriptions)
      7. Architecture Insights (patterns, conventions, design decisions)
      8. Related Research (links to other research docs in docs/ (look for /research directories))
      9. Open Questions (areas needing further investigation)

Step (6/8) - Add Permalinks & Save

  • Action — AddGitHubPermalinks: Generate GitHub permalinks if applicable.
    • Check if on main branch or commit pushed: git branch --show-current and git status
    • If on main/master OR pushed → generate permalinks:
      • Get repo info: gh repo view --json owner,name
      • Create: https://github.com/{owner}/{repo}/blob/{commit}/{file}#L{line}
      • Replace local file references with permalinks in document
    • Else → keep local file references
  • Action — SaveDocument: Save research document to standardized location under {OUT_DIR}/research/.
    • Filename: {research_topic}_{MMDDYY}.md
    • Path: {OUT_DIR}/research/{filename}
  • Action — PresentFindings: Present concise summary to user.
    • Concise summary of key findings
    • Include key file references for easy navigation
    • Ask if they have follow-up questions or need clarification

Step (7/8) - Handle Follow-ups & Handoff

  • Action — HandleFollowUps: If user has follow-up questions, update same document.
    • If follow-up questions asked:
      • Update frontmatter: last_updated, last_updated_by, add last_updated_note: "Added follow-up research for [brief description]"
      • Add new section: ## Follow-up Research [timestamp]
      • Spawn new sub-agents as needed for additional investigation
      • Continue updating document
  • Else → proceed to handoff
  • Action — RenderFooter: Render Next Steps footer using Skill(spectre-guide) skill (contains format template and spectre command options)

Next Steps

See Skill(spectre-guide) skill for footer format and command options.

Success Criteria

  • Immediate reply sent; research topic requested (Step 1 - no tool calls)

  • User research query received

  • Output directory determined inline (OUT_DIR) using branch name or user-specified path

  • Directly mentioned files read FULLY in main context before decomposition

  • Research question decomposed into composable areas with ultra-thinking about patterns/connections

  • Research plan created using TodoWrite to track subtasks

  • Specialized sub-agents spawned in parallel (finder, analyst, patterns, web-research as needed, linear agents if relevant)

  • Agent strategy followed (locator → analyzer → parallel execution)

  • Web research agents instructed to return LINKS (if used)

  • ALL sub-agents completed before synthesis

  • Findings compiled with live codebase prioritized as source of truth

  • Results include specific file paths and line numbers

  • Cross-component connections and patterns highlighted

  • Concrete evidence provided for user's questions

  • Metadata gathered for frontmatter (date/time ISO, commit hash, branch, repo name)

  • Research document created with YAML frontmatter at top

  • Frontmatter fields consistent (snake_case for multi-word: git_commit, last_updated)

  • Document includes all 9 required sections in order

  • GitHub permalinks generated if on main/master or pushed commit

  • Local file references replaced with permalinks (when applicable)

  • Document saved to {OUT_DIR}/research/{topic}_{MMDDYY}.md

  • Concise findings summary presented to user with key file references

  • Follow-up questions handled with document updates (frontmatter updated, new section added)

  • Next steps guide read and relevant options sourced for footer