soia-team/soia-open-dev-skills · Archived

soia-dev-agent-cli-dispatch

受控调度外部 AI Agent CLI,选择已验证模型、隔离工作目录并回传模型、用量、费用与验证证据。触发:「派活给外部 AI」「调用 DeepCode/Pi/agy」「多 CLI 派发」

First seen Jul 25, 2026

Installation

$ npx skills add soia-team/soia-open-dev-skills --skill soia-dev-agent-cli-dispatch

Stronger alternatives

This repository is archived — consider an actively maintained alternative.

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Also in this package

Other skills from soia-team/soia-open-dev-skills · top by installs.

npx skills add soia-team/soia-open-dev-skills

Browse all from soia-team/soia-open-dev-skills

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Repository health

Stars 3
License LICENSE
Default branch main
Open issues 0
Status Archived

Skill metadata

Parsed from SKILL.md frontmatter.

Version1.6.3
Declared agents claude-code antigravity

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 14,358 B
  • docs SUMMARY.md 243 B

History

  1. First seen on skills.sh
  2. First recorded snapshot · 9 installs

SKILL.md

soia-dev-agent-cli-dispatch

把编码、审查、分析、研究、文档或内容任务交给外部 AI Agent CLI 进程,并对工作目录、权限、实际模型、用量、成本和结果质量做统一约束。它不调度宿主内置子代理,也不替代普通的一次性 shell 命令。

客户可读说明

这个技能可以做什么

客户想要 技能会做 客户能看到
派一个任务给指定 AI CLI 检查 CLI、认证、工作目录和权限,按该执行器规范启动 执行器、请求/实际模型、状态与验证结果
让系统自动选择模型档位 只从已有验证证据的候选中选择;无候选时阻断 选择理由、推理档、价格区间与证据状态
批量或断点执行 串行运行 case,逐项原子更新脱敏 manifest 成功、失败、降级、超时、剩余任务与恢复状态
查看支持哪些 AI Agent 读取 references/supported-agents.yml 支持状态、使用方式、自动路由范围和对应规范

本技能不会把“进程退出码为 0”直接当成模型或任务质量已验证,也不会在没有证据时开放新的自动路由。

客户如何使用

客户至少说明:

  1. 要完成的任务和验收标准;
  2. 目标项目或工作目录;
  3. 指定执行器/模型/推理档,或允许自动选择;
  4. 是否允许修改文件、联网、创建 worktree、提交或执行其他高影响动作。

示例请求:

把这个小范围修复派给 Pi,允许改当前项目,不允许提交;运行相关测试并回报实际模型和 Token。

依赖与安装

  • 运行依赖:Python 3,以及本次选择的外部 AI CLI。缺少目标 CLI 时停止,不静默换成另一个执行器。
  • 可选依赖:soia-meta-sync-skills,仅用于把已安装技能同步到客户明确选择的其他宿主。
  • 各 CLI 的认证、模型和套餐由其官方登录态或 provider 配置管理;本技能不代管凭据。

默认按项目、单技能、单个明确指定的 Agent 安装。在已选项目目录运行,将 <explicit-agent> 替换为客户选择的 Agent ID:

npx skills add soia-team/soia-open-dev-skills -a "<explicit-agent>" -s soia-dev-agent-cli-dispatch -y

只有客户显式选择全局范围时才加 -g;只有显式选择全部 Agent 时才用 -a '*'。项目、宿主、技能和影响范围已明确获批时不重复确认;缺少关键选择时先问,不因发现技能缺失自动安装。

只有客户明确选择整个 dev 插件及其安装范围时,才使用对应插件安装流程;以下为 Claude Code 命令示例,执行前按已批准的范围设置安装选项:

claude plugin marketplace add soia-team/soia-open-skills
claude plugin install soia-dev@soia

同一宿主、同一使用范围内不要同时维护插件副本和 skills 目录副本,以免同名技能漂移。完整安装说明以元仓 README 安装入口为准。

WorkBuddy 的装载单位是角色化专家而不是插件,npx skills add -a '*' 覆盖不到它,需要单独安装,见 docs/install/workbuddy.md。

配置文件

本技能目录中有两类 YAML,职责不同:

文件 性质 用途
references/supported-agents.yml 随技能发布的公共配置 支持哪些 AI Agent、适合什么工作、如何调用、验证到什么程度
assets/config.example.yml 私有配置模板 配置 host 标识及 state/temp 根目录;复制后由客户持有

可选私有配置位置与覆盖变量:

~/.config/soia-skills/soia-dev-agent-cli-dispatch/config.yml
SOIA_DEV_AGENT_CLI_DISPATCH_CONFIG_FILE=<custom-config-path>

配置优先级:本次 CLI 参数 → 进程环境 → 私有 config.yml → 跨平台默认值。API key、cookie、token、session 不得写进该配置;它们留在 provider 登录态或系统凭据库。

私密信息与中间数据

  • prompt:写入 OS 临时目录下按 task-id 隔离的目录;任务结束后清理。除非客户明确要求,不把 prompt 长期保存。
  • run manifest:默认写入 <state>/soia-skills/soia-dev-agent-cli-dispatch/runs/<run-id>/manifest.json。
  • manifest 只保存脱敏状态、CLI 版本、请求/实际模型、Token、费用、时间和恢复信息;不保存 prompt、响应正文、凭据、账号或私有绝对路径。
  • 平台允许时,state 目录使用 0700、manifest 使用 0600。默认最多保留 50 个 run;达到上限时阻断新 run,不自动删除。清理前先让客户查看范围并确认。
  • 仓库 checkout 不得作为运行时 config、state、cache 或临时目录。

路径解析:

python3 scripts/resolve_storage.py --json

日志与完成回执

最终回执固定包含:

完成:<本次派发结果>。

调用:
- executor: <外部 AI CLI>
- requested/actual model: <值或 unknown>
- requested/actual reasoning: <值或 unknown>
- status: <passed / failed / blocked / fallback_or_downgrade / actual_model_unverified>

用量与费用:
- input/cache/output/total tokens: <分项值或 unavailable>
- provider-reported / API-equivalent cost: <值、口径或 unavailable>

验证:<实际运行的检查及结果>
状态记录:<泛化 state 位置或“纯 stdout”>
问题与下一步:<阻塞、未验证边界或“无”>

不在客户回执中打印凭据、账号、完整响应正文或本机私有绝对路径。

若 Skill 导致需要确认、暂停或留下已请求但未完成的工作,在暂停说明及最终回执中点名并链接实际读取的具体 SKILL.md(关联规则也给出来源),引用相关原句,解释它为何适用于当前动作,并说明已完成部分与受阻部分。区分规则明确要求与派发者自身推断;仅在已有授权不能覆盖且规则确实适用时请求补充确认,不把历史裁决、建议或其它工作模式的门禁当作新增审批。规则链接使用可公开或客户可访问且不泄露私有目录的形式。

触发与边界

命中以下任一场景时使用:

  • 明确要求“派给 Codex / Claude / Pi / DeepCode / agy / 其他外部 AI CLI”;
  • 需要多 CLI 分工、外部模型路由、额度预检或统一用量回执;
  • 需要把长任务放入独立外部进程并可恢复地跟踪。

不要使用:

  • 当前宿主直接完成任务,没有外部 AI 进程;
  • 只需普通 shell 命令;
  • 任务边界、目标工作目录或验收标准仍不明确。

输入契约

执行前把请求归一化为:

task:
  title: <short-title>
  objective: <observable-result>
  acceptance: [<evidence>]
executor: <agent-id-or-auto>
model: <model-id-or-auto>
reasoning: <level-or-auto>
workdir: <project-path>
permissions:
  file_write: false
  network: false
  worktree: false
  commit: false
  remote_write: false

未明确授权的权限保持 false。显式指定的执行器、模型和推理档优先;但未验证组合必须标记 explicit_unverified,不能包装为自动推荐。 Coordinator、Executor、Verifier、Reviewer、Advisor 的具体模型分工属于调用方项目/用户策略,不由本通用技能写死;派发者必须把该策略作为本次输入,未提供时才按任务复杂度和现有验证证据给出候选。

核心流程

1. 定义任务与证据

写清目标、输入、允许修改范围、禁区和验收命令。任务拆分按可独立验证的边界进行;每个子任务分配唯一 task ID。

先读取目标仓适用的 AGENTS.md、贡献说明和测试约定。目标仓规则优先;不要把本技能自己的历史治理术语或无关文件塞进派发 prompt。

2. 选择执行器

  1. 读取 references/supported-agents.yml,确认 dispatch_supported、验证状态和对应 reference。
  2. 用户显式指定时按指定值执行,不做静默替换。
  3. 用户允许自动路由时,先判定 easy/medium/hard,再运行:
python3 scripts/route_model.py --executor <agent-id> --complexity <easy|medium|hard>
  1. 没有 verified candidate 时停止;不得从 pendingbenchmark 或 commandhelp_verified 条目自动选模。
  2. 确定执行器后只加载其 reference;需要路由判据时再加载 references/executor-routing.md。

3. 执行前预检

  • 运行 command -v <cli> 和 <cli> --version,记录实际版本。
  • 使用官方只读状态检查认证/套餐;如果检查本身会调用付费模型,先取得客户确认。
  • 检查 workdir 是否存在、是否是凭据/配置目录、是否有未提交改动以及是否与其他任务重叠。
  • 不可服务、认证阻断、额度不足或目录不安全时停止并给出明确状态。
  • Antigravity 消费者通道与 Gemini 企业/API Key/Vertex 通道必须分开,禁止复制认证状态或静默 alias。

4. 建立隔离与权限门

  • 每个写任务使用独立 workdir;多任务不得同时写同一文件。
  • 创建 git worktree 前展示目标路径、分支和用途,并等待客户明确批准;已在当前任务书中明确批准的目标不重复确认。新增、移动、删除或改变 Worktree/分支/目标路径仍须单独批准。
  • “覆盖”指替换未知内容、他人改动或授权范围外目标,不包括已授权文件集内的常规补丁编辑。
  • 删除、覆盖、提交、push、发布、发送、授权变更及其他远端写入必须单独获得当前任务授权。
  • 工作区已有未知改动时不提交、不清理、不覆盖;把冲突范围回报给客户。

5. 安全传递 prompt

prompt 必须先写入按 task-id 隔离的 UTF-8 临时文件。不要把不可信正文直接拼进 shell;优先 stdin 或执行器原生文件参数。具体命令、参数终止符和结构化输出方式以选中执行器的 reference 为准。

prompt 只包含:任务目标、必要上下文、目标文件/范围、权限边界、验收命令和回执要求。排除无关仓库、私有路径、凭据和其他任务上下文。

6. 派发与监控

  • 简短任务前台执行;长任务使用可观察的后台方式并定期检查退出状态、日志摘要和资源信号。
  • 多 case 使用 scripts/run_matrix.py;每个 case 完成后原子更新 manifest。
  • 失败后先分类原因再决定是否重试;同一命令、同一假设不得无变化重复运行。
  • 外部 Agent 自报“完成”只是待验证输入,不能直接作为主控结论。

7. 验证与收口

  1. 比对 requestedmodel 与结构化或可信回显中的 actualmodel。
  2. 缺少实际模型证据时写 actualmodelunverified;不以请求值填充实际值。
  3. 分开记录 input、cache read/write、output 和 total Token;缺少分项时保持 unavailable。
  4. provider 报告费用与 API 等价估算分开,订阅套餐不得伪装成真实按 Token 扣费。
  5. 在目标 workdir 运行验收命令,并检查真实 diff/产物;退出码与模型回显不能替代任务质量验证。
  6. 检查同类问题、未授权改动和残余风险,再输出完成回执。

统一字段、状态机、恢复与 Model Integrity Gate 见 references/dispatch-contract.md。

证据与状态规则

  • manifest 中的 passed:执行器成功且模型证据满足该执行器门禁;它不代表任务产物质量已验收。
  • 客户回执中的“完成”:除上述调用状态外,还必须由主控独立验证任务产物。
  • fallbackordowngrade:实际模型与请求不符。
  • actualmodelunverified:任务可能有输出,但缺少可信实际模型证据。
  • blocked_*:认证、额度、权限或付费确认未满足,未执行对应调用。
  • partial_coverage:只有部分模型/档位或聚合报告,不能声称全矩阵完成。

要声称“全模型 × 全推理档已验证”,必须保留发现快照、完整 case 清单、逐 case manifest、模型回显和聚合报告。

按需资源

需要 资源
支持哪些 AI Agent、用法和验证状态 references/supported-agents.yml
路由判据与推荐组合 references/executor-routing.md
统一调用字段、状态、派发纪律与恢复规则 references/dispatch-contract.md
单个执行器命令 references/supported-agents.yml 中该 agent 的 reference
模型与价格运行时事实源 references/model-catalog.yml
价格目录的带日期来源快照 reports/model-pricing-2026-07-10.md
历史证据边界 reports/benchmark-2026-07-10.md
Pi + DeepSeek V4 Flash 实例 examples/pi-deepseek-v4-flash-easy.md
Claude 模型 ID 实测快照与 fallback/辅助模型现象 reports/claude-model-probe-2026-09-02.md
重新探测 Claude 实际服务的模型 ID scripts/probeclaudemodels.py --models <ids>(真实调用,消耗额度;--selftest 只跑 fixture)
私有运行配置模板 assets/config.example.yml

加载原则:主文件 → 所选执行器 reference,最多一跳;不要一次性加载全部 references。

验证

修改本技能后至少运行:

python3 scripts/resolve_storage.py --selftest
python3 scripts/validate_supported_agents.py --selftest
python3 scripts/catalog_lib.py --selftest
python3 scripts/estimate_cost.py --selftest
python3 scripts/route_model.py --selftest
python3 scripts/run_claude_prompt.py --selftest
python3 scripts/run_matrix.py --selftest
python3 scripts/probe_claude_models.py --selftest

复杂行为还要运行一个脱敏的真实前向实例,并核对产物或 manifest 内容,不能只核对退出码。