Files
.pouch/skills/ack/SKILL.md
T

4.5 KiB
Raw Blame History

name, description
name description
ack 初始化、检查并运行 ACKAgent Collaboration Kit)三角色协作闭环。仅在用户显式调用 /ack 或 $ack,并要求初始化 ACK、检查 docs/ack 配置、按 ACK 规划需求或指挥 Coordinator/Developer/Test 工作时使用。

ACK 项目协作入口

把全局 skill 作为入口,把项目状态留在 docs/ack/,把通用规范留在 ~/.skills/kits/ack/。不要在本 skill 复制或改写 kit 的核心规范。

选择模式

  • 用户要求初始化、接入或安装 ACK:执行“初始化”。
  • 用户要求检查 ACK 是否可用、配置是否完整:执行“检查”。
  • 用户要求用 ACK 做需求、修复问题或继续任务:执行“工作”。

始终先解析真实项目根目录。优先使用 git rev-parse --show-toplevel;不是 Git 项目时使用用户指定目录或当前目录。不要修改项目的 AGENTS.mdCLAUDE.md 或其它 Agent 指令文件。

初始化

  1. 确认 skiff 可执行,并检查 <project>/docs/ack 是否存在。

  2. 不存在时执行:

    skiff kit init ack --project <project-root>
    

    默认使用软链接模式。只有用户明确要求项目自带完整副本时才加 --copy

  3. 如果 docs/ack 已存在,不重复初始化、不覆盖文件;转入“检查”,报告缺失项并 只补用户授权且能安全确定的内容。

  4. 读取项目的公开配置和文档,例如 README、语言清单、包管理清单、测试配置与 CI,确定项目名、技术栈、源码/规格/测试路径及真实可执行命令。

  5. 完善 docs/ack/project.md

    • 用实际项目值替换全部占位符。
    • 无服务地址时把 Base URL 写为 n/a,不要虚构端口。
    • 无法从项目证据确定的命令写为 n/a,并在结果中列为待配置项。
    • 保留 docs/ack/kit/core/ 引用,不复制 core 内容。
  6. 完善 docs/ack/tasks.yaml 的项目信息。纯初始化且用户没有提供真实任务时, 删除模板示例任务并保留 tasks: [];不要虚构需求或缺陷。

  7. 更新 updatedAt,并运行:

    python3 docs/ack/kit/scripts/validate_tasks.py docs/ack/tasks.yaml
    
  8. 检查 project.mdtasks.yaml 是否仍有 <...> 占位符。结构校验通过且 必填项目事实完整时才称“初始化完成”;否则称“部分完成”并列出缺失值。

  9. 报告创建的路径、软链接或复制模式、检测到的命令、校验结果和下一步。除非用户 明确要求,不提交、不推送。

检查

  1. 检查以下路径:
    • docs/ack/kit
    • docs/ack/project.md
    • docs/ack/tasks.yaml
  2. 确认 kit 可访问 VERSIONcore/templates/scripts/。软链接模式下 同时报告其真实目标。
  3. 对比 tasks.yamlkitVersionkit/VERSION
  4. 查找未替换占位符,并核对项目路径、覆盖层路径、Developer 白盒命令、Test 黑盒命令和 Base URL。
  5. 运行任务板校验器。只报告证据明确的问题,不因可选字段缺失而宣称失败。
  6. 检查不会自动修复或覆盖现有配置;用户明确要求修复后再修改。

工作

  1. docs/ack 不存在,停止并建议先用 /ack 初始化;不要静默初始化。
  2. 依次读取:
    • docs/ack/project.md
    • docs/ack/tasks.yaml
    • docs/ack/kit/core/kickoff.md
    • kickoff 指定且与当前任务相关的 core 文件
  3. 当前会话担任 Coordinator,遵守项目覆盖层中的命令、路径权限、模型路由和 worker 复用规则。项目覆盖层优先于通用示例命令。
  4. 新需求先写产品文档、任务拆分与可观测验收信号,更新 tasks.yaml 并校验, 然后交给用户确认;确认前不派发实现。
  5. 用户已确认的任务按 ACK 闭环执行:Developer 实现与白盒验证,Test 独立黑盒 复测,Coordinator 读取证据终检并唯一写入 tasks.yaml
  6. 不把 worker_done 或 Test 自报成功直接当作完成。每项最多三轮,仍失败则记录 leftover 并继续其它任务。

边界

  • 不修改或追加任何项目 Agent 指令文件,包括 AGENTS.md
  • 不在 skill 中维护第二份 ACK core、模板或任务 schema。
  • 不猜测项目命令、服务地址、worker handle 或模型名称。
  • 不覆盖已有 docs/ack 文件,不擅自提交、推送、创建终端或新 worktree。
  • kit 初始化的机械操作始终委托给 skiff kit init ack