ワンクリックで
tapd-story-commit
迭代执行流水线提交阶段。在主会话中直接执行(不走 subagent),负责: 变更统计、成本数据汇总、构建 commit 信息、git 提交、TAPD 状态更新。 是 pipeline 中唯一在主会话执行的子 skill。
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
迭代执行流水线提交阶段。在主会话中直接执行(不走 subagent),负责: 变更统计、成本数据汇总、构建 commit 信息、git 提交、TAPD 状态更新。 是 pipeline 中唯一在主会话执行的子 skill。
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
bscp(蓝鲸基础配置平台)文件型配置只读查看指引。为挂载了 bk-bscp-prod-file-manage 的模型补充 MCP 工具 schema 表达不了的领域知识:文件型(config_type=file)配置的领域模型、只读查看编排、 参数获取、字段级业务约束与报错处置,帮助模型正确完成"定位服务 → 查询配置项元数据 → 取下载 URL 查看文件内容"闭环。 Use this skill whenever the user asks to 查看 bscp 文件配置, 看某文件型服务的配置, 查询文件配置项, 看文件配置内容, 取文件下载 URL 查看文件内容, or invokes bk-bscp-prod-file-manage 的文件型配置项查询 / 文件下载 URL 工具。
bscp(蓝鲸基础配置平台)KV 配置操作指引。为挂载了 bk-bscp-prod-server-mcp 的模型补充 MCP 工具 schema 表达不了的领域知识:领域模型、端到端调用编排、参数获取、字段级业务 约束、报错处置与场景化示例,帮助模型正确完成"改 KV → 生成版本 → 发布 → 验证"闭环。 Use this skill whenever the user asks to 操作 bscp 配置, 改 bscp KV, 新增/更新/删除 KV, 发布 bscp 版本, 灰度发布, kv 配置查询/更新/发布, 看看某个服务的配置, 帮我发版, or invokes any bk-bscp-prod-server-mcp Config_* tool (CreateKv/UpdateKv/DeleteKv/BatchUpsertKvs/CreateRelease/Publish 等).
TAPD 需求澄清技能。从 TAPD 提取"规划中"状态的需求,按照研发最佳实践对需求进行 多维度澄清(业务逻辑、外部系统交互、上下文),整合项目背景知识,输出符合需求文档 规范的标准化 Markdown 需求文档,并回写 TAPD。 Use this skill whenever the user mentions 需求澄清, 澄清需求, clarify story, clarify requirement, 需求细化, 需求整理, 需求规范化, 补充需求, 完善需求描述, story clarification, requirement clarification, 需求文档整理, or any workflow involving TAPD story description refinement and standardization.
TAPD 需求评估技能。基于规范需求文档进行逻辑分析,进行子需求拆分和 RICE 价值规模评分。 包含两个子技能:tapd-story-breakdown(需求拆分)和 tapd-story-score(价值规模评分)。 Use this skill whenever the user mentions 需求评估, 评估需求, 需求拆分, 拆分需求, 规模评分, RICE 评分, 价值评分, 需求规模, story evaluation, story breakdown, story scoring, evaluate requirement, break down story, RICE score, or any workflow involving TAPD story decomposition and value scoring.
TAPD 需求拆分子技能。对大需求进行拆分,输出各子需求的规范需求文档,严格控制 子需求的内容规模,保障研发交付内容可控、易于测试验证。本技能作为 tapd-story-evaluation 的子技能被调用,不独立触发。
当用户执行 /opsx:propose(或 /opsx-propose)、/opsx:apply(或 /opsx-apply)、/opsx:explore(或 /opsx-explore)、/opsx:archive(或 /opsx-archive)时触发。将 OpenSpec 文档管理与 Superpowers 质量工程能力集成为统一开发流程。
| name | tapd-story-commit |
| slug | tapd-story-commit |
| version | 2.0.0 |
| description | 迭代执行流水线提交阶段。在主会话中直接执行(不走 subagent),负责: 变更统计、成本数据汇总、构建 commit 信息、git 提交、TAPD 状态更新。 是 pipeline 中唯一在主会话执行的子 skill。 |
commit 是 pipeline 的终结阶段——代码已通过全部校验(架构/安全/CodeReview), 本阶段负责"收尾":统计成果、记录度量、提交代码、更新外部状态。
本子 skill 在主会话中直接执行,不通过 speckit-executor-agent。 原因:commit 操作需要完整的 git 权限和 TAPD MCP 访问,且无 speckit 命令可调用。
meta.yaml.phase 为 validatedmeta.yaml.implement_baseline_commit 已存在(implement 阶段写入)${WORKDIR}/meta.yaml(读取 implement_baseline_commit / stats.cost / history / workspace_id)${WORKDIR}/context.md(Code scope 白名单,用于确认变更范围)统计本需求从 implement 开始到当前的全量代码变更。
基线:meta.yaml.implement_baseline_commit
对比目标:当前工作区(HEAD)
统计维度:
| 指标 | 说明 |
|---|---|
total | 总变更行数(新增 + 删除) |
add_code | 新增行数 |
delete_code | 删除行数 |
logic_code | 非测试、非文档的代码文件变更行数 |
test_code | 测试文件变更行数(*_test.* / *_spec.* / test_*.*) |
docs | 文档文件变更行数(*.md / *.txt / *.rst) |
files | 变更文件数 |
使用 git diff --numstat <baseline> 获取原始数据,按文件后缀归类。
从 meta.yaml.stats.cost 读取已由 pipeline 主编排实时累加的成本度量数据,汇总两个维度。
直接读取 cost 的顶层 total 字段:
| 指标 | 来源字段 |
|---|---|
| 总耗时 | cost.total_duration_sec(秒) |
| 总成本 | cost.total_credit(积分;同 cost.total_cost_usd) |
| 总输入 tokens | cost.total_input_tokens |
| 总输出 tokens | cost.total_output_tokens |
| 总缓存 tokens | cost.total_cache_tokens |
| subagent 调用次数 | cost.subagent_calls |
遍历 cost.per_call[],按 stage 字段分组聚合(duration_sec / credit / input_tokens / output_tokens / cache_tokens / calls),将结果写入 meta.yaml.stats.cost.per_stage。
stage 取值:clarify / specify / plan / tasks-generate / tasks-analyze / implement / validate-arch / validate-security / validate-codereview / validate-fix
将步骤 2 的代码变更统计写入 meta.yaml.stats(与已有的 cost 字段并列):
stats:
total: <TOTAL>
add_code: <ADD_CODE>
delete_code: <DELETE_CODE>
logic_code: <LOGIC_CODE>
test_code: <TEST_CODE>
docs: <DOCS>
files: <FILES>
cost:
# ... 已有字段不变,新增 per_stage ...
per_stage: { ... }
started_at/end_at不由本子 skill 维护——开始时间在history[0].ts, 结束时间在最新history条目的ts。
meta.yaml.phase 为 committedmeta.yaml.history 追加成功记录,清空 meta.yaml.last_failure按 ../references/commit-conventions.md 规范构建 commit message:
--story=${ID}(关联 TAPD 需求)将 commit 信息保存到 ${WORKDIR}/commit.md,格式如下:
# Commit 记录
## Commit Message
<构建好的 commit message>
## Commit Hash
<git rev-parse HEAD 的输出>
## 变更统计
| 指标 | 值 |
|------|-----|
| 总变更行数 | <total> |
| 新增代码 | <add_code> |
| 删除代码 | <delete_code> |
| 逻辑代码 | <logic_code> |
| 测试代码 | <test_code> |
| 文档变更 | <docs> |
| 变更文件数 | <files> |
## 成本汇总
### 总体
| 指标 | 值 |
|------|-----|
| 总耗时 | <total_duration_sec> s |
| 总成本 | <total_credit> credit |
| 总输入 tokens | <total_input_tokens> |
| 总输出 tokens | <total_output_tokens> |
| 总缓存 tokens | <total_cache_tokens> |
| subagent 调用次数 | <subagent_calls> |
### 各阶段
| 阶段 | 耗时 | 成本 | 输入 tokens | 输出 tokens | 缓存 tokens | 调用次数 |
|------|------|------|------------|------------|------------|---------|
| <stage> | <duration_sec> s | <credit> credit | <input_tokens> | <output_tokens> | <cache_tokens> | <calls> |
| ... | | | | | | |
## 时间
- 开始时间:<history[0].ts>
- 完成时间:<当前 ISO 8601 时间>
git add -A
git commit -m "<commit message>"
commit后任何文件信息回填与补充都无需commit,会有其他流程处理。
使用 TAPD MCP stories_update 更新需求状态:
| 参数 | 值 | 来源 |
|---|---|---|
| workspace_id | TAPD 工作空间 ID | meta.yaml.workspace_id → project.json → 询问 |
| id | 需求 ID | pipeline 传入 |
| v_status | "for test" | 固定值 |
错误处理:
stories_update失败时不阻塞 git commit(代码提交是核心操作)。 失败信息记录到process.log,由人工后续在 TAPD 中补录。
将 meta.yaml.phase 更新为 committed。
commit 是 pipeline 终结阶段,通常不会被回退到。但以下场景需要幂等保证:
| 场景 | 处理 |
|---|---|
| git commit 因 hooks 失败 | 修复后重试,git add -A && git commit 幂等 |
| TAPD 更新失败 | 不阻塞,记录日志后正常推进 phase |
重复进入已是 committed 的 phase | pipeline 主编排检测到 phase==committed 直接退出(完工) |
| 中途崩溃后恢复 | meta.yaml 已是 validated → 重新执行全部步骤(幂等:git add -A 收集相同内容,commit message 重新生成) |
| 文件 | 用途 | 何时读取 |
|---|---|---|
../references/commit-conventions.md | Commit message 格式规范 | 步骤 6 构建 commit 信息时 |
../references/context-and-meta-template.md | meta.yaml stats 字段定义 | 步骤 4 写入统计时 |
${WORKDIR}/meta.yaml — stats 字段已填充(代码变更 + cost 汇总)${WORKDIR}/commit.md — Commit 记录文件(含变更统计 + 成本汇总 + 时间)committed