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 you need to conduct a thorough investigation of code behavior, architecture, or bugs that requires tracking findings over time.
For quick answers or single-file searches that don't need persistent documentation.
Security analysis
SafeThe 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
Start an investigation into how the authentication flow works in this project.Figure out why the API returns a 500 error for certain requests.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
- 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} - Create a
README.mdin this folder with: task description, background context, task checklist. Update with findings as you progress. - Create scripts and data files as needed for empirical work.
- 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
Next.js App Router Expert
Development
A skill that turns Claude into a Next.js App Router expert.
README Generator
Development
Creates professional and comprehensive README.md files for your projects.
API Documentation Writer
Development
Generates comprehensive API documentation in OpenAPI/Swagger format.