Deep Research Skill
Systematic research using MCPI (Most Complete Point of Information) or MEPI (Most Executable Point of Information) approaches. Origin: _INFO_MEPI_MCPI_PRINCIPLE.md [MEPI-IN01] (Karsten Held, 2003).
When to Use
Use this skill when the user's intent requires:
- Making an informed decision between alternatives
- Understanding something deeply before acting
- Preparing for a complex undertaking
- Evaluating risks, trade-offs, or consequences
- Gathering exhaustive knowledge on a topic
Quick Start
- Read this SKILL.md for core principles
- Detect Work Mode and create output folder (see "Output Folder" section below)
- Read the appropriate strategy file (MCPI or MEPI)
- Follow Phases 1-4 systematically
- Output findings as INFO document
Output Folder (Pre-Phase 1)
Deep research ALWAYS creates a dedicated subfolder for its outputs. This ensures parallel researches on the same topic cannot have filename or ID conflicts - each folder has an independent numbering namespace.
Step 1.1: Detect Work Mode
- Read workspace NOTES.md for
[DEFAULT_SESSIONS_FOLDER] - Check from conversation: Is there an active session?
- Active session exists -> SESSION-MODE
- No active session -> PROJECT-MODE
- If already working inside a
T##_orS##_or other session subfolder -> create output folder here (Step 1.2)
Step 1.2: Create Output Folder
PROJECT-MODE: Run /session-new first, then create Topic Folder inside.
SESSION-MODE (default): Create Topic Folder per @skills:session-management Topic Folder Creation procedure. Folder name: T##_[TOPIC]-[PascalCaseName]_YYYY-MM-DD/
SESSION-MODE as Step (only if user explicitly requests): Create Step Folder per @skills:session-management Step Folder naming. Folder name: S##_[TOPIC]-[PascalCaseName]_YYYY-MM-DD/
All deep-research output files go in this folder. Each folder has independent numbering namespace per @skills:session-management.
Parallel research isolation: Multiple deep-researches for the same TOPIC are safe because each gets its own T##_ subfolder with independent file numbering. Topic IDs are unique per ID-REGISTRY.md, but folder-level isolation prevents file conflicts even when the same TOPIC is researched from different angles.
Phase Model (Global)
All research (MCPI and MEPI) follows these 4 phases:
Phase 1 - Preflight: Decompose prompt, document assumptions, collect sources, verify/correct assumptions, create STRUT with QA pipelines, run first VCRIV
Phase 2 - Planning: Create Summary file (skeletal), topic template, TASKS plan, run second VCRIV
Phase 3 - Research: Topic-by-topic file-by-file research per TASKS/STRUT, run VCRIV per granularity rules
Phase 4 - Final Verification and Sync: Dimension coverage, completeness check, finalize Summary (cross-document synthesis), metadata, final VCRIV
Strategy files (MCPI/MEPI) define the details for each phase.
Topic ID Registration (Phase 1, after Prompt Decomposition)
Before proceeding to source collection, ensure Topic ID uniqueness:
- Read ID-REGISTRY.md in workspace root
- Create Topic ID: 7-14 uppercase chars (mandatory for all new topics)
- Check for collision with existing Topic IDs per Topic Registry rules in devsystem-ids.md
- If collision: extend or narrow abbreviation
- Register new Topic ID immediately in ID-REGISTRY.md
Nested IDs for T##/S## subfolders:
When deep research creates multiple T##_ folders under one session topic, each subfolder uses a nested Doc ID: [TOPIC]-[SUBTOPIC]-[DOC][NN]. The SUBTOPIC (7-14 chars) is registered in session NOTES.md only, not in ID-REGISTRY.md. See devsystem-ids.md "Nested Document IDs" section.
Prompt Decomposition (Phase 1, Step 1)
Answer these 7 questions before any source collection:
- Q1 - Goal: What is the user's intent? (1-2 sentences)
- Q2 - Scope: NARROW (1 dim), FOCUSED (2-4 dim), or EXPLORATORY (5-9 dim)?
- Q3 - Dimensions: Which apply? (legal, financial, administrative, practical, technical, professional, medical, psychological, personal, organizational, strategic, security, cultural, educational, historical, or custom)
- Q4 - Topics: 3-5 topics per dimension
- Q5 - Strategy: MCPI (exhaustive) or MEPI (curated)?
- Q6 - Domain: Which profile? (SOFTWARE, MARKET_INTEL, LEGAL, PROFILES, or DEFAULT)
- Q7 - Discovery Platforms: What databases/platforms index this entity type? Test each, classify access level.
Store PromptDecomposition in STRUT plan. Do NOT proceed to source collection until all 7 questions are answered.
PromptDecomposition Schema
{
"goal": "string (1-2 sentences)",
"scope": "NARROW | FOCUSED | EXPLORATORY",
"dimensions": ["list of dimension names"],
"topics_per_dimension": { "dimension": ["topics"] },
"strategy": "MCPI | MEPI",
"strategy_rationale": "string (WHY this strategy fits the prompt)",
"domain": "DEFAULT | SOFTWARE | MARKET_INTEL | LEGAL | PROFILES",
"domain_rationale": "string (WHY this domain profile applies)",
"effort_estimate": "N hours minimum",
"discovery_platforms": {
"identified": ["list of platforms that index this entity type"],
"tested": { "platform_name": "FREE | PAID | PARTIAL" },
"selected": ["platforms to use (FREE or PARTIAL only)"]
}
}
Scope Examples
- NARROW: "What are the rate limits for the Microsoft Graph API?" -> 1 dimension (technical)
- FOCUSED: "Should we use PostgreSQL or MongoDB for our event sourcing system?" -> 3 dimensions (technical, operational, financial)
- EXPLORATORY: "How should our startup approach SOC 2 compliance?" -> 6 dimensions (legal, technical, organizational, financial, operational, educational)
MUST-NOT-FORGET
- MEPI = Most Executable Point of Information, MCPI = Most Complete Point of Information - Never invent alternative expansions. Verify against this line if unsure.
- NEVER ask questions - Derive goal or best option from the previous prompt, or from conversation context. Act on best inference
- STRUT required for all research sessions (include pipeline steps and time log)
- Assumptions check first - write down what you think you know before researching
- Google search via Playwright - MANDATORY for all research. Use ms-playwright-mcp to search google.com with targeted queries (filetype:pdf, site:, exact phrases). Discovers PDFs, whitepapers, and public documents that
search_webmisses. - Google = URL discovery only - Never extract text content from Google result pages (AI Overview, Featured Snippets, Knowledge Panels, People Also Ask). Click through to source websites. See RESEARCH_TOOLS.md "Google Search Extraction Principle".
- Discovery platforms tested - identify, test, classify (FREE/PAID/PARTIAL) before source collection
- Primary sources > secondary > community - verify tier 1-3 before accepting tier 6-8
- Access dates required:
Accessed: YYYY-MM-DDon all sources - Track time - log task start/end for net research time calculation
- Quality pipeline 3x (not optional): Summary+template, each topic, complete set
- Source completeness: Full PDF transcription via pipeline, no agent-selected chunks
- Download source files (PDFs, images) to
_DOWNLOADS_gitignore/subfolder (not checked in) - Transcribe downloaded sources to
_SOURCES/subfolder (checked in, web content changes) - Inline citations on critical conclusions:
[LABEL] (SOURCE_ID | URL or filename) - Identify domain during Preflight, read corresponding DOMAIN_*.md profile
- Document strategy choice - OUTPUT document must include strategy (MEPI/MCPI) + domain + rationale for both in header block
- Distinguish facts from opinions from assumptions
- Autonomous after Phase 1 - no user interaction until delivery (except [CONSULT])
Effort Validation
- Decomposition MUST estimate minimum research hours in STRUT
- If actual time < 50% of estimate, agent MUST justify or expand research
- Goal: outperform equivalent human research time for the given scope
Strategy Selection
MEPI (Default) - curated options, deeply researched, compare and recommend
- Use for: User intent is specific, danger of analysis-paralysis and introducing irrelevant options
- Strategy file: RESEARCH_STRATEGY_MEPI.md
MCPI (Exception) - exhaustive coverage, document everything
- Use for: User intent is broad, wants to see the whole picture
- Strategy file: RESEARCH_STRATEGY_MCPI.md
Source Hierarchy
- Official PDFs/papers (legislation, specs, whitepapers)
- Official documentation
- Official blog/changelog
- GitHub repo
- Conference talks by maintainers
- Reputable tech blogs
- Stack Overflow
- Community forums/Discord
Enforcement (legal/financial/medical): MUST cite tier 1-3 for critical claims. Label tier 6-8 as [COMMUNITY]. Violation triggers [CONSULT] to user.
Verification Labels
[VERIFIED]- Confirmed from official docs[ASSUMED]- Inferred, not explicit[TESTED]- Manually tested[PROVEN]- Multiple independent sources[COMMUNITY]- Community sources (cite ID)
Quality Pipeline (VCRIV)
verify → critique → reconcile → implement → verify
- V - Verify: Formal correctness check (
/verifyworkflow) - C - Critique: Find gaps, reasoning flaws; produces
*_REVIEW.md(/critiqueworkflow) - R - Reconcile: Prioritize findings (
/reconcileworkflow) - I - Implement: Apply findings, delete
*_REVIEW.md(/implementworkflow) - V - Verify (final): Confirm corrections complete
Four mandatory checkpoints:
- Preflight deliverables (STRUT, SOURCES, PromptDecomposition)
- Planning deliverables (Summary file, template, TASKS)
- Each research output (per VCRIV granularity rules)
- Complete research set ex-post (after all topics complete)
Execution modes:
- Full VCRIV (5 steps): verify → critique → reconcile → implement → verify. Use for planning deliverables and final ex-post review.
- Consolidated VCRIV (1 step): All 5 steps executed in a single pass without separate review files. Use for individual topic files and single-profile research.
Granularity (scope-based):
- NARROW: VCRIV per topic file (consolidated)
- FOCUSED/EXPLORATORY: VCRIV per dimension (consolidated)
- Final VCRIV on Summary file (full)
- Profile research: VCRIV per standalone profile document (consolidated for single, full for network sets)
Termination: Max 2 cycles per checkpoint, then [CONSULT].
Inline Citations
Critical conclusions MUST have: [VERIFICATION_LABEL] (SOURCE_ID | URL or filename)
Examples:
[VERIFIED] (GRPH-SC-MSFT-RATELMT | https://learn.microsoft.com/graph/throttling)[VERIFIED] (ANTH-SC-ANTH-MDLCRD | _SOURCES/anthropic-model-card-2025.md)
Referenced files MUST exist in _SOURCES/ subfolder (transcribed markdown).
Domain Profiles
Read one profile per session based on Q6:
- DOMAIN_SOFTWARE.md - APIs, frameworks, libraries
- DOMAIN_MARKET_INTEL.md - Companies, financials
- DOMAIN_LEGAL.md - Legislation, case law
- DOMAIN_PROFILES.md - People, companies, organizations, networks
- DOMAIN_DEFAULT.md - Generic (use when none match)
Output Format
INFO document with:
- Research Question
- Strategy & Domain (MEPI/MCPI + domain profile + rationale for each choice)
- Key Findings (curated for MEPI, exhaustive for MCPI)
- Detailed Analysis
- Limitations and Known Issues
- Sources (with verification labels)
- Recommendations
MEPI uses its own output format (see RESEARCH_STRATEGY_MEPI.md) with Comparison and Recommendation sections.
Planning Structure
STRUT (high-level, REQUIRED): Phases, objectives, deliverables, transitions, time log. File: __STRUT_[TOPIC].md
TASKS (low-level, Phase 2): Flat task list with durations and done-when criteria. File: __TASKS_[TOPIC]_RESEARCH.md
Reference Files
- RESEARCH_RULES.md - Verification and improvement rules for research output (used by
/verifyand/improve) - RESEARCH_SUMMARY_RULES.md - Summary content depth and enrichment rules (used by
/verifyand/improveafter SM-* checks pass) - RESEARCH_TOOLS.md - Tools, source processing, configuration
- RESEARCH_TOC_TEMPLATE.md - TOC template (MUST use when >1 topic files)
- RESEARCH_CREATE_TOC.md - TOC creation workflow
- RESEARCH_SUMMARY_TEMPLATE.md - Summary file template
- RESEARCH_CREATE_SUMMARY.md - Summary creation workflow
Profile Templates and Rules (in profiles/ subfolder, see DOMAIN_PROFILES.md for full instructions):
- PERSONAL_PROFILE_TEMPLATE.md + PERSONAL_PROFILE_RULES.md
- COMPANY_PROFILE_TEMPLATE.md + COMPANY_PROFILE_RULES.md
- ORGA_PROFILE_TEMPLATE.md + ORGA_PROFILE_RULES.md
- NETWORK_PROFILE_TEMPLATE.md + NETWORK_PROFILE_RULES.md
Output Rules (global invariant):
- Always create subfolder per "Output Folder" section above. No exceptions.
- Single-file output (e.g., single profile): Apply naming convention from context (session, conversation, step, topic). File name does NOT use numbered scheme. Example:
_INFO_[TOPIC]_[SubjectName].md - Multi-file output (multiple sub-topics): Use numbered scheme with reserved slots:
_INFO_[TOPIC]-01_Summary.md- RESERVED. Mandatory. Stub created in Phase 2, finalized in Phase 4 with cross-document synthesis._INFO_[TOPIC]-02_Sources.md- RESERVED. Mandatory. Created in Phase 1, populated during Phases 1, 2, and 3._INFO_[TOPIC]-03_[Name].mdthrough_INFO_[TOPIC]-[NN]_[Name].md- Individual topic files (PascalCase)
Decomposition rule: Both MCPI and MEPI decompose topics into individually researched files. No monolithic single-file research.
Source ID format: [TOPIC]-SC-[SOURCE]-[DOCREF]
[SOURCE]= site mnemonic 2-6 chars (e.g.,MSFT,SO,GH)[DOCREF]= page/section 2-12 chars, omit vowels (e.g.,RATELMT,ISSUE1234)- Note: Simplified from devsystem-ids.md
[TOPIC]-[DOC]-SC-...format. The[DOC]segment is omitted because all sources are defined in_INFO_[TOPIC]-02_Sources.md(always IN02).