Summary
Use when 需要在 dlc-dev 的 Spec Pack 中执行 I1(实现计划),把 requirements/design 转成 `{FEATURE_DIR}/implementation/plan.md`(Spec 级编排 SSOT),并在多任务协作场景下可选初始化 Task Pack(`implementation/tasks/*`);阶段与状态词汇见 `./assets/collaboration_stages_and_states.md`。
zixun-github/ai-dlc · Archived
Use when 需要在 dlc-dev 的 Spec Pack 中执行 I1(实现计划),把 requirements/design 转成 `{FEATURE_DIR}/implementation/plan.md`(Spec 级编排 SSOT),并在多任务协作场景下可选初始化 Task Pack(`implementation/tasks/*`);阶段与状态词汇见 `./assets/collaboration_stages_and_states.md`。
npx skills add zixun-github/ai-dlc --skill spec-plan
Use when 需要在 dlc-dev 的 Spec Pack 中执行 I1(实现计划),把 requirements/design 转成 `{FEATURE_DIR}/implementation/plan.md`(Spec 级编排 SSOT),并在多任务协作场景下可选初始化 Task Pack(`implementation/tasks/*`);阶段与状态词汇见 `./assets/collaboration_stages_and_states.md`。
This repository is archived — consider an actively maintained alternative.
Use when executing implementation plans with independent tasks in the current session
5 installsUse when 需要在 dlc-dev 的产品需求 Spec 流程执行 R2,将 requirements/solution.md 转写为可交付、…
5 installsUse when 在 dlc-dev 的 spec 分支上需要完成 R1(raw→solution)的需求澄?
5 installsUse when 需要在 Spec 级设计阶段执行 D1 research(产出 `{FEATURE_DIR}/design/research.md`),或…
5 installsRelated neighbors and high-traction skills in the same topics — useful to compare before installing.
Guidance for distinctive, intentional visual design when building new UI or reshaping an existi…
866.4K installsBrowser automation CLI for AI agents. Use when the user needs to interact with websites, includ…
810.4K installsReview UI code for Web Interface Guidelines compliance. Use when asked to "review my UI", "chec…
617.3K installsBuild, deploy, evaluate, optimize, fine-tune, and manage Microsoft Foundry agents, models, and …
576.5K installsDebug Azure production issues on Azure using AppLens, Azure Monitor, resource health, and safe …
568.9K installsOther skills from zixun-github/ai-dlc · top by installs.
npx skills add zixun-github/ai-dlc
Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.
master
Files included with this skill beyond the listing page.
SKILL.md
15,813 B
SUMMARY.md
349 B
I1 的目标是把 {FEATUREDIR}/requirements/ 与 {FEATUREDIR}/design/ 转换为可直接执行的实现编排:主产物为 {FEATUREDIR}/implementation/plan.md(Spec 级 SSOT:任务列表、依赖、AC 映射、分支映射、Phase C 门禁、整体进度摘要)。 启用 Task Pack / 多任务协作 时,同步在 {FEATUREDIR}/implementation/tasks/<TASK_DIR>/ 落盘任务级 SSOT(task.md、status.yaml、review.md,按需 research.md、design.md),将高频执行态从 plan.md 下沉,避免多人争抢单文件。 单人单分支退化:可不创建 implementation/tasks/,仍在 plan.md 内展开完整步骤与勾选(与历史 I1 兼容)。
开始时宣布:「我正在使用 spec-plan 技能创建实现计划(plan.md SSOT)。」
- 你需要产出或更新 {FEATURE_DIR}/implementation/plan.md(I1 必做)。 - 你准备进入 I2 执行,但当前没有“可勾选 + 可执行”的任务清单。
- spec-context 失败、拿不到 FEATURE_DIR(此时必须停止)。 - 输入侧 SSOT 不足:requirements/solution.md 与 requirements/prd.md 都不存在,且无法追溯范围/验收(必须在 plan.md 标注 NEEDS CLARIFICATION 并阻断进入 I2)。
REQUIRED SUB-SKILL:正在执行 spec-context 获取上下文,并在对话中回显 FEATURE_DIR=...(允许 (reuse))。
立刻停止(满足其一即可):
FEATURE_DIR.aidlc/specs/... 路径”)requirements/solution.md 与 requirements/prd.md 均缺失,导致目标/范围/验收口径无法追溯plan.md/## NEEDS CLARIFICATION,并明确“阻断进入 I2”)- 项目级(必读其索引或必要片段):project/memory/*、project/contracts/、project/adr/ - 优雅降级:若 .aidlc/project/ 不存在或上述索引文件缺失,标注 CONTEXT GAP 但不阻断 I1 流程;在 plan.md 的"影响范围与约束"段落中注明相应缺口来源为 CONTEXT GAP,并建议后续通过 Discover 或实际验证补齐 - Spec 级(按需最少读):{FEATUREDIR}/requirements/solution.md 或 {FEATUREDIR}/requirements/prd.md(至少其一) - 影响分析(强制,若有 solution.md):必须读取 {FEATUREDIR}/requirements/solution.md#impact-analysis,提取受影响模块清单与需遵守的不变量,作为 I1 的约束输入(缺失则停止并回到 R1 补齐) - Spec 级(如存在且相关):{FEATUREDIR}/design/design.md、{FEATURE_DIR}/design/research.md - .gitmodules(如存在;用于识别可参与实现的 submodule 静态清单)
- 必写:{FEATUREDIR}/implementation/plan.md - 可选(多任务 / 协作):对每个任务目录 {FEATUREDIR}/implementation/tasks/<TASK_DIR>/ 初始化 Task Pack(从本技能 assets/ 模板复制并填实): - task.md ← assets/task-template.md - status.yaml ← assets/task-status.template.yaml - review.md ← assets/task-review-template.md - 按需:research.md ← assets/task-research-template.md;design.md ← assets/task-design-template.md
以下脚本位于本技能 ./scripts/(源文件为 ASCII,避免 Windows PowerShell 5.1 在无 BOM 下解析 UTF-8 中文失败)。在消费仓库执行;当前分支可为 Spec 分支或任务分支(001-foo/T1-bar),亦可用 -FeatureDir 显式传入 Spec Pack 路径。
| 脚本 | 作用 |
|---|---|
task-collab-common.ps1 |
内部模块:点号加载,勿单独执行 |
init-task-pack.ps1 |
从 assets/ 模板生成 implementation/tasks/<TaskDir>/ |
new-task-branch.ps1 |
从 Spec 分支创建并切换 SpecBranch/TaskDir |
sync-task-status-summary.ps1 |
只读汇总各 status.yaml(可加 -Json) |
test-phase-c-gate.ps1 |
Phase B→C 任务级门禁(routing_status 全为 done、无 blocked) |
validate-task-branch.ps1 |
§13.3:任务分支门禁(Task Pack 目录须存在,可挂 pre-push) |
set-task-review-state.ps1 |
§13.3:写 in_review / task-review |
update-task-status-after-merge.ps1 |
§13.3:合回 Spec 后将任务标为 done |
test-spec-integration-gate.ps1 |
§13.3:调用 phase-c gate + 可选 -RequireCleanWorkingTree |
Git hook 样例:assets/githooks-pre-push-validate-task-branch.sample.ps1
示例(在消费仓库根目录,且已切到对应 Spec 或任务分支):
powershell -NoProfile -ExecutionPolicy Bypass -File "<SKILL_DIR>/scripts/init-task-pack.ps1" -TaskDir T1-user-api -Title "Login API"
powershell -NoProfile -ExecutionPolicy Bypass -File "<SKILL_DIR>/scripts/new-task-branch.ps1" -TaskDir T1-user-api
powershell -NoProfile -ExecutionPolicy Bypass -File "<SKILL_DIR>/scripts/sync-task-status-summary.ps1"
powershell -NoProfile -ExecutionPolicy Bypass -File "<SKILL_DIR>/scripts/test-phase-c-gate.ps1"
powershell -NoProfile -ExecutionPolicy Bypass -File "<SKILL_DIR>/scripts/validate-task-branch.ps1"
powershell -NoProfile -ExecutionPolicy Bypass -File "<SKILL_DIR>/scripts/set-task-review-state.ps1" -TaskDir T1-user-api
powershell -NoProfile -ExecutionPolicy Bypass -File "<SKILL_DIR>/scripts/update-task-status-after-merge.ps1" -TaskDir T1-user-api -PrUrl "https://example.com/pr/1"
powershell -NoProfile -ExecutionPolicy Bypass -File "<SKILL_DIR>/scripts/test-spec-integration-gate.ps1" -RequireCleanWorkingTree
与
spec-context的关系:spec-context已支持任务分支并输出TASKWORKBRANCH/TASKDIR/TASKPACKDIR;worker 仍须先spec-context拿FEATUREDIR。脚本面向人机 / CI,通过分支名或-FeatureDir解析,不替代spec-context门禁。Router 补充见using-aidlc的router/routing-collaboration.md。
每一步是一个动作(2–5 分钟),并在 plan.md 中写到“任何人照抄即可执行”:
AUTOCOMMIT=false 时标记为"跳过(AUTO_COMMIT=false)"并列出变更文件清单)- 一步约束:I1 只写计划,不写代码;但每个任务必须声明其最小验证方式(命令 + 期望信号)。
plan.md 头部(必须)必须以该头部开头(完整结构见 ./assets/plan-template.md,含 AC 映射、任务依赖、任务索引、Phase C 门禁 等协作字段):
# [需求名] 实现计划(SSOT)
> **必需技能:** `spec-execute`(按批次执行本计划)
> **上下文获取:** 必须先执行 `spec-context` 获取上下文,定位 `{FEATURE_DIR}`,失败即停止
**目标:** [一句话描述要交付什么]
**范围:** In / Out
**架构:** [2–3 句方法说明 + 关键约束]
**验收口径:** [引用 requirements/solution.md 或 requirements/prd.md 的 AC/验收点]
**影响范围:** [引用 requirements/solution.md#impact-analysis 的受影响模块清单]
**需遵守的不变量:** [从 requirements/solution.md#impact-analysis 提取的关键 API/Data 契约不变量]
**子仓范围:** [若存在 `.gitmodules`,列出本次需求涉及的 submodule;无则写“无”]
---
status.yaml 中的 depends_on 一致)implementation/tasks/... 路径(启用 Task Pack 时推荐)- 受影响模块清单及影响类型(引用 requirements/solution.md#impact-analysis) - 需遵守的 API/Data 契约不变量(逐条列出,标注来源模块/锚点) - 跨模块影响与协调事项(基于依赖关系图/影响分析)
- 从 .gitmodules 引用受影响子仓路径 - 标记每个子仓是否 required - 默认分支要求:与根项目 CURRENTBRANCH 同名 - 若存在例外,显式记录 exceptionreason
plan.md 内必须包含可勾选的任务清单(- [ ]/- [x])。勾选粒度为任务完成(Task done),而非每一个微步骤。
plan.md 内写全量步骤、验证与审计(历史模式)。plan.md 保留任务级摘要、索引与完成勾选;完整步骤与高频状态写入对应目录的 task.md 与 status.yaml(详见 ./assets/task-template.md)。每个任务必须包含(在 plan.md 和/或对应 task.md 中补全,整体不可缺):
branch/commit/pr/changed_files)任务模板(示例骨架):
## 任务清单(SSOT)
### Task T1: [任务标题]
- [ ] **状态**:未开始 / 进行中 / 完成 / 阻塞(阻塞必须写明取证路径)
**代码仓范围:**
- 根项目:
- 子仓:(如适用;填写 `.gitmodules` 中的路径,并注明 `required=true/false`)
**文件:**
- 创建:`exact/path/to/new.file`
- 修改:`exact/path/to/existing.file`(可选:精确到段落/函数)
- 测试:`tests/exact/path/to/test.file`(如适用)
**验收点:**
- [可验证条件 1]
- [可验证条件 2]
**步骤 1:写失败测试(如适用)**
- 修改点:`tests/...`
- Run: `[精确命令]`
- Expected: FAIL(写出期望看到的关键失败信号)
**步骤 2:写最少实现**
- 修改点:`path/to/file`
**步骤 3:运行验证**
- Run: `[精确命令]`
- Expected: PASS(写出期望看到的关键通过信号)
**步骤 4:提交(受 AUTO_COMMIT 控制)**
- `AUTO_COMMIT=true`(默认):频繁提交;commit message 必须中文
- Commit message: `[一句话说明 why(中文)]`
- `AUTO_COMMIT=false`:跳过自动提交,输出"以下文件已变更,请手动提交:"及变更文件清单
- 审计信息:
- repo: `root`
branch: `{CURRENT_BRANCH}`
commit: `<TBD>`(`AUTO_COMMIT=false` 时填"手动提交")
pr: `<TBD>`
changed_files: `<TBD>`
- repo: `<submodule path>`(如适用)
branch: `{CURRENT_BRANCH}`
commit: `<TBD>`(`AUTO_COMMIT=false` 时填"手动提交")
pr: `<TBD>`
changed_files: `<TBD>`
命令书写约定:默认面向 PowerShell;同一行多命令请用
;分隔(不要用&&)。
{FEATUREDIR}/requirements/、{FEATUREDIR}/design/ 一致且可追溯requirements/prd.md 或 requirements/solution.md)plan.md 包含"影响范围与约束"段落,受影响模块与需遵守的不变量已从 requirements/solution.md#impact-analysis 提取并逐条列出.gitmodules 存在且影响分析命中子仓:plan.md 已声明受影响子仓、required 标记、默认同名分支要求与例外原因plan.md 内存在“任务清单(SSOT)”,且每个任务包含:文件路径、验收点、最小验证方式、提交点与审计信息(可分布在 plan.md 与 Task Pack task.md 中,但合并后须满足)plan.md 含 任务索引(指向 implementation/tasks/...),且各包内 status.yaml 的 routingstatus / activitystage / depends_on 与计划一致NEEDS CLARIFICATION,且未消除前不得进入 I2spec-context 获取上下文,拿到 FEATURE_DIR=...,失败就停止NEEDS CLARIFICATION 并阻断 I2AUTOCOMMIT=false 时提交步骤标记为"跳过(AUTOCOMMIT=false)"并改为列出变更文件清单)保存计划后,本技能不再决定“下一步/执行方式”。统一做法:
{FEATURE_DIR}/implementation/plan.md 已落盘,且是 Spec 级编排 SSOT(若已初始化 Task Pack,任务级执行 SSOT 在 implementation/tasks/*)using-aidlc 路由下一步(通常路由到 I2:spec-execute,再到 Finish:finishing-development)using-aidlc 明确路由结论后再开始执行(避免出现第二个路由源)plan.md 落盘后,必须完成以下动作(按顺序,不可省略):
ROUTER_SUMMARY:
stage: I1
artifacts:
- "{FEATURE_DIR}/implementation/plan.md"
needs_human_review: false
blocked: false
block_reason: ""
notes: "软检查点:plan.md 建议评审;如不触发硬中断 Router 可继续自动推进"
using-aidlc:将上述 ROUTER_SUMMARY 作为路由输入传递给 using-aidlc,由 Router 判定下一步并自动推进(无需等待用户说「继续」)。- 若 Router 判定可自动续跑:在同一轮对话内继续执行下一步 worker skill(如 I2、Finish 等) - 若 Router 触发硬中断:停下并输出阻断原因、需要的输入、候选下一步