con un clic
update-cli-command-docs
AgentBay CLI 命令文档同步流程(docs/、README、CHANGELOG readiness)
Instalar con Codex o Claude Copia este prompt, pégalo en Codex, Claude u otro asistente, y deja que revise la página de la skill y la instale por ti.
Menú
AgentBay CLI 命令文档同步流程(docs/、README、CHANGELOG readiness)
Instalar con Codex o Claude Copia este prompt, pégalo en Codex, Claude u otro asistente, y deja que revise la página de la skill y la instale por ti.
Basado en la clasificación ocupacional SOC
AgentBay CLI 双语 CHANGELOG 与 GitHub Release 发版 SOP。Use when preparing a release, updating bilingual CHANGELOG, translating release notes, creating tags, refreshing GitHub Release notes, or running make release-prep/backfill-release-notes.
将前端 API 能力封装成 agentbay-cli 命令的标准化流程
AgentBay CLI 需求开发全流程规范(分支管理、推送、提交、PR),不含具体需求内容
将当前本地分支推送到 aliyun 远程的同名分支(禁止推送到 master/main)
将当前本地分支推送到 origin 远程的同名分支(禁止推送到 master/main)
| name | update-cli-command-docs |
| description | AgentBay CLI 命令文档同步流程(docs/、README、CHANGELOG readiness) |
在 AgentBay CLI 需求开发完成后,同步更新以下文档,并确保变更可被发版阶段的双语 CHANGELOG 流程正确采集:
docs/en/<group>.md 和 docs/zh/<group>.mdREADME.md 和 README.zh-CN.mdREADME.md / docs/en/** 变更同步 llms-full.txt,并在文档结构变化时检查 llms.txtmake release-prep 采集要求;真正的版本段生成与翻译委托 bilingual-changelog-release skill本 skill 不涉及代码实现,仅负责文档层面的同步。
对客文档(cli-analysis/ 目录、钉钉文档)不在此 skill 范围内,需手动同步。
当出现以下情况时触发:
llms-full.txt / llms.txt 是否需要同步)bilingual-changelog-release skillcreate-cli-command skill 的 Phase 5 委托调用本 skill 必须在代码变更完成后触发,不得在代码尚未完成时提前生成文档。⚠️ 若涉及分支切换,必须先询问用户确认,不得自动切换 feat 分支 —— 用户可能希望继续在当前分支开发。典型组合:
| 场景 | 前置 skill | 本 skill 时机 |
|---|---|---|
| 新增命令 | create-cli-command Phase 1-4 完成后 | 替代其 Phase 5 |
| 修改命令 | 直接修改代码后 | 代码修改完成即可 |
| 日常 PR 文档同步 | feature-development-workflow Phase 2-3 完成后 | 提交前 |
| 发版 CHANGELOG / Release notes | bilingual-changelog-release | 不在本 skill 内生成版本段 |
目的:识别本次变更影响了哪些命令组、哪些文档需要更新,避免遗漏或无谓修改。
检查当前变更范围
# 最近一次提交的变更文件
git diff --name-only HEAD~1
# 工作区未提交的变更
git diff --name-only
识别受影响的命令组
根据变更的代码文件映射到命令组:
| 代码文件 | 命令组 | docs 文件 |
|---|---|---|
cmd/apikey*.go, cmd/concurrency.go | apikey | docs/en/apikey.md / docs/zh/apikey.md |
cmd/image*.go | image | docs/en/image.md / docs/zh/image.md |
cmd/network.go | network | docs/en/network.md / docs/zh/network.md |
cmd/skills*.go | skills | docs/en/skills.md / docs/zh/skills.md |
cmd/docker.go | docker | docs/en/docker.md / docs/zh/docker.md |
cmd/login.go, cmd/logout.go, cmd/constants.go | core | docs/en/core.md / docs/zh/core.md |
判定文档更新类型
| 变更类型 | docs 更新 | README 更新 | CHANGELOG readiness |
|---|---|---|---|
| 新增命令 | ✅ 添加完整命令文档节 | ✅ 在表格中添加子命令 | ✅ 校验 commit 使用 feat(<group>) |
| 新增参数 | ✅ 更新参数表格 | ✅ 如影响简述则更新 | ✅ 校验 commit 使用 feat(<group>) 或 docs(<group>) |
| 修改参数默认值 | ✅ 更新默认值和说明 | ✅ 如影响简述则更新 | ✅ 校验 commit subject 能表达用户影响 |
| 修改输出格式 | ✅ 更新输出示例 | ❌ 通常不需要 | ✅ 校验 commit subject 能表达用户影响 |
| 修改命令行为 | ✅ 更新说明和注意事项 | ✅ 更新简述 | ✅ 校验 commit type/scope |
| 仅内部重构 | ❌ 通常不需要 | ❌ | 视情况 |
| 仅补发版翻译 | ❌ | ❌ | ❌ 改用 bilingual-changelog-release |
判定 llms 更新类型
| 变更类型 | llms 动作 |
|---|---|
修改 README.md | 执行 bash scripts/build-llms-full.sh,同步 llms-full.txt |
修改 docs/en/** | 执行 bash scripts/build-llms-full.sh,同步 llms-full.txt |
| 新增 / 删除 / 重命名对外文档 | 更新 llms.txt 导航链接;如涉及英文源文档,同步重建 llms-full.txt |
仅修改 docs/zh/** | 通常不重建 llms-full.txt;若文档结构变化,检查 llms.txt 中文链接 |
仅修改 docs/internal/** / 测试文档 / 脚本文档 | 不进入 llms 文档,通常无需同步 |
CLI 命令变更通常会同步 docs/en/<group>.md 或 README.md,因此必须把 llms-full.txt 纳入本次文档同步范围。
向用户确认更新范围
展示分析结果,例如:
检测到以下变更需要文档同步:
- 新增命令:
apikey status→ 需更新docs/en/apikey.md、docs/zh/apikey.md、README 表格、CHANGELOG readiness- 修改参数:
image create --os-type默认值变更 → 需更新docs/en/image.md、docs/zh/image.md是否按此范围执行文档更新?
原则:中英文文档结构必须完全一致,内容互为翻译。先更新英文版,再同步中文版。
读取目标命令组的现有文档,理解当前格式和风格。
在对应命令组文档的 ## Commands / ## 命令 部分末尾追加新节。
英文版模板:
---
### `<group> <subcommand>`
<一句话描述>
```bash
agentbay <group> <subcommand> [flags]
```
Flags:
| Flag | Short | Type | Required | Description |
|---|---|---|---|---|
--param | -p | string | Yes | 说明 |
Notes:
**中文版模板**:
```markdown
---
### `<group> <subcommand>`
<一句话中文描述>
```bash
agentbay <group> <subcommand> [flags]
参数:
| 参数 | 短参数 | 类型 | 必填 | 说明 |
|---|---|---|---|---|
--param | -p | string | 是 | 中文说明 |
注意事项:
**关键约束**:
- 命令示例保留英文(`agentbay apikey create` 不翻译为 `agentbay apikey 创建`)
- 表头英文版用 `Flag` / `Short` / `Type` / `Required` / `Description`,中文版用 `参数` / `短参数` / `类型` / `必填` / `说明`
- `Required` 列英文版用 `Yes`/`No`,中文版用 `是`/`否`
- 如果命令有破坏性操作,必须包含 `--yes` / `-y` 参数说明和注意事项
- 如果没有短参数(Short),中文版可省略"短参数"列(参考同文件已有命令的格式)
- 新增节前用 `---` 分隔线
#### 1.3 修改命令 — 更新已有命令文档节
定位到对应子命令的文档节,更新受影响的部分:
- **新增参数**:在参数表格中追加行
- **修改参数默认值**:更新 Type 列中的默认值标注和 Description/说明列
- **修改输出格式**:更新输出示例代码块
- **修改命令行为**:更新描述段落和注意事项
**必须注意**:修改时不要破坏同一节中未变更的内容。
#### 1.4 双语同步验证
更新完成后,逐项对比中英文文档:
- [ ] 英文版和中文版的命令数量一致
- [ ] 每个命令的参数数量和名称一致
- [ ] Required/必填 列的值一致
- [ ] 注意事项的条目数一致
- [ ] 双语切换链接(文件第一行)正确
---
### Phase 1.5: 更新 RAM 接口权限说明
**目的**:当新增或删除 OpenAPI 调用时,同步维护各命令文档中的「涉及接口」章节,以及 README 中的 RAM 权限汇总表,并向用户输出权限变更摘要供人工核查。
#### 1.5.1 识别接口变更
基于 Phase 0 的变更分析,确认哪些命令新增/删除/修改了 OpenAPI 调用:
- 读取相关 `cmd/*.go` 文件,统计调用的接口名(函数名即 Action)
- 每个 Action 对应的权限字符串:`agentbay:<ActionName>`
- 不统计本地 docker CLI 封装命令(`docker tag`、`docker push`)
#### 1.5.2 在 docs/ 中维护「涉及接口」章节
**位置**:每个子命令的参数表格之后(或注意事项之后)、`---` 分隔线之前。
**英文版模板**:
```markdown
**Involved APIs:**
| Action | Required Permission |
|---|---|
| `XxxAction` | `agentbay:XxxAction` |
```json
{
"Action": [
"agentbay:XxxAction"
]
}
**中文版模板**:
```markdown
**涉及接口:**
| Action | 所需权限 |
|---|---|
| `XxxAction` | `agentbay:XxxAction` |
```json
{
"Action": [
"agentbay:XxxAction"
]
}
**规则**:
- 一个命令涉及多个接口时,表格按调用顺序列出所有 Action,JSON 数组同样全部列出
- 无需区分分支条件,只要命令可能调用的接口均需列出
- 本地 CLI 封装命令(无 AgentBay API 调用)不加「涉及接口」表格,改用提示:
- 英文:`> **Note**: This is a native docker CLI wrapper — no AgentBay API calls are made. No additional RAM permissions required.`
- 中文:`> **注意**:此命令是本地 docker CLI 的封装命令,不调用任何 AgentBay OpenAPI 接口,无需配置额外的 RAM 权限。`
- `skills list`(占位命令)等尚无 API 调用的命令不加「涉及接口」章节
#### 1.5.3 更新 README RAM 权限汇总表
`README.md` 和 `README.zh-CN.md` 中的 `## RAM Permissions` / `## RAM 账号接口权限` 章节包含各命令组的权限汇总表和 Policy JSON 示例。
**更新规则**:
- 新增接口:在对应命令组的汇总表中追加行,并在 Policy JSON 的 `Action` 数组中追加权限字符串
- 删除接口:从表格和 Policy JSON 中移除对应行/条目(需先确认该接口在该命令组的其他命令中已无引用)
- 接口名变更:同步修改表格和 Policy JSON
**Policy JSON 格式参考**(`README.md`):
```json
{
"Version": "1",
"Statement": [
{
"Effect": "Allow",
"Action": [
"agentbay:XxxAction"
],
"Resource": "*"
}
]
}
⚠️ 执行本 skill 时,必须在终端输出以下格式的权限变更摘要,供用户核查是否有接口遗漏或误加:
========================================
RAM 接口权限变更摘要
========================================
受影响命令组:<group>
受影响命令:<group> <subcommand>
新增接口权限:
+ agentbay:XxxAction (<group> <subcommand>)
删除接口权限:
- agentbay:YyyAction (<group> <subcommand>)
无变更:(如无新增/删除则显示此行)
已同步位置:
- docs/en/<group>.md — <subcommand> 涉及接口章节
- docs/zh/<group>.md — <subcommand> 涉及接口章节
- README.md — RAM Permissions > <group> 命令组
- README.zh-CN.md — RAM 账号接口权限 > <group> 命令组
请核查上述权限变更是否正确,如有遗漏请告知。
========================================
输出时机:在完成所有文档更新后,统一输出一次摘要。如果本次变更无 OpenAPI 调用变化(纯参数修改、文档格式调整等),则输出「无接口权限变更」。
原则:README 表格只做概要展示,不展示详细参数。更新时保持表格格式不变。
README.md 中搜索 ## Command Overview。
README.zh-CN.md 中搜索 ## 命令概览。
新增子命令:在对应命令组的 Commands 列中,按逻辑序追加子命令名(用反引号包裹,逗号分隔)。
例如新增 apikey status 命令后:
`create`, `enable`, `disable`, `delete`, `list`, `status`, `concurrency set``create`, `enable`, `disable`, `delete`, `list`, `status`, `concurrency set`修改子命令:如果命令重命名,替换旧名为新名。
关键约束:
Details 列的链接不变原则:llms.txt 和 llms-full.txt 是 AI 助手优先读取的对外文档入口。只要本 skill 修改了 README.md 或 docs/en/**,就必须同步生成 llms-full.txt。
llms-full.txt触发条件:
README.md 有变更docs/en/** 对外文档有变更scripts/build-llms-full.sh 的 FILES 数组执行:
bash scripts/build-llms-full.sh
要求:
llms-full.txt,它应由脚本生成。llms-full.txt 不应包含 docs/internal/** 的 Source 标记。llms.txt触发条件:
要求:
llms.txt 使用 GitHub master 分支绝对 URL。docs/internal/**、test/**、.aoneci/**、scripts/README.md 等内部/开发文档。LLM-facing docs readiness:
- llms-full.txt: Updated / Not needed(说明原因)
- llms.txt: Updated / Checked, no change needed(说明原因)
- 触发依据: README.md / docs/en/** / 文档结构变化 / 无
原则:日常命令文档同步阶段只确认本次变更能被发版阶段正确采集;不得再运行旧的 git-cliff -o CHANGELOG.md / make changelog 全量覆盖流程。真正的双语版本段生成、翻译、tag 发布和 GitHub Release notes 回灌,统一交给 bilingual-changelog-release skill。
根据本次变更类型,为后续 commit/PR title 建议 Conventional Commits:
| 变更 | 推荐 commit / PR title |
|---|---|
| 新增命令 / 新增参数 | feat(<group>): add ... |
| 修复用户可见问题 | fix(<group>): ... |
| 文档说明变更 | docs(<group>): ... |
| 不改变行为的重构 | refactor(<group>): ... |
| 不兼容变更 | feat(<group>)!: ... 或 footer BREAKING CHANGE: |
要求:
<group> 优先使用 apikey、image、network、skills、docker、core、client以下操作只允许在 bilingual-changelog-release skill 中执行:
make release-prep VERSION=X.Y.Z
bash scripts/extract-changelog-section.sh X.Y.Z CHANGELOG.md
bash scripts/backfill-release-notes.sh --tag vX.Y.Z
以下旧流程禁止在本 skill 中使用,避免覆盖已人工修订的中文版本段:
make changelog
git-cliff -o CHANGELOG.md
make changelog 仅作为紧急修复历史 CHANGELOG 的 legacy target,必须经用户明确同意后使用。
先判断意图:
bilingual-changelog-release。CHANGELOG.md,而是给出符合规范的 commit/PR title 建议,并确认 docs/README 已同步。bilingual-changelog-release,先改 CHANGELOG.md 源,再 backfill。完成本 Phase 后输出:
CHANGELOG readiness:
- 推荐 commit/PR title: <type>(<group>): <subject>
- 是否进入 CHANGELOG: Yes/No(说明原因)
- 发版时执行: make release-prep VERSION=X.Y.Z
- 当前未运行 git-cliff -o CHANGELOG.md,避免覆盖双语版本段
docs/en/<group>.md 已更新(新增节或修改已有节)docs/zh/<group>.md 已更新(与英文版结构一致)README.md RAM Permissions 表格已更新(新增/删除接口时)README.zh-CN.md RAM 账号接口权限表格已更新README.md Command Overview 表格已更新README.zh-CN.md 命令概览表格已更新README.md 或 docs/en/**,已执行 bash scripts/build-llms-full.shllms-full.txt 已随源文档同步更新,或已明确说明无需更新llms.txt 导航链接已同步llms.txt / llms-full.txt 未收录 docs/internal/** 内容git-cliff -o CHANGELOG.md / make changelogbilingual-changelog-release skillbilingual-changelog-releaseCHANGELOG.md 源,再通过 backfill 同步 GitHub ReleaseREADME.md 或 docs/en/**,必须执行 bash scripts/build-llms-full.sh 并同步 llms-full.txt;文档结构变化时检查 llms.txt