investigation
Scaffolds a template for a small investigation for empirical experimentation. Use when the user asks for an investigation, experiment or research to support making design decisions, assess performance or try out a new idea that requires data or an MVP.
When & Why to Use This Skill
This Claude skill streamlines the process of conducting empirical investigations and technical research within a development environment. It automatically scaffolds a structured workspace—complete with dedicated directories, README templates, and tracking scripts—to help developers test new ideas, assess performance, and build MVPs. By organizing scratch work and documenting findings systematically, it ensures that data-driven design decisions are well-supported and easily distilled into actionable insights for pull requests.
Use Cases
- API Exploration: Quickly setting up a scratchpad to interactively test a new library's members and document the findings in a structured API.md file.
- Performance Benchmarking: Creating a controlled environment with isolated scripts and data files to measure execution time or resource usage for specific code paths.
- Rapid Prototyping: Using the integrated local web server and Playwright support to iterate on self-contained HTML/JS MVPs and capture visual screenshots for UI/UX validation.
- Evidence-Based Design: Conducting small-scale empirical experiments to compare different architectural approaches or algorithms before committing to a final implementation.
| name | investigation |
|---|---|
| description | Scaffolds a template for a small investigation for empirical experimentation. Use when the user asks for an investigation, experiment or research to support making design decisions, assess performance or try out a new idea that requires data or an MVP. |
Set up an investigation
Instructions
- Create a folder in
{REPO_ROOT}/scratch/with the format{YYYY-MM-DD}-{descriptive-name}. You will mainly work inside this folder. - Create a
README.mdin this folder where you will:- Describe the task.
- Take background notes for context.
- Create a task list for progress tracking.
- Summarize results and outcomes.
- Create scripts and testing data files in this folder to conduct an empirical investigation.
- For multi-step investigations with sub-experiments, consider generating individual markdown files to take interediate notes.
- The
README.mdshould contain actionable findings to support a subsequent implementation or design decision.
Best practices
- Both for this library and other ones, it's worth writing a simple script or calling the library interactively to list its members or try out different constructions to explore the API and document it in a markdown file called
API.md. - Generate figures when applicable (e.g., plots, data visualizations) and reference them inline in the markdown files.
- Always use
uvwith self-contained dependencies when using Python. - When you need a local web server, use
npx serve -p 8080 --cors --no-clipboard &(run in background to avoid blocking). - Prefer self-contained HTML+JS pages (without React if possible) and use Playwright MCP for rendering screenshots.
- Use subagents whenever possible to save context and delegate tasks in parallel.
Important: Scratch work is gitignored
The scratch/ directory is in .gitignore and will NOT be committed. When distilling findings into PRs:
- Do NOT assume local scratch notes will be checked in
- Include all relevant information inline in PR descriptions or code comments
- Copy key findings, code snippets, benchmark results, or data directly into the PR
- The PR should be self-contained and not rely on scratch files for context