refactor: fold ack kit into skill
This commit is contained in:
+27
-22
@@ -1,15 +1,19 @@
|
||||
---
|
||||
name: ack
|
||||
description: >-
|
||||
初始化、检查并运行 ACK(Agent Collaboration Kit)三角色协作闭环。仅在用户显式调用
|
||||
/ack 或 $ack,并要求初始化 ACK、检查 docs/ack 配置、按 ACK 规划需求或指挥
|
||||
Coordinator/Developer/Test 工作时使用。
|
||||
初始化、检查并运行 ACK 三角色协作闭环。仅在用户显式调用 /ack 或 $ack,并要求
|
||||
初始化 ACK、检查 docs/ack 配置、按 ACK 规划需求或指挥 Coordinator/Developer/Test
|
||||
工作时使用。
|
||||
---
|
||||
|
||||
# ACK 项目协作入口
|
||||
|
||||
把全局 skill 作为入口,把项目状态留在 `docs/ack/`,把通用规范留在
|
||||
`~/.skills/kits/ack/`。不要在本 skill 复制或改写 kit 的核心规范。
|
||||
本 Skill 是 ACK 的完整能力包:`references/` 保存通用规范,`templates/` 保存项目
|
||||
状态模板,`scripts/` 保存校验工具。目标项目只在 `docs/ack/` 保存 `project.md` 和
|
||||
`tasks.yaml`,不要复制或链接 Skill 内容。
|
||||
|
||||
开始时解析当前 `SKILL.md` 所在目录,记为 `<ack-skill-dir>`。所有通用规范、模板和
|
||||
脚本都相对此目录访问,不依赖固定的全局安装路径。
|
||||
|
||||
## 选择模式
|
||||
|
||||
@@ -27,10 +31,11 @@ description: >-
|
||||
2. 不存在时执行:
|
||||
|
||||
```bash
|
||||
skiff kit init ack --project <project-root>
|
||||
skiff init ack --project <project-root>
|
||||
```
|
||||
|
||||
默认使用软链接模式。只有用户明确要求项目自带完整副本时才加 `--copy`。
|
||||
该命令从本 Skill 的 `templates/` 生成项目状态,不会在项目中创建 Skill
|
||||
软链接或资源副本。
|
||||
3. 如果 `docs/ack` 已存在,不重复初始化、不覆盖文件;转入“检查”,报告缺失项并
|
||||
只补用户授权且能安全确定的内容。
|
||||
4. 读取项目的公开配置和文档,例如 README、语言清单、包管理清单、测试配置与
|
||||
@@ -39,33 +44,32 @@ description: >-
|
||||
- 用实际项目值替换全部占位符。
|
||||
- 无服务地址时把 Base URL 写为 `n/a`,不要虚构端口。
|
||||
- 无法从项目证据确定的命令写为 `n/a`,并在结果中列为待配置项。
|
||||
- 保留 `docs/ack/kit/core/` 引用,不复制 core 内容。
|
||||
- 只写项目差异,不复制 `references/` 中的通用规范。
|
||||
6. 完善 `docs/ack/tasks.yaml` 的项目信息。纯初始化且用户没有提供真实任务时,
|
||||
删除模板示例任务并保留 `tasks: []`;不要虚构需求或缺陷。
|
||||
7. 更新 `updatedAt`,并运行:
|
||||
|
||||
```bash
|
||||
python3 docs/ack/kit/scripts/validate_tasks.py docs/ack/tasks.yaml
|
||||
python3 <ack-skill-dir>/scripts/validate_tasks.py docs/ack/tasks.yaml
|
||||
```
|
||||
|
||||
8. 检查 `project.md` 与 `tasks.yaml` 是否仍有 `<...>` 占位符。结构校验通过且
|
||||
必填项目事实完整时才称“初始化完成”;否则称“部分完成”并列出缺失值。
|
||||
9. 报告创建的路径、软链接或复制模式、检测到的命令、校验结果和下一步。除非用户
|
||||
明确要求,不提交、不推送。
|
||||
9. 报告创建的路径、检测到的命令、校验结果和下一步。除非用户明确要求,不提交、
|
||||
不推送。
|
||||
|
||||
## 检查
|
||||
|
||||
1. 检查以下路径:
|
||||
- `docs/ack/kit`
|
||||
- `docs/ack/project.md`
|
||||
- `docs/ack/tasks.yaml`
|
||||
2. 确认 `kit` 可访问 `VERSION`、`core/`、`templates/` 和 `scripts/`。软链接模式下
|
||||
同时报告其真实目标。
|
||||
3. 对比 `tasks.yaml` 的 `kitVersion` 与 `kit/VERSION`。
|
||||
4. 查找未替换占位符,并核对项目路径、覆盖层路径、Developer 白盒命令、Test
|
||||
2. 读取 `<ack-skill-dir>/VERSION`,对比 `tasks.yaml` 的 `ackVersion`。旧项目只有
|
||||
`ackVersion` 时仍可读取,但建议迁移为 `ackVersion`。
|
||||
3. 查找未替换占位符,并核对项目路径、覆盖层路径、Developer 白盒命令、Test
|
||||
黑盒命令和 Base URL。
|
||||
5. 运行任务板校验器。只报告证据明确的问题,不因可选字段缺失而宣称失败。
|
||||
6. 检查不会自动修复或覆盖现有配置;用户明确要求修复后再修改。
|
||||
4. 使用 `<ack-skill-dir>/scripts/validate_tasks.py` 校验任务板。只报告证据明确的
|
||||
问题,不因可选字段缺失而宣称失败。
|
||||
5. 检查不会自动修复或覆盖现有配置;用户明确要求修复后再修改。
|
||||
|
||||
## 工作
|
||||
|
||||
@@ -73,8 +77,8 @@ description: >-
|
||||
2. 依次读取:
|
||||
- `docs/ack/project.md`
|
||||
- `docs/ack/tasks.yaml`
|
||||
- `docs/ack/kit/core/kickoff.md`
|
||||
- kickoff 指定且与当前任务相关的 core 文件
|
||||
- `<ack-skill-dir>/references/kickoff.md`
|
||||
- kickoff 指定且与当前任务相关的 references 文件
|
||||
3. 当前会话担任 Coordinator,遵守项目覆盖层中的命令、路径权限、模型路由和
|
||||
worker 复用规则。项目覆盖层优先于通用示例命令。
|
||||
4. 新需求先写产品文档、任务拆分与可观测验收信号,更新 `tasks.yaml` 并校验,
|
||||
@@ -87,7 +91,8 @@ description: >-
|
||||
## 边界
|
||||
|
||||
- 不修改或追加任何项目 Agent 指令文件,包括 `AGENTS.md`。
|
||||
- 不在 skill 中维护第二份 ACK core、模板或任务 schema。
|
||||
- 不在项目中维护第二份 ACK 通用规范、模板或任务 schema。
|
||||
- 不猜测项目命令、服务地址、worker handle 或模型名称。
|
||||
- 不覆盖已有 `docs/ack` 文件,不擅自提交、推送、创建终端或新 worktree。
|
||||
- kit 初始化的机械操作始终委托给 `skiff kit init ack`。
|
||||
- 项目只保存 `docs/ack/project.md` 和 `docs/ack/tasks.yaml`;通用资源始终从当前
|
||||
ACK Skill 目录读取。
|
||||
|
||||
Reference in New Issue
Block a user