关于 assign
Assign 是通过 opencode、codex 或 claude 在指定工作目录运行所给任务的技能。它负责提示词传递、进程监控、清理和结果验证,然后报告执行情况。
主要功能
- 01选择 Agent、模型和目录
- 02检查前置条件与注册表条目
- 03通过临时提示词文件传递任务
- 04跟踪进程输出与状态
- 05清理并验证结果
适用场景
- 01使用指定外部 Agent 执行任务
- 02监控非交互式 Agent 进程
- 03检查代码改动及要求的测试证据
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ prathamdby/ skills --skill assign安装后在 Claude Code 中输入/assign确认已加载。
附带文件REFERENCE.md
详细介绍
Assign
标志
| 标志 | 默认值 | 效果 |
|---|---|---|
--agent <name> | opencode | opencode、codex 或 claude |
--model <model> | 注册表默认值 | 覆盖所选 Agent 的模型 |
--dir <path> | 当前目录 | 外部 Agent 的工作目录 |
如果 --agent 指定了不受支持的 Agent,请停止并提示:“未知 Agent <name>。
支持的 Agent:opencode、codex、claude。请参阅 ./REFERENCE.md。”
1. 预检
要求提供非空的位置任务、已存在的工作目录、Agent 可执行文件,以及 ./REFERENCE.md 中的注册表条目。对于不在 git 仓库中的 Codex,使用注册表中的非 git 分支。
记录:
agent/model | dir | prompt path | process | last progress | exit | terminal。
当输入和准确的非交互式命令均已确定,或已报告具体缺失的可执行文件、目录或身份验证阻碍时,即为完成。
2. 创建传输文件
使用系统临时目录,以限制性权限创建不会冲突的提示词文件。原样写入任务字节。绝不要将任务文本作为 shell 参数传递。启动前注册清理操作,确保成功、出错、收到信号或中断时都会移除提示词文件。
当提示词可以逐字节读回,且并行分配任务不会共用其路径时,即为完成。
3. 执行并监控
通过受跟踪的进程运行所选注册表命令,并通过 stdin 管道传入提示词。捕获 stdout、stderr、进程 ID 和退出代码。监控输出、进程状态和目标目录变更。仅凭静默不能证明进程已挂起。经过一段静默时间后检查进程;只有当进程在非交互式标志下等待输入、用户取消任务或达到执行时限时,才终止进程。使用参考文档中的终止流程。
当进程退出或被终止,且没有遗留子进程时,即为完成。
4. 验证并报告
始终运行清理操作,然后确认提示词文件已不存在。非零退出、启动失败、超时或输出为空均不算成功。对于代码工作,检查生成的差异和所要求的测试证据;不要相信 CLI 摘要。
报告 Agent、模型、目录、退出代码、观察到的结果、验证情况,以及以下一种终端状态:SUCCESS、FAILED、TIMED_OUT 或 INTERRUPTED。
严格委派给定的任务。除非任务本身有要求,否则不要添加提交、推送、构建或扩大范围的操作。