Claude-skill-registry ipps-deep-research
Apply when conducting deep research on technologies, APIs, frameworks, or other software development topics requiring systematic investigation
git clone https://github.com/majiayu000/claude-skill-registry
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/ipps-deep-research" ~/.claude/skills/majiayu000-claude-skill-registry-ipps-deep-research && rm -rf "$T"
skills/data/ipps-deep-research/SKILL.mdDeep Research Skill
Systematic research patterns for in-depth investigation of software development topics.
Table of Contents
Core
Patterns
- MEPI vs MCPI - When to use quick vs exhaustive research
- Source Hierarchy - Priority order for sources
- Verification Labels - How to mark claims
Strategies
- Technology/API Research (MCPI) - 6-phase exhaustive documentation
- Quick Research (MEPI) - Abbreviated approach for low-stakes
Planning & Tracking
- Planning Structure - STRUT vs TASKS
- Time Tracking - Net research time calculation
Reference
- Tool Reference - Source collection, PDF processing, transcription
- Source ID Format - How to cite sources
- File Naming Conventions - Prefix rules for documents
When to Use
Deep research (this skill):
- "Should we use X or Y for our project?"
- "How does X work internally?"
- "What are the production considerations for X?"
- Multi-source synthesis required
- Exhaustive documentation needed
Quick lookup (not this skill):
- "What's the syntax for X?"
- "How do I install Y?"
- Single-source answers
MUST-NOT-FORGET
- Start with assumptions check - write down what you think you know before researching
- Primary sources > secondary sources > community opinions
- Document all sources with URLs and access dates
- Flag information age (APIs change rapidly)
- Distinguish facts from opinions from assumptions
- Version-match community sources to subject version
- Create INFO document for findings
- Always create STRUT for research session orchestration
- Track time - log task start/end for net research time calculation
- Track credits - detect model via screenshot, log switches, calculate usage
- Never auto-switch models - respect user's model selection throughout research
Global Patterns
MEPI vs MCPI
MEPI (Most Executable Point of Information) - Default
- Present 2-3 curated options
- Filter and recommend
- Use for: reversible decisions, time-constrained, action-oriented
MCPI (Most Complete Point of Information) - Exception
- Present exhaustive options
- Document everything
- Use for: irreversible decisions, high-stakes, archival reference
Source Hierarchy
- Official PDFs/papers - Legislation, specs, whitepapers, academic papers (often not available as web)
- Official documentation - Authoritative, version-specific
- Official blog/changelog - Announcements, rationale
- GitHub repo - Source code, issues, PRs, discussions
- Conference talks by maintainers - Design decisions, roadmap
- Reputable tech blogs - Analysis, comparisons
- Stack Overflow - Specific problems (verify currency)
- Community forums/Discord - Anecdotes, edge cases
Source Persistence: Download and store all sources in session folder for later reference. Web content changes - PDFs and local copies ensure reproducibility.
Verification Labels
- Confirmed from official documentation[VERIFIED]
- Inferred but not explicitly stated[ASSUMED]
- Manually tested by running code[TESTED]
- Confirmed from multiple independent sources[PROVEN]
- Reported by community sources (cite source ID)[COMMUNITY]
Source ID Format
[TOPIC]-IN01-SC-[SOURCE]-[DOCNAME]
Examples:
- Microsoft Graph official docsGRPH-IN01-SC-MSFT-APIOVERVIEW
- Stack Overflow rate limit discussionGRPH-IN01-SC-SO-RATELIMIT
- GitHub issue #1234GRPH-IN01-SC-GH-ISSUE1234
File Naming Conventions
prefix (double underscore): Master/index documents (SOURCES, TOC, TEMPLATE)__
prefix (single underscore): Topic content files (INFO documents)_- No prefix: Tracking files (TASKS, NOTES, PROBLEMS, PROGRESS)
Information Currency
- Note version numbers for all API/library info
- Check last updated date on documentation
- Cross-reference with changelog for breaking changes
- Mark stale info with
tag[STALE: YYYY]
Research Strategies
Available research strategies (each has its own file):
- Technology/API Research (MCPI) - RESEARCH_STRATEGY_TECH_MCPI.md - Exhaustive API/framework documentation
Quick research (MEPI-style) until full strategy implemented: For reversible/low-stakes decisions, use abbreviated approach:
- Phase 1 (Preflight): 5-10 sources max, skip community deep-dive
- Skip Phases 2-4 (no TOC, template, or TASKS)
- Phase 5: Create single
with findings_INFO_[TOPIC].md - Phase 6: Quick
, done/verify
Future strategies (not yet implemented):
- Technology Research (MEPI) - Quick technology evaluation
- Decision Research - Choose between options
- Problem-Solving Research - Debug and fix issues
Tool Reference
See RESEARCH_TOOLS.md for:
- Source collection tools (search_web, read_url_content, Playwright)
- Document processing tools (pdf-tools)
- Transcription tools (llm-transcription)
- Tool selection flowchart
- Common workflows
Planning Structure
STRUT (high-level orchestration) - REQUIRED for all research:
- Tracks phases, objectives, deliverables, transitions
- Contains time log for net research time
- Created at research start, updated at phase transitions
- File:
in session folderSTRUT_[TOPIC].md
TASKS (low-level execution) - Created in Phase 4:
- Flat list of individual research tasks with durations
- Each task: file to create, sources to use, done-when criteria
- Tracks task timing:
per task[HH:MM-HH:MM] - File:
in session folderTASKS.md
Time Tracking
Net research time = active work time, excluding pauses.
STRUT time log format:
## Time Log Started: 2026-01-30 09:00 Ended: 2026-01-30 14:30 Active intervals: - 09:00-10:30 (Phase 1-3) - 11:00-12:15 (Phase 4-5) - 13:00-14:30 (Phase 5-6) Net research time: 4h 15m
TASKS timing format:
- [x] TK-01: Research auth [10:00-10:45] 45m - [x] TK-02: Research limits [10:15-11:00] 45m (parallel)
Rules:
- Pause detection: Gap > 30min in file timestamps = pause (don't count)
- Parallel tasks: Overlapping intervals count once, not doubled
- Log start time when beginning task, end time when completing
Credit Tracking (Mandatory)
Workflow:
- At phase start:
→ detect model from Windsurf headersimple-screenshot.ps1 - Lookup cost in
windsurf-model-registry.json - Log model + timestamp in STRUT Credit Tracking section
- At session end: calculate total estimated credits
STRUT Credit Tracking format:
## Credit Tracking Phase 1: Claude Opus 4.5 (Thinking) [5x] - 09:00 Phase 2: Claude Opus 4.5 (Thinking) [5x] - 09:30 Phase 4: Claude Sonnet 4.5 [2x] - 10:15 (user switched) Phase 5: Claude Sonnet 4.5 [2x] - 10:45 Phase 6: Claude Sonnet 4.5 [2x] - 11:30 Estimated credits: (2 phases × 5x) + (3 phases × 2x) = 16 units
Rules:
- Never auto-switch models - respect user's model selection
- Detect via screenshot only - passive observation
- Log when model changes (user-initiated)
- Registry:
[DEVSYSTEM_FOLDER]/skills/windsurf-auto-model-switcher/windsurf-model-registry.json
Output Format
Deep research outputs an INFO document. Key sections:
- Research Question - What we're investigating
- Key Findings - MEPI-style summary (2-3 main points) or MCPI exhaustive list
- Detailed Analysis - Full investigation results
- Limitations and Known Issues - From community sources
- Sources - All references with quality indicators
- Recommendations - Actionable conclusions
Usage
- Determine research type (MEPI quick vs MCPI exhaustive)
- Read this SKILL.md for core principles
- Read the appropriate strategy file
- Read RESEARCH_TOOLS.md for tool guidance
- Follow the strategy's phases systematically
- Output findings as INFO document