Structured Investigation

VerifiedSafe

Creates a dated investigation folder under scratch/ with a README to guide empirical research. Helps trace code paths, document system architecture, investigate bugs, explore technical feasibility, or research design options. Intended for complex multi-step investigations, not simple questions.

Sby Skills Guide Bot
DevelopmentIntermediate
406/2/2026
Claude CodeCursorWindsurfCopilotCodex
#investigation#tracing#bug-hunting#documentation#research

Recommended for

Our review

Structures empirical research and documentation in a scratch folder by creating a dated directory with a README for tracing code, documenting architecture, investigating bugs, and exploring designs.

Strengths

  • Clear, dated organization of investigations for temporal tracking.
  • Supports multiple investigation patterns (tracing, archaeology, bug, technical exploration).
  • Leverages sub-agents for efficient parallel exploration.
  • Scratch folder is gitignored, preventing accidental commits.

Limitations

  • Requires manual creation of folder and README.
  • Not suitable for simple questions or one-off file searches.
  • Relies on user discipline to maintain the structure.
When to use it

When you need to conduct a thorough investigation of code behavior, architecture, or bugs that requires tracking findings over time.

When not to use it

For quick answers or single-file searches that don't need persistent documentation.

Security analysis

Safe
Quality score88/100

The skill instructs creation of a scratch directory and README, with benign commands (mkdir, python for date, npx serve for local HTTP). It explicitly prevents deletion and does not exfiltrate data. No destructive or obfuscated actions.

No concerns found

Examples

Trace authentication flow
Start an investigation into how the authentication flow works in this project.
Debug 500 error
Figure out why the API returns a 500 error for certain requests.
Explore API design
Explore the API alternatives for the new endpoint and document trade-offs.

name: investigation description: > Scaffolds a structured investigation in scratch/ for empirical research and documentation. Use when the user says "start an investigation" or wants to: trace code paths or data flow ("trace from X to Y", "what touches X", "follow the wiring"), document system architecture comprehensively ("document how the system works", "archeology"), investigate bugs ("figure out why X happens"), explore technical feasibility ("can we do X?"), or explore design options ("explore the API", "gather context", "design alternatives"). Creates dated folder with README. NOT for simple code questions or single-file searches.

Set up an investigation

Instructions

  1. Create a folder in {REPO_ROOT}/scratch/ with the format {YYYY-MM-DD}-{descriptive-name}:
    mkdir scratch/$(python -c "import datetime; print(datetime.date.today().isoformat())")-{descriptive-name}
    
  2. Create a README.md in this folder with: task description, background context, task checklist. Update with findings as you progress.
  3. Create scripts and data files as needed for empirical work.
  4. For complex investigations, split into sub-documents as patterns emerge.

Investigation Patterns

These are common patterns, not rigid categories. Most investigations blend multiple patterns.

Tracing - "trace from X to Y", "what touches X", "follow the wiring"

  • Follow call stack or data flow from a focal component to its connections
  • Can trace forward (X → where does it go?) or backward (what leads to X?)
  • Useful for: assessing impact of changes, understanding coupling

System Architecture Archeology - "document how the system works", "archeology"

  • Comprehensive documentation of an entire system or flow for reusable reference
  • Start from entry points, trace through all layers, document relationships exhaustively
  • For complex systems, consider numbered sub-documents (01-cli.md, 02-data.md, etc.)

Bug Investigation - "figure out why X happens", "this is broken"

  • Reproduce → trace root cause → propose fix
  • For cross-repo bugs, consider per-repo task breakdowns

Technical Exploration - "can we do X?", "is this possible?", "figure out how to"

  • Feasibility testing with proof-of-concept scripts
  • Document what works AND what doesn't

Design Research - "explore the API", "gather context", "design alternatives"

  • Understand systems and constraints before building
  • Compare alternatives, document trade-offs
  • Include visual artifacts (mockups, screenshots) when relevant
  • For iterative decisions, use numbered "Design Questions" (DQ1, DQ2...) to structure review

Best Practices

  • Use subagents for parallel exploration to save context
  • Write small scripts to explore APIs interactively
  • Generate figures/diagrams and reference inline in markdown
  • For web servers: npx serve -p 8080 --cors --no-clipboard &
  • For screenshots: use Playwright MCP for web, Qt's grab() for GUI
  • For external package API review: clone to scratch/repos/ for direct source access

Important: Scratch is Gitignored

The scratch/ directory is in .gitignore and will NOT be committed.

  • NEVER delete anything from scratch - it doesn't need cleanup
  • When distilling findings into PRs, include all relevant info inline
  • Copy key findings, code, and data directly into PR descriptions
  • PRs must be self-contained; don't reference scratch files
Related skills