investigation
Creates a dated scratch directory with a template README to document code tracing, architecture analysis, and feasibility studies.
Install
mkdir -p .claude/skills/investigation && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/6410" && unzip -o skill.zip -d .claude/skills/investigation && rm skill.zipInstalls to .claude/skills/investigation
Activation
This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.
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.Key capabilities
- →Scaffold dated investigation folders in scratch/
- →Initialize standard README templates with task checklists
- →Document call stack tracing for complex code paths
- →Facilitate empirical research for system architecture archeology
- →Break down multi-repo bug investigations into actionable task lists
How it works
It generates a filesystem structure and boilerplate documentation based on a dated folder template to force methodical tracking of findings.
Inputs & outputs
When to use investigation
- →Tracing complex code paths
- →Documenting system architecture
- →Investigating bug root causes
About this skill
Set up an investigation
Instructions
- Create a folder in
{REPO_ROOT}/scratch/with the format{YYYY-MM-DD}-{descriptive-name}:mkdir scratch/$(uv run 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
uvwith inline dependencies for standalone scripts; for scripts importing local project code, usepythondirectly (oruv run pythonif env not activated) - 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
When not to use it
- →Simple coding questions that require a quick fix
- →Single-file modifications or basic debugging
Prerequisites
Limitations
- →Requires manual effort to keep the README updated
- →Not intended for tasks that do not require multi-step documentation
How it compares
It forces an empirical, documentation-first approach for complex tasks instead of diving directly into code changes.
Compared to similar skills
investigation side by side with the closest alternatives in the catalog.
| Skill | Installs | Updated | Safety | Difficulty |
|---|---|---|---|---|
| investigation (this skill) | 3 | 6mo | Review | Beginner |
| react-expert | 8 | 6mo | Review | Advanced |
| rust-learner | 8 | 6mo | Review | Beginner |
| cartographer | 3 | 6mo | Review | Intermediate |
Try saying
Example prompts that trigger this skill in your AI assistant.
More by talmolab
View all by talmolab →You might also like
react-expert
reactjs
Use when researching React APIs or concepts for documentation. Use when you need authoritative usage examples, caveats, warnings, or errors for a React feature.
rust-learner
actionbook
Use when asking about Rust versions or crate info. Keywords: latest version, what's new, changelog, Rust 1.x, Rust release, stable, nightly, crate info, crates.io, lib.rs, docs.rs, API documentation, crate features, dependencies, which crate, what version, Rust edition, edition 2021, edition 2024, cargo add, cargo update, 最新版本, 版本号, 稳定版, 最新, 哪个版本, crate 信息, 文档, 依赖, Rust 版本, 新特性, 有什么特性
cartographer
kingbootoshi
Maps and documents codebases of any size by orchestrating parallel subagents. Creates docs/CODEBASE_MAP.md with architecture, file purposes, dependencies, and navigation guides. Updates CLAUDE.md with a summary. Use when user says "map this codebase", "cartographer", "/cartographer", "create codebase map", "document the architecture", "understand this codebase", or when onboarding to a new project. Automatically detects if map exists and updates only changed sections.
repo-research-analyst
parcadei
Analyze repository structure, patterns, conventions, and documentation for understanding a new codebase
exploring-rust-crates
hashintel
Generate Rust documentation to understand crate APIs, structure, and usage. Use when exploring Rust code, understanding crate organization, finding functions/types/traits, or needing context about a Rust package in the HASH workspace.
agent-test-long-runner
ruvnet
Agent skill for test-long-runner - invoke with $agent-test-long-runner