Deep research
Use when the user needs multi-source research with citation tracking, evidence persistence, and structured report generation. Triggers on "deep research", "comprehensive analysis", "research report", "compare X vs Y", "analyze trends", or "state of the art". Not for simple lookups, debugging, or questions answerable with 1-2 searches.From its SKILL.md
npx -y skills add lovstudio/skills --skill deep-researchAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
SKILL.md
7.6 KB, as published. Nobody here has run it
Deep Research
Core Purpose
Deliver citation-tracked research reports through a structured pipeline with evidence persistence, source identity management, claim-level verification, and progressive context management.
Autonomy Principle: Operate independently. Infer assumptions from context. Only stop for critical errors or incomprehensible queries. Surface high-materiality assumptions explicitly in the Introduction and Methodology rather than silently defaulting.
Dependencies
lov-dev-blogowns the Skill Publisher website blog publishing contract.deep-researchowns research generation and verification; final publishing toblog_postsmust use thedev-blogautomation semantics.
Decision Tree
Request Analysis
+-- Simple lookup? --> STOP: Use WebSearch
+-- Debugging? --> STOP: Use standard tools
+-- Complex analysis needed? --> CONTINUE
Mode Selection
+-- Initial exploration --> quick (3 phases, 2-5 min)
+-- Standard research --> standard (6 phases, 5-10 min) [DEFAULT]
+-- Critical decision --> deep (8 phases, 10-20 min)
+-- Comprehensive review --> ultradeep (8+ phases, 20-45 min)
Default assumptions: Technical query = technical audience. Comparison = balanced perspective. Trend = recent 1-2 years.
Workflow Overview
| Phase | Name | Quick | Std | Deep | Ultra |
|---|---|---|---|---|---|
| 1 | SCOPE | Y | Y | Y | Y |
| 2 | PLAN | - | Y | Y | Y |
| 3 | RETRIEVE | Y | Y | Y | Y |
| 4 | TRIANGULATE | - | Y | Y | Y |
| 4.5 | OUTLINE REFINEMENT | - | Y | Y | Y |
| 5 | SYNTHESIZE | - | Y | Y | Y |
| 6 | CRITIQUE | - | - | Y | Y |
| 7 | REFINE | - | - | Y | Y |
| 8 | PACKAGE | Y | Y | Y | Y |
Note: Phases 3-5 operate as an evidence loop per section (retrieve → evidence store → refine outline → draft → verify claims → delta-retrieve if needed), not as strict sequential gates.
Execution
On invocation, load relevant reference files:
- Phase 1-7: Load methodology.md for detailed phase instructions
- Phase 8 (Report): Load report-assembly.md for progressive generation
- HTML/PDF output: Load html-generation.md
- Quality checks: Load quality-gates.md
- Long reports (>18K words): Load continuation.md
Templates:
- Report structure: report_template.md
- HTML styling: mckinsey_report_template.html
Scripts:
python scripts/validate_report.py --report [path]python scripts/verify_citations.py --report [path]python scripts/md_to_html.py [markdown_path]
Post-report publishing (Skill Publisher):
- This is a mandatory completion gate, not an optional follow-up. Do not send the final answer for a publishable report until either the sync command has succeeded or a concrete sync error has been reported.
- After Phase 8 successfully generates the Markdown report, automatically publish it to the Skill Publisher blog system unless the user explicitly says "private", "do not publish", "不要发布", or equivalent.
- This gate depends on
lov-dev-blog. The website sync command below is thedev-blogpublishing contract for research-origin artifacts. - Use the generated Markdown file path as the source of truth:
cd ${SKILL_WORKSPACE_ROOT}/coding/web && pnpm run sync:research -- [markdown_path] - If multiple Markdown reports were generated or the exact Markdown path is uncertain, run:
cd ${SKILL_WORKSPACE_ROOT}/coding/web && pnpm run sync:research -- --limit 5 - Publishing semantics are owned by
lov-dev-blogand executed by the website sync script:- New reports are public detail pages (
is_visible=true). - New reports appear in the
/blogindex by default (show_in_index=true). - Re-syncing an existing report also promotes it into the index unless explicitly hidden.
- Published reports should carry a cover; the website sync script may auto-generate and upload one when the Markdown artifact does not provide a cover URL.
- New reports are public detail pages (
- Tell the user the final public URL in the form:
https://example.com/blog/[slug] - In the final answer, include a one-line publishing status:
Published to Skill Publisher: yes/no, plus the public URL when yes. - If the sync command fails because the website path, environment, or database schema is unavailable, keep the completed research artifacts and surface the exact sync error plus the command to rerun.
Output Contract
Required sections:
- Executive Summary (200-400 words)
- Introduction (scope, methodology, assumptions)
- Main Analysis (4-8 findings, 600-2,000 words each, cited)
- Synthesis & Insights (patterns, implications)
- Limitations & Caveats
- Recommendations
- Bibliography (COMPLETE - every citation, no placeholders)
- Methodology Appendix
Output files (all to ~/Documents/[Topic]_Research_[YYYYMMDD]/):
- Markdown (primary source of truth)
sources.jsonl— stable source registry with canonical IDsevidence.jsonl— append-only evidence store with quotes and locatorsclaims.jsonl— atomic claim ledger with support statusrun_manifest.json— query, mode, assumptions, provider config- HTML (McKinsey style, auto-opened)
- PDF (professional print, auto-opened)
Quality standards:
- 10+ sources, 3+ per major claim (cluster-independent, not just count)
- All factual claims cited immediately [N] with evidence backing in
evidence.jsonl - Claim-support verification mandatory: no unsupported factual claims pass delivery
- No placeholders, no fabricated citations
- Prose-first (>=80%), bullets sparingly
When to Use / NOT Use
Use: Comprehensive analysis, technology comparisons, state-of-the-art reviews, multi-perspective investigation, market analysis.
Do NOT use: Simple lookups, debugging, 1-2 search answers, quick time-sensitive queries.
Runtime context (shared)
运行前读取本 Skill 包的 skill.yaml,由宿主提供 skill-runtime/v1 上下文。字段解析顺序为:当前请求、项目上下文、个人 Preferences、品牌 Profile、通用默认值。
- 只使用 Manifest 声明的字段;Profile 保存公开品牌事实,Preferences 保存个人工作偏好。
required: true字段缺失时,按 Manifest 的问题配置向用户提出一个聚焦问题;用户明确同意后再保存回答。- 报错提供可复制的
context_id、字段路径与来源,诊断内容避开秘密、完整私人路径和原始配置。
通用反馈闭环
用户在 Skill 驱动任务中提出修改意见时,继续当前产物前必须执行:
- 先判断意见是
task-specific(仅本次)还是reusable(可跨任务复用)。 task-specific只修改当前任务,不改 Skill。reusable先确定作用域:领域规则先更新对应 canonical Skill;适用于所有 Skill 的规则先更新共享规范。- 完成规则更新、版本、lint 与分发核验后,再把修改应用到当前任务。
reusable修改会使此前的“确认”“继续”“发吧”失效;完成当前产物修改和回读后必须停下,等待用户下一步指示,不自动进入发布、提交或其他外部写入。
What ships with it: 32 files
218.5 KB alongside SKILL.md, 14 of them executable
reference/
- continuation.md4.5 KB
- html-generation.md2.9 KB
- methodology.md16.1 KB
- quality-gates.md5.7 KB
- report-assembly.md3.9 KB
- weasyprint_guidelines.md5.7 KB
schemas/
- claim.schema.json1.6 KB
- evidence.schema.json1.4 KB
- run_manifest.schema.json2.8 KB
- source.schema.json1.6 KB
scripts/
- citation_manager.pyruns10.1 KB
- evidence_store.pyruns6.4 KB
- extract_claims.pyruns11.8 KB
- md_to_html.pyruns9.7 KB
- research_engine.pyruns16.4 KB
- source_evaluator.pyruns9.3 KB
- validate_report.pyruns12.1 KB
- verify_citations.pyruns15.1 KB
- verify_claim_support.pyruns10.8 KB
- verify_html.pyruns7.6 KB
templates/
- mckinsey_report_template.html10.2 KB
- report_template.md12.8 KB
tests/
- fixtures/invalid_report.md288 B
- fixtures/valid_report.md3.3 KB
- test_citation_manager.pyruns7.6 KB
- test_evidence_store.pyruns5.8 KB
- test_extract_claims.pyruns8.1 KB
- test_verify_claim_support.pyruns8.5 KB
- .gitignore76 B
- LICENSE1.0 KB
- README.md4.8 KB
- requirements.txt579 B
Gives 0 of the 12 instructions most web research skills give
Counted across 292 of the 300 authors here whose files we hold, read 2026-09-06
- Use web_search_exa for current information and broad discoveryin 22 of 292, across 8 files
- Cite every claim with a sourcein 21 of 292, across 18 files
- Configure the Exa MCP server with an API keyin 18 of 292, across 5 files
- Use get_code_context_exa for code examples and API docsin 16 of 292, across 6 files
- Verify exact tool names before depending on themin 13 of 292, across 4 files
- Narrow results with site:, quoted phrase, and intitle: operatorsin 13 of 292, across 4 files
- Adjust tokensNum lower for snippets, higher for full contextin 13 of 292, across 4 files
- Break the topic into 3-5 research sub-questionsin 13 of 292
- Confirm current Exa docs and exposed tool surface before usein 11 of 292, across 2 files
- Get user confirmation after Phase 1in 10 of 292, across 9 files
- Prefer primary sources when availablein 10 of 292
- Verify extracted metadata against original sourcesin 9 of 292, across 5 files
Said here and by no other author read
- Operate independently, inferring assumptions from context
- Surface high-materiality assumptions in Introduction and Methodology
- Verify claim support before delivery
- Publish the finished report via the sync command
- Include publishing status and public URL in final answer
- Keep artifacts and surface the exact error if sync fails
Grouped from the skills themselves: near-identical wordings counted once, and counted by distinct author, so one author publishing three of these counts once.