skills/code-investigator/SKILL.md
Investigate code to confirm specifications and provide evidence-based reports. Use for questions like 'what does this do?', 'how is this implemented?', 'where is the spec?', 'explain this behavior', or any request requiring code investigation with documented evidence. Also use for bug investigation requiring current specification understanding.
npx skillsauth add atman-33/atman-workspace code-investigatorInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Systematically investigate code to understand specifications and provide evidence-based reports with file/line references. Saves findings to persistent memory for future reference.
State what to investigate and where to start (1-3 lines). Prevents scope drift.
Locate the starting point: routing, CLI entry, UI event, main function, service initialization, etc.
Follow function/class/module calls related to the specification. Identify:
Document facts that can be determined from code:
List runtime dependencies (env vars, config files, external APIs) that cannot be confirmed from code alone:
Create Mermaid diagram when:
Use this template for all investigation reports:
## TL;DR
[1-2 sentence conclusion]
## Confirmed Specifications
[Bulleted list, each with evidence]
- **Spec**: [When/If/Then format]
- **Evidence**: [path/to/file.ts:L10-L42](path/to/file.ts#L10-L42) - [Why this code proves the spec]
- **Notes**: [Optional: exceptions, config dependencies, related locations]
## Implementation Evidence
[Key implementation details by file]
### [path/to/file.ts](path/to/file.ts)
- Lines X-Y: [What this code does]
- Lines A-B: [What this code does]
## Flow Diagram (Optional)
[Mermaid diagram if applicable]
## Open Questions / Unknowns
[What could not be confirmed and why]
- [Unconfirmed item]: [What additional investigation is needed]
[path/to/file.ts](path/to/file.ts#L10-L42)#L10-L42#functionName or just (file.ts)Every specification MUST follow this structure:
Use appropriate diagram types:
sequenceDiagramflowchart LRstateDiagram-v2Diagram policy:
File::Symbol format for node names (e.g., src/foo.ts::createPlayer)Example:
sequenceDiagram
participant UI as app/routes/_app.tsx::handleClick
participant Store as app/stores/player.ts::Player
participant Service as app/lib/player/service.ts::updateState
UI->>Store: dispatch(action)
Store->>Service: updateState(data)
Service-->>Store: newState
All confirmed investigations are saved to: .claude/skills/code-investigator/memories/
in-progressYYYY-MM-DD__topic__short-slug.md
Example: 2026-01-08__player__loop-behavior.md
---
summary: "Brief description of investigation topic and findings"
created: YYYY-MM-DD
updated: YYYY-MM-DD # optional
status: confirmed | in-progress | blocked # optional
tags: [feature-area, component] # optional
related: [path/to/file.ts, path/to/other.ts] # optional
---
# [Investigation Topic]
## Question
[Original user question or investigation goal]
## Confirmed Specifications
[Same format as report above]
## Implementation Evidence
[Same format as report above]
## Flow Diagram
[Mermaid if applicable]
## Open Questions
[Unconfirmed items and next steps]
Language: All memory files MUST be written in English (per project standards). Chat responses can be in Japanese.
When asked to recall previous investigations:
# 1. List investigations
ls .claude/skills/code-investigator/memories/
# 2. View all summaries
rg "^summary:" .claude/skills/code-investigator/memories/ --no-ignore --hidden
# 3. Search summaries by keyword
rg "^summary:.*keyword" .claude/skills/code-investigator/memories/ --no-ignore --hidden -i
# 4. Search by tag
rg "^tags:.*keyword" .claude/skills/code-investigator/memories/ --no-ignore --hidden -i
# 5. Full-text search (when summary insufficient)
rg "keyword" .claude/skills/code-investigator/memories/ --no-ignore --hidden -i
# 6. Read specific memory if relevant
Note: Memory files are gitignored, use --no-ignore --hidden flags.
For detailed guidance on specific patterns, see:
Executable code (Python/Bash/etc.) that can be run directly to perform specific operations.
Examples from other skills:
fill_fillable_fields.py, extract_form_field_info.py - utilities for PDF manipulationdocument.py, utilities.py - Python modules for document processingAppropriate for: Python scripts, shell scripts, or any executable code that performs automation, data processing, or specific operations.
Note: Scripts may be executed without loading into context, but can still be read by Codex for patching or environment adjustments.
Documentation and reference material intended to be loaded into context to inform Codex's process and thinking.
Examples from other skills:
communication.md, context_building.md - detailed workflow guidesAppropriate for: In-depth documentation, API references, database schemas, comprehensive guides, or any detailed information that Codex should reference while working.
Files not intended to be loaded into context, but rather used within the output Codex produces.
Examples from other skills:
Appropriate for: Templates, boilerplate code, document templates, images, icons, fonts, or any files meant to be copied or used in the final output.
Not every skill requires all three types of resources.
tools
Zenn記事のMarkdown校正を行うスキル。記事を読み、Zenn独自記法の正確性・見出し構造・コードブロック・リンク・画像・テーブル・埋め込み・メッセージ/アコーディオン記法をチェックし、改善提案を行う。ユーザーが「Zenn記事を校正して」「Zennの記法をチェックして」「記事をレビューして」「Markdown確認して」と依頼した際に使用する。
tools
Develop React applications for VS Code Webview surfaces. Use when working on the `webview-ui` package, creating features, components, or hooks for VS Code extensions. Includes project structure, coding guidelines, and testing instructions.
testing
Best practices for reliable terminal command execution and output capture. Use this skill when running shell commands, especially in environments like WSL where output might be truncated or lost, to ensure results are properly captured and inspected.
databases
Supabaseデータベースマイグレーションの準備を行うスキル。バックアップの作成と差分マイグレーションファイルの生成を実施します。ユーザーが「マイグレーションを準備」「バックアップと差分を作成」「マイグレーションファイルを生成」などのリクエストをした際に使用します。