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/lync-cyber/cataforge/researchnpx skills add lync-cyber/CataForge --skill researchgit clone --depth 1 https://github.com/lync-cyber/CataForgeWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/lync-cyber/cataforge/research)<a href="https://agentmods.dev/skills/lync-cyber/cataforge/research"><img src="https://agentmods.dev/badge/skills/lync-cyber/cataforge/research.svg" alt="Measured on agentmods" height="20"></a>What 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.00101 | $0.01122 |
| Opus 5 | $0.00051 | $0.00561 |
| Sonnet 5 | $0.00020 | $0.00224 |
| Haiku 4.5 | $0.00010 | $0.00112 |
Grade A, and why
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 5d ago.
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
调查研究 (research)
能力边界
- 能做: 网络检索(web-search)、用户访谈(user-interview)、资料查阅(doc-lookup)
- 不做: 替Agent做决策、生成文档内容、技术选型最终判定与推荐排序(由 tech-eval 负责)
调研决策树
Agent遇到不确定性时:
- 信息可从网络获取? → web-search
- 信息取决于用户偏好/业务决策? → user-interview (选择题优先)
- 信息在已有文档中? → doc-lookup (通过context加载)
- 以上均不适用? → 标注为[ASSUMPTION]并在文档中声明
操作指令
指令1: 网络检索 (web-search)
触发场景: 技术选型/最佳实践/竞品分析/API文档查阅 执行步骤:
- 使用 WebSearch 工具搜索相关信息
- 使用 WebFetch 获取具体页面内容
- 整理为结构化调研摘要(来源 + 结论 + 可信度)
- 通过context创建research-note文档记录调研结果
- 标注来源URL和可信度评级
指令2: 用户访谈 (user-interview)
触发场景: 需求模糊/缺失/存在多个合理选项 工具: AskUserQuestion (主线程 / 内联承载的角色可直接使用;派发子代理为非交互执行体,须经指令2b 以 needs_input 回传由 orchestrator 代问) 执行步骤:
- 组织问题: 一次最多 MAX_QUESTIONS_PER_BATCH 个问题,每问题最多4个选项
- 每个选项包含简短说明帮助决策
- 通过AskUserQuestion向用户展示并等待回答
- 收集完信息后写入当前文档相关章节
- 不猜测,收集完再继续
指令2b 切换条件: 派发子代理执行(无交互通道,为常规路径),或主线程 AskUserQuestion 调用返回错误(工具不可用、权限被拒等运行时错误)。用户回答"其他"或回答不完整不触发切换,应追问澄清。
指令2b: 用户访谈 — deferred (user-interview-deferred)
触发条件: 派发子代理执行(无交互通道)或 AskUserQuestion 调用失败 / 工具不可用 步骤:
- 保存已完成工作到正式文档路径(status=draft)
- 以
<agent-result>格式返回 needs_input 状态 + 问题列表 + 中间产出路径 - orchestrator 通过 Interrupt-Resume Protocol 代为提问后以 continuation 模式恢复
指令3: 资料查阅 (doc-lookup)
触发场景: 需要参考已有项目文档/技术规范 执行步骤:
- 通过 context navigate 分支(
cataforge context read)按章节加载相关内容 - 提取并汇总相关信息
- 将摘要返回给调用Agent
Anti-Patterns
- 禁止: 用 web-search 替代已有 docs/research/ 已记录结论 — research-note 是去重的单一事实源,跳过会产生重复调研并污染上下文
- 禁止: 不写 research-note 就把调研结论作为下游决策依据 — evidence 链断裂后 reflector / sprint-review 无法追溯结论合理性
- 禁止: 把推测当 evidence 引用 — 未标 [ASSUMPTION] 的假设进入正式文档会让 reviewer 无法识别"已确认事实"和"待验证猜测"
- 避免: 一次 user-interview 提问超过 MAX_QUESTIONS_PER_BATCH — 用户决策成本陡升、回答完整度下降,应按 batch 拆分
- 禁止: web-search / web-fetch 不可达或被拒时静默返回空结论 —— 按 COMMON-RULES §通用 Error Handling 标 [ASSUMPTION] 给出基于已有上下文的合理默认并记录待验证缺口,仅在结论完全无法支撑时返回 blocked
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.
- 5d ago First seen · 66 lines · 101 tokens per session scan A fef5f2099fcc
research is a skill published in the GitHub repository lync-cyber/CataForge (128 stars, last pushed 1mo ago), licensed MIT. It adds 101 tokens to every session and 1,122 once invoked, about $0.0005 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
systematic-debugging
Use when encountering any bug, test failure, or unexpected behavior, before proposing fixes.
brainstorming
You MUST use this before any creative work - creating features, building components, adding functionality, or modifying behavior. Explores user intent, requirements and design before implementation.
auto-perf-optimize
Run agent-driven VS Code performance or memory investigations. Use when asked to launch Code OSS, automate a VS Code scenario, run the Chat memory smoke runner, capture renderer heap snapshots, take workflow screenshots, compare run summaries, or drive a repeatable scenario before heap-snapshot analysis.
chat-perf
Run chat perf benchmarks and memory leak checks against the local dev build or any published VS Code version. Use when investigating chat rendering regressions, validating perf-sensitive changes to chat UI, or checking for memory leaks in the chat response pipeline.
chat-pet-sprite-creation
Use when creating or changing VS Code chat pet sprite art, sprite sheets, state animations, eye treatments, Stable/Insiders variants, or pet transitions under src/vs/workbench/contrib/chat/browser/widget/media/chatPet.
cpu-profile-analysis
Analyze V8/Chrome CPU profiles (.cpuprofile) and DevTools trace files (Trace-.json). Use when: profiling performance, investigating slow functions, comparing code paths, finding bottlenecks, analyzing timeToRequest, understanding call trees from sampling profiler data, analyzing layout/paint/rendering, investigating…