Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add skills/xerrors/yuxi/deep-researchnpx skills add xerrors/Yuxi --skill deep-researchgit clone --depth 1 https://github.com/xerrors/YuxiWhat it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5 | $0.00069 | $0.01060 |
| Opus 5 | $0.00034 | $0.00530 |
| Sonnet 5 | $0.00014 | $0.00212 |
| Haiku 4.5 | $0.00007 | $0.00106 |
Grade A, and why
deep-research scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured yesterday.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
What it actually says
深度研究技能
当任务目标是产出多来源、可追溯、经过核验的深度研究结论(科研综述、行业/竞品调研、技术选型、专题分析等)时,使用此技能组织整个研究过程。本技能的核心是编排:你负责整体把控与子智能体调度,把繁重的检索与核验工作派发出去,自己专注规划与综合。
可用子智能体
通过 task 工具调度(可并行多开,互不依赖的子任务同时派发):
research-explorer(调研探索员):围绕一个明确子问题做多轮网页/知识库检索,返回按要点组织、带<cite>引用的结构化发现。这是主力,按子问题并行多开。fact-verifier(事实核查员):对给定的关键论断做对抗式核验,逐条给出 支持 / 存疑 / 反驳 + 依据来源 + 置信度,并标注冲突。
编排流程
1. 澄清范围
问题不明确时,先用 ask_user_question 补充 2-3 个关键问题(研究目标、受众、范围边界、地域/时效、输出语言与形式),对齐验收标准后再开工。已经清晰的任务不要反复追问。
2. 规划拆解
用 write_todos 把研究目标拆成可独立调研的子问题,每个子问题写明产出标准(要回答什么、需要哪类证据)。子问题应正交、覆盖完整,避免重叠或遗漏关键角度。
3. 并行派发调研
- 把互不依赖的子问题用多个
task调用并行派发给research-explorer。 - 每次派发在
description中写清:子问题目标、已知上下文、期望输出格式(要点 +<cite source="$URL" type="url">$INDEX</cite>引用 + 参考来源列表)。 - 何时派发 vs 自己直检:子问题复杂、需多轮检索、可隔离上下文、可并行时一律派发子智能体;仅在澄清范围、补一两个零散事实、或快速校正方向时才自己少量直接检索。
- 子问题之间有依赖时,先派发前置子问题,拿到结果后再派发后续。
4. 核验关键结论
对影响最终结论的关键论断、数字、以及子智能体之间相互冲突的发现,派发 fact-verifier 做对抗式核验。要求其默认倾向「证据不足即标注存疑」。核验未通过的结论不要写进正文,或必须明确降级标注。
5. 综合成稿
证据充分后,由你统一综合为结构化报告,不要简单拼接子智能体返回的原文。组织顺序:问题定义 → 证据整理 → 分析比较 → 结论与建议 → 来源。围绕「论证」而非「资料堆砌」,每个结论都要有证据支撑。
6. 停止准则
信息饱和、或确认无法获取更多有效信息即停。明确标注证据缺口与不确定性,不臆断、不编造来源。
引用规范
- 报告中关键结论、数据、观点必须绑定来源。
- 沿用
<cite source="$URL" type="url">$INDEX</cite>标注,$INDEX 从 1 起递增,引用紧跟结论后、不单独成行。 - 文末单列「来源」章节,逐条列出标题与 URL;引用用户附件/知识库时标明文件名或路径。
输出约束
- 最终交付的是一份可直接使用的报告,而不是「我打算怎么研究」。
- 不要外泄中间推理过程、原始检索日志,也不要把待办清单原样输出成正文。
- 报告语言与用户提问语言一致,使用正式、克制、可复核的书面表达。
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- yesterday First seen · 51 lines · 69 tokens per session scan A 72842a1054e0
deep-research is a skill published in the GitHub repository xerrors/Yuxi (6,591 stars, last pushed yesterday), licensed MIT. It adds 69 tokens to every session and 1,060 once invoked, about $0.0003 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
background-task
Add or modify work that runs outside the request/response cycle — emails, document ingestion, webhooks, cleanups, scheduled jobs. Use when something is slow or fire-and-forget, or when adding a periodic/cron task. This project's queue is {{ cookiecutter.backgroundtasks }}.
agent-tool
Add a new tool/function the AI agent can call (e.g. look something up, hit an external API, perform an action). Use when extending the assistant's capabilities, wiring a new function into the agent, or when the model needs a new action. This project uses {{ cookiecutter.aiframework }}.
frontend-feature
Build a new page, view, or data-driven feature in the Next.js frontend. Use when adding a route under the dashboard/marketing area, wiring UI to a backend endpoint, adding client state, or creating a localized page. Covers App Router, data fetching, Zustand stores, and i18n.
rag-knowledge
Work with the RAG knowledge base — ingest documents, run semantic search, manage collections, or add a sync source/connector (Google Drive, S3). Use when populating or debugging the knowledge base, tuning retrieval, or adding a new document source. This project uses {{ cookiecutter.vectorstore }} + {{…
alembic-migration
Create, review, and apply database schema changes with Alembic. Use whenever a SQLAlchemy model is added or changed, a column/index/constraint needs to change, or a data backfill is required — anything that alters the PostgreSQL schema.
channel-bot
Work with messaging-channel bots (Telegram / Slack) — register a bot, route inbound messages through the AI agent, handle webhooks vs polling, or add a new channel adapter. Use when wiring chat into a messaging platform or debugging bot delivery.