sn-deep-research
用于用户请求深度研究、系统性研究、竞品分析、方案对比、趋势分析或事实核查时。**遇到以下任一情况就主动使用本 skill,不要自行搜几条就回答**:①用户出现触发词:深度研究 / 深度调研 / 深入研究 / 全面研究 / 系统研究 / 调研 / 调查 / 尽调 / 行业研究 / 市场研究 / 竞品分析 / 政策研究 / 技术研究 / 趋势研究 / 事实核查 / 写一份研究报告 / 调研报告 / 深度报告 / research / deep research;②请求需要跨多来源取证、多维度对比、交叉验证才能给出可靠结论;③用户要求产出报告、白皮书、行业分析或尽调文档;④话题涉及最新政策/市场/产品/价格/法规,需要系统核查。明确要求核验来源的单点事实可走 quick;无核验要求的简单常识问答不使用。模糊或宽泛的"研究/了解一下 X"也优先触发。仅不用于:一句话摘要、已给定单一来源的整理、纯文字润色改写。
npx skills add OpenSenseNova/SenseNova-Skills --skill sn-deep-research --agent claude-code
Same command for any agent — swap --agent for codex, cursor, copilot.
Weekly change comes from our own snapshots, not the repository page — it measures attention, not adoption.
What it does
The skill acts as a central controller for deep, multi-agent research tasks. It does not perform the research itself but dispatches specialized roles to carry out evidence collection, formatting, and reporting. It handles mode selection (quick, normal, heavy), coordinates between scouts, planners, researchers, and writers, and ensures language, file paths, and structured artifacts are passed through using absolute paths. It creates a centralized report directory structure and starts progress UI wired to a research workbench. It enforces a strict payload contract: each role must read its own role.md, receive the user query, language tag, and report directory, and produce or validate specific artifacts like briefing.json, format_proposal.json, plan.json, evidence.json, and final reports, with carefully defined failure/retry routes per stage.
How it works
- It maintains a hierarchical stage pipeline using §4 (档位选择器) and §5 (阶段库). It first selects a档位 (quick, normal, heavy) based on the user query and required validation, then dispatches roles accordingly.
- For quick mode, it creates a single-dimension research unit and follows a lean pipeline: evidence.json, quick_synthesis by report-writer, and render to sections/s_full.md without outline generation.
- For normal mode, it involves scout to produce a briefing and format_proposal, then plan.json, multi-dimension research, plan validation, outline planning, and parallel per-dimension work with potential supplements, followed by stitching and final render.
- For heavy mode, it extends normal with parallelization across more dimensions, including perspective and supplements, and enforces dependency-driven wave execution.
- It uses absolute file paths, communicates via structured JSON artifacts, and relies on a validator to enforce schemas. Language is fixed per request language and passed to all agents.
- It creates and updates a progress WebUI with a request.md and progress events, and maintains a single report_dir with a fixed, date-stamped structure for all outputs.
When to use it
- Triggered when the user request contains deep/systematic research keywords (e.g., “深度研究”, “竞品分析”, “趋势分析”“事实核查” or “research”, “deep research”).
- When the user asks for cross-source corroboration, multi-dimensional comparisons, or formal reports/whitepapers/due-diligence docs.
- When topics require latest policy/market/product/regulation vetting or source verification; quick single-point facts aren’t used.
What it can touch
- Externally, it uses the following tools indirectly through agents: Claude Code via the skill’s agent calls; all file paths are absolute; it uses a progress UI script and a workbench for web UI interactions.
- It expects role-specific artifacts under the {report_dir} such as {report_dir}/request.md, {report_dir}/briefing.json, {report_dir}/format_proposal.json, {report_dir}/plan.json, and sub_reports/{dimension}.evidence.json, among others, produced by the agents defined in §5.
Caveats
- It strictly enforces that only small fields are read by the controller; large documents are passed to roles via absolute file paths. The controller does not read big files directly.
- All language handling is centralized at the request level; subsequent messages to roles must carry language:{language}.
- If any required artifact is missing or invalid (e.g., format_proposal.json or plan.json), the workflow halts with a defined retry path.
- It uses a single report_dir per task; multiple runs create separate dated subdirectories to avoid overwriting.
# 深度研究(多 Agent 深度研究编排) 你是深度研究总控。职责是**调度**专家角色完成研究、校验、写作与渲染;不要自己做研究、写章节、缝合或审查。 阅读地图:§1 总则 → §2 派发机制 → §3 报告目录 → **§4 档位选择器(决定跑什么)** → **§5 阶段库(每个角色怎么派,仅一次)** → §6 附录。运行时先按 §4 选定本次档位的流水线,再按流水线逐步跳转 §5 的对应条目。 ## 1. 总则 **控制器铁律**: - **只调度,不读大文件**:evidence / 章节 / outline 等大文件通过绝对路径传给角色自读;controller 只读调度所需的小字段(见 §6)。 - **所有文件路径使用绝对路径**,不下发未解析 token。 - **通过文件路径传递内容**,不在消息里粘贴大段正文。 - **Schema 由 validator 守门**:controller 不自行判断 JSON 字段是否合规。 - **报告阶段只消费 evidence 边界**:review / perspective / supplement_plan 是流程产物,不作为 report-planner 的事实输入。 - **补研按维度决策**:每维度生成自己的 `d{N}.supplement_plan.json`,不用全局 board 计划筛掉局部硬缺口。 搜索能力由各角色按其 `agents/*.md` 自行调用专业 search skills / scripts;controller 不直接做搜索。 **语言锚定(全档位、全流程硬约束)**:controller 在首次派发前只解析一次请求级输出语言,规范化为 BCP 47 标签并保存为 `language`。用户明确指定的输出语言优先;否则使用原始 query 的主要指令语言(例如简体中文 `zh-Hans`、繁体中文 `zh-Hant`、英文 `en`、日文 `ja`)。不要因专名、代码、引用、搜索词或来源语言改变该判断;混合语言且无显式要求时,以用户提出任务和约束所用的主要自然语言为准。 - controller 的进度更新、档位/格式确认、澄清问题、错误/降级说明和最终交付回复都使用 `language`。 - 每条角色 payload 都必须显式传递 `language:{language}`;角色不得从自己的提示词、上游文件、来源或搜索结果重新推断语言。缺少 `language` 时不得派发。 - 所有角色自行撰写的自然语言产物与 completion reply 都使用 `language`。来源原始标题/逐字引语、专名、URL、代码、ID、schema key/枚举可保持原样;搜索可以使用任意有助取证的语言。 - 用户在运行中明确要求切换输出语言时,contro
- 1. 总则
- 2. 派发机制(runtime 通用)
- 2.1 路径与 token
- 2.2 payload 契约
- 3. 报告目录
- 3.1 深度研究进度 WebUI(必须在研究开始时启动)
- 4. 档位选择器
- 4.1 判档位
- 4.1.1 澄清门(预研之后,定档/规划之前)
- 4.1.2 最终呈现形式确认(预研之后,规划之前)
- 4.2 三档流水线
- 4.3 失败与重试
- 4.4 流程变更
- 5. 阶段库
mkdir -p "$report_dir"/sub_reports "$report_dir"/board "$report_dir"/sections \
echo "$report_dir" # 记录为后续所有 payload 的 report_dir
python3 {plugin_skills_dir}/sn-ppt-standard/scripts/progress_event.py \
python3 {plugin_skills_dir}/sn-ppt-standard/scripts/launch_workbench.py \
python3 {plugin_skills_dir}/sn-deep-research/scripts/validate_plan.py \
python3 {plugin_skills_dir}/sn-deep-research/scripts/validate_evidence.py \
python3 {plugin_skills_dir}/sn-deep-research/scripts/validate_outline.py \
python3 {plugin_skills_dir}/sn-prepare-citations/scripts/prepare_citations.py \What does the sn-deep-research skill do?
用于用户请求深度研究、系统性研究、竞品分析、方案对比、趋势分析或事实核查时。**遇到以下任一情况就主动使用本 skill,不要自行搜几条就回答**:①用户出现触发词:深度研究 / 深度调研 / 深入研究 / 全面研究 / 系统研究 / 调研 / 调查 / 尽调 / 行业研究 / 市场研究 / 竞品分析 / 政策研究 / 技术研究 / 趋势研究 / 事实核查 / 写一份研究报告 / 调研报告 / 深度报告 / research / deep research;②请求需要跨多来源取证、多维度对比、交叉验证才能给出可靠结论;③用户要求产出报告、白皮书、行业分析或尽调文档;④话题涉及最新政策/市场/产品/价格/法规,需要系统核查。明确要求核验来源的单点事实可走 quick;无核验要求的简单常识问答不使用。模糊或宽泛的"研究/了解一下 X"也优先触发。仅不用于:一句话摘要、已给定单一来源的整理、纯文字润色改写。
How do I install it?
Run `npx skills add OpenSenseNova/SenseNova-Skills --skill sn-deep-research --agent claude-code` — it drops the skill into your project so the agent can pick it up. Swap the --agent value for codex, cursor or copilot if you use one of those.
Where does this skill come from?
From OpenSenseNova/SenseNova-Skills, a repository with 4,855 stars. We read it straight from the repository tree rather than a submitted listing, so what you see here is what is actually published.
Is a popular skill a good skill?
Not necessarily. Stars measure attention, not adoption — a repository can trend for a week and be abandoned. That is why we show the weekly change from our own snapshots next to the total, instead of a single flattering number.
