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/agent-dispatchnpx skills add lync-cyber/CataForge --skill agent-dispatchgit clone --depth 1 https://github.com/lync-cyber/CataForgeWhat 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.00055 | $0.02036 |
| Opus 5 | $0.00028 | $0.01018 |
| Sonnet 5 | $0.00011 | $0.00407 |
| Haiku 4.5 | $0.00006 | $0.00204 |
Grade A, and why
agent-dispatch 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 3d 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.
How it starts
The opening of the file, as written. The whole thing — 101 lines — stays where its author put it; the contents beside it link to each section on GitHub.
子代理调度 (agent-dispatch)
能力边界
- 能做: 将"激活Agent X执行任务Y"指令翻译为当前运行时环境的具体操作
- 不做: 决定激活哪个Agent(由orchestrator决定)、决定任务内容(由上游Agent决定)
调度输入
调用方(orchestrator)提供:
- agent_id: 目标Agent目录名 (如 "architect", "reviewer")
- task: 任务描述
- task_type: new_creation | revision | continuation | amendment(恢复协议见 SUB-AGENT-PROTOCOLS)
- input_docs: 输入文档路径列表
- expected_output: 期望产出类型
- 仅revision: REVIEW报告路径
- 仅continuation: 用户回答、中间产出路径、恢复指引
- 仅amendment: change-analysis 结果(XML格式)、用户变更描述
reflector 家族任务(retrospective / skill-improvement / apply-learnings)经 orchestrator inline 或 CLI
cataforge agent run --task-type触发,不走本调度枚举。
Agent-Skill 依赖映射
单一事实来源: 各 AGENT.md 的
skills:字段(由 subagent_type 自动加载)。 本文件不维护映射副本。查询当前映射请运行:cataforge agent list --skills
平台调度实现
当前运行时平台由 .cataforge/platforms/{platform_id}/profile.yaml 声明。
调度工具名和参数由 profile.yaml 的 dispatch 段定义。
prompt 主模板: .cataforge/skills/agent-dispatch/templates/dispatch-prompt.md。
平台特异性覆盖: .cataforge/platforms/{platform_id}/overrides/dispatch-prompt.md(若存在)。
调度前 orchestrator 自行 Read 主模板 + 当前平台 override(若有),两者由 LLM 上下文合并使用 —— OVERRIDE 块边界在源文件中以 <!-- OVERRIDE:<section> --> 注释标识,便于 LLM 识别替换语义。主模板已含平台分支(如 "Claude: .claude/rules,Cursor: .cursor/rules"),override 只在需要补充平台特异性内容时才填充对应块。
deploy 阶段无运行时合并器;frontmatter 能力标识符翻译由 cataforge.runtime.agent.translator.translate_agent_md 负责,agent 返回值解析由 orchestrator 主循环按下方 §返回值解析与容错 处理。
修改 prompt 模板影响所有通过 agent-dispatch 调度的 Agent,请谨慎变更并做 diff review。 TDD 子代理由 tdd-engine 直接调度,仅传入任务信息,通用约束和返回格式依赖 AGENT.md 自动加载,无需同步。
返回值解析与容错
orchestrator 收到子代理返回后,按以下优先级解析:
- 正常解析: 提取
<agent-result>标签内容,获取 status/outputs/summary - 标签缺失兜底: 如果返回文本中不含
<agent-result>:- 使用
Glob docs/{doc_type}/检查是否有新文件产出 - 有新文件 → 推断为 completed,outputs 为新文件路径列表
- 无新文件 → 标记为 blocked,记录原因"子代理未返回结构化结果"
- 使用
- 标签不完整兜底: 如果
<agent-result>缺少必填字段(status/outputs):- 缺 status → 默认为 completed (如果有 outputs)
- 缺 outputs → 使用 Glob 扫描 docs/ 推断产出
- maxTurns 截断恢复: 如果子代理明显被截断(返回文本不含结束标签):
- 通过
git status docs/检查是否有自本次调度后新增或修改的文件(untracked 或 modified) - 有新增/修改文件 → 检查文件内容是否含非空章节(至少一个 ## 标题下有实际内容),有则以 continuation 模式重新调度同一Agent
- 无新增/修改文件或文件仅含空骨架 → 标记 blocked 并请求人工介入
- 通过
What ships with it
1 file beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
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.
- 3d ago First seen · 101 lines · 55 tokens per session scan A c3301606ce9b
agent-dispatch is a skill published in the GitHub repository lync-cyber/CataForge (128 stars, last pushed 1mo ago), licensed MIT. It adds 55 tokens to every session and 2,036 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
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…