用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/TencentBlueKing/blueking-dbm --skill tapd-todo命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
正在显示 SKILL.md
基于 SOC 职业分类
| name | tapd-todo |
| description | 根据 TAPD 单据/需求 ID 拉取需求与备注,生成 OpenSpec 变更提案 |
| disable-model-invocation | true |
Input:/tapd-todo 之后的参数为 TAPD 单据/需求 ID(短 ID、长 ID)或需求链接。若未提供,用 AskQuestion
tool(开放式提问)询问:"请提供 TAPD 需求 ID 或需求链接。"
本项目前端与后端为分开的两个仓库,联调依赖 TAPD 备注同步:在哪个仓库运行本命令,就把该端记为
SELF(优先实现),对端记为 PEER(需其确认/配合的方案写入 TAPD 备注)。
user-tapd_mcp_http(TAPD):需处于 ready 状态;若为 needsAuth 或调用报鉴权错误,先调用其 mcp_auth
再重试。openspec CLI(用于创建变更与产物)。agent-flow.config.json(含 projectId 与 members 角色成员配置)。TAPD 工具统一调用方式:先用 lookup_tool_param_schema 获取参数 schema(不确定用哪个工具时先用 lookup_tapd_tool
语义检索),再用 proxy_execute_tool 执行。下文只点名要用的工具,参数一律以 schema 为准。
用 TodoWrite tool 跟踪以下清单并逐项推进:
- [ ] 1. 读取 agent-flow.config.json 获取 projectId、成员角色配置,并判定当前仓库方向(前端/后端)
- [ ] 2. 拉取需求数据:长 ID → 需求详情 → 子需求 → 备注/评论(顺序不可颠倒,先读懂描述再读备注)
- [ ] 3. 按评论人角色解读备注,据此校正实现方案(按仓库方向优先实现本端)
- [ ] 4. 需求澄清结束后,将本端实现方案精简备注到 TAPD
- [ ] 5. 以长 ID 为标记创建 OpenSpec 变更
- [ ] 6. 依次生成 proposal / specs / design / tasks
- [ ] 7. 严格校验并汇报
按 agent-flow-config skill 读取项目根目录
agent-flow.config.json(成员昵称解析、缺失与非法配置的处理均以该 skill 为准):projectId 作为 TAPD
workspace_id;members 用于解读评论意图与撰写评论时 @ 对应角色,本命令只用其 tapdname。
判定当前仓库方向(决定 SELF / PEER):
repoType 字段(frontend / backend)。package.json + src/(Vue/TS 等)→ 前端;存在
manage.py/go.mod/pom.xml/requirements.txt 等后端工程标志 → 后端。按下列顺序依次拉取,顺序不可颠倒:需求描述是主输入,备注是对它的补充与联调修订,必须先读懂描述再读备注。
stories_get 的 id
参数支持短 ID 自动转长 ID;用户给需求链接(形如
https://tapd.woa.com/tapd_fe/{workspace_id}/story/detail/{long_id})时,只取链接末尾的长 ID,不要用链接里的
workspace_id——它是 TAPD 项目 ID,与 agent-flow.config.json 的 projectId 是两套体系,workspace_id
始终用配置文件里的 projectId。stories_get 按 ID 取标题、状态、描述。返回 count
为 0 说明需求不存在或不在当前项目,停止并告知用户核对 ID。描述(description)是生成提案的核心输入。children_id 非空(不为 "" 或 "|")时,再用 stories_get
按父需求拉子需求,其标题/描述用于细化 specs 与 tasks;为空跳过。comments_get
拉该 story(entry_type=story)的评论,超过单页时翻页拉全;无评论则跳过。备注中常见联调信息:PEER
已确认/待确认的接口契约、字段定义、状态枚举、时间点、边界与依赖等。用评论作者字段(如 author/created_by)与 members
匹配出角色,再据角色理解该条评论真正想表达什么,不要只按字面理解:
| 角色 | 评论意图通常指向 |
|---|---|
product | 需求范围、业务规则、交互与文案口径、验收标准、优先级——是需求侧的裁定者 |
backend | 接口契约、字段与类型、状态枚举、数据来源与时序、性能与边界 |
frontend | 页面交互、展示形态、前端依赖的接口/字段诉求、兼容与降级 |
| 未匹配到角色 | 按内容推断角色后再解读,并在方案中标注该结论来源不确定 |
冲突处理:需求范围/验收口径以 product
的评论为准;各端技术实现细节以该端角色(backend/frontend)的评论为准;同角色多条评论以最新一条为准;备注与需求描述冲突时以最新备注为准(备注通常是后续联调修订),并在 proposal/design 中注明该调整来源。
单据与代码现状冲突时同样不自行选边:单据是写下来的意图,代码现状是没写下来的意图(刻意保留的分支、看似多余的守卫)。先弄清现有实现在区分什么,能同时满足两个意图就给兼容判据,不能则列入 design 的 Open Questions 请 product 裁定。
据此校正实现方案:
PEER 确认」。第 3 步方案定稿(即需求澄清结束)后,把 SELF 端将要实现的方案以精简形式备注到 TAPD,便于产品与 PEER
高效对齐。执行 comments_create,遵循「TAPD 评论撰写规范」。
只写关键内容,控制在一屏内:
【<SELF 端>方案|需求 <long_id>】
## 接口定义
- `GET /apis/xxx/` 用途:xxx(`PEER` 提供)
## 字段定义
| 字段 | 类型 | 说明 |
| ----- | ------ | ---- |
| `xxx` | string | xxx |
## 改动方案
- xxx 页面新增 xxx,复用 xxx 组件
- xxx 逻辑调整为 xxx
## 待确认
- @<产品成员> xxx 场景的口径确认
- @<对端成员> xxx 接口是否可提供 xxx 字段
约束:
SELF 端方案与需要 PEER 配合的诉求;PEER 端的详细实现方案在 /openspec-apply-change
阶段另行备注,两者不重复。按 /openspec-propose 执行:store 选择、产物必需集合与依赖顺序、skipped 与条件产物的跳过规则等流程细节均以该 skill 和
openspec instructions 的返回为准,本节只补充 TAPD 相关约定,不重复流程。
openspec new change "story-<long_id>"(例:story-1020452995135891652)。spec.md 用
### Requirement: + #### Scenario:(场景必须 4 个 #);design 结合本仓库实际代码给出技术决策;tasks 用
- [ ] X.Y 可勾选任务。openspec validate "story-<long_id>" --strict
通过后汇报变更名称、位置、产物清单。本命令只产出规划产物、不改动项目代码,汇报后停止,等用户另行发起
/openspec-apply-change 再进入实现。所有写入 TAPD 的评论(第 4 步的本端方案、/openspec-apply-change 阶段的对端方案)统一遵循:
members.product 的成员;需要后端确认的点 @
members.backend;需要前端确认的点 @ members.frontend。tapdname,不用 githubname。@张三 xxx 是否 xxx),不在开头笼统 @ 一串人。comments_create 必须带 notify="1",否则被 @ 的成员收不到通知;无 @ 时不传 notify。执行 /openspec-apply-change 实现任务时,若发现改动涉及 PEER
端方案变动(新增/变更接口、字段、状态枚举、存储、流程、交互契约等),先向用户提供一个可选项,由用户确认后再继续:
检测到本次改动涉及
PEER端方案变动。是否采用「本端优先」模式:生成PEER端实现详细方案并备注到 TAPD 单,本次仅开发实现SELF端部分?
PEER 端实现详细方案(接口定义、请求/响应字段、状态与枚举、流程与边界、对 SELF
端的契约影响);与第 2 步读到的对端约定、第 4 步已备注的内容对齐,只补充增量,避免重复或冲突。comments_create 备注到对应需求单,遵循「TAPD 评论撰写规范」。SELF 端部分,PEER 端相关任务在 tasks.md 中标注为「待 PEER / 本端优先,暂缓」并跳过实现。story-<long_id>),不用短 ID;内容语言与需求一致(本项目为中文)。PEER 端接口/协议未明确的部分,在 design 的 Open Questions 与 tasks 中显式标注「待确认」。notify="1"。