From omni
Executes implementation plans from tasks.md and design.md, processing tasks by phase, dependency, and TDD constraints. Manages context clearing and logs for long-running sessions.
How this skill is triggered — by the user, by Claude, or both
Slash command
/omni:implementThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
根据 tasks.md 中的任务分解与 design.md 中的技术计划,按阶段、依赖与 TDD 要求执行实施,并产出任务执行报告。
根据 tasks.md 中的任务分解与 design.md 中的技术计划,按阶段、依赖与 TDD 要求执行实施,并产出任务执行报告。
须按下面顺序执行:上一项未完成(或未达到其「可跳过」条件),不得进入下一项。**【关键规则】所有任务必须全部完成才能结束,包括:功能代码任务、测试任务(TDD/单元测试/集成测试)、文档任务。任何未完成任务都是不完整的交付。**每完成一项,在会话中勾选或明确回复「步骤 N 已完成」。涉及 clear 与 .cache/context_cost.log 的规则见「上下文成本日志」及 §1、§7。
clear(或 fork 豁免 + no_clear 行)、仅依赖落盘文件(见 §1)check-prerequisites、解析 FEATURE_DIR / AVAILABLE_DOCS(见 §2)FEATURE_DIR/checklists/;无该目录则本步记为跳过(见 §3)clear + 日志;下一批前重读 tasks.md 等(见 §7;实施中同时遵守 §8 规则与 §9 进度/错误处理)skill_end 日志行(见 §11)说明:§8(实施执行规则)、§9(进度与错误处理)不单独占序号,在 步骤 7 执行过程中持续遵守;若 §3 清单未通过且用户选择不继续,在 步骤 3 终止。
.cache/context_cost.log)<REPO_ROOT> = git rev-parse --show-toplevel(与步骤 2 一致)。在 <REPO_ROOT>/.cache/ 下只追加该文件,勿覆盖。每次 clear(或等价清理)须先写 before_clear、后写 after_clear(§1 入场、§7 每批等);读不到占用时 after_clear 填 unavailable。豁免 clear 时写一行:...|no_clear|reason=<说明>。
行格式(| 分隔,UTF-8):
<ISO8601>|implement|<事件>|before_clear|<Token 或 unavailable>
<ISO8601>|implement|<事件>|after_clear|<Token 或 unavailable>
事件示例:phase_start、batch:设置、batch:子批-1。技能结束见 §11,追加一行:<ISO8601>|implement|skill_end|context|<…>。
开始执行步骤之前,需要进行一些打点记录工作,记录本skill的执行时间到 start_time字段:
Get-Date -Format "yyyy-MM-dd HH:mm:ss"
linux: date +"%Y-%m-%d %H:%M:%S"start_time本技能一开始(进入步骤 2 之前)须完成下列事项,以降低上下文超限风险;不得跳过后续对文件的读取。
记录上下文规模
[implement 阶段开始] 上下文/Token:<数值或说明>。[implement 阶段开始] 上下文规模:不可用,然后继续。clear(或等价清理)之前,按「上下文成本日志」追加 before_clear;清理完成后追加 after_clear(事件标识 phase_start)。清理上下文
clear 指令(或等价「清空上下文」操作)清理当前对话上下文,再仅依据文件继续;清理后在回复中注明 [implement] 已执行 clear。context: fork(或等价机制)在隔离子会话中执行,在快照中注明 已 fork/隔离,可不再要求执行 clear/手动清历史,但仍须遵守第 3 条文件边界;豁免时按「上下文成本日志」写 no_clear 说明行。仅以前序产物为准
FEATURE_DIR 下已由前序步骤(specify / design / tasks 等)写入磁盘的文件;缺信息时打开文件读取,禁止仅凭对话记忆补全可能已过期的细节。scripts/powershell/check-prerequisites.ps1 --json --require-tasks --include-tasksscripts/bash/check-prerequisites.sh --json --require-tasks --include-tasks'I'\''m Groot' 或双引号 "I'm Groot"。(若存在 FEATURE_DIR/checklists/)
扫描 checklists/ 目录中的所有清单文件
对于每个清单, 统计:
- [ ] 或 - [X] 或 - [x] 的行- [X] 或 - [x] 的行- [ ] 的行创建状态表:
| Checklist | Total | Completed | Incomplete | Status |
|-----------|-------|-----------|------------|--------|
| ux.md | 12 | 12 | 0 | ✓ PASS |
| test.md | 8 | 5 | 3 | ✗ FAIL |
| security.md | 6 | 6 | 0 | ✓ PASS |
计算总体状态:
若有清单未完成
若所有清单均已完成
检测与创建逻辑
检查以下命令是否成功以判断是否为 Git 仓库(若是,则创建/验证 .gitignore):
git rev-parse --git-dir 2>/dev/null
存在 Dockerfile* 或 design.md 提及 Docker → 创建/验证 .dockerignore
存在 .eslintrc* 或 eslint.config.* → 创建/验证 .eslintignore
存在 .prettierrc* → 创建/验证 .prettierignore
存在 .npmrc 或 package.json 且需发布 → 创建/验证 .npmignore
存在 Terraform 文件 *.tf → 创建/验证 .terraformignore
存在 Helm charts → 创建/验证 .helmignore
若忽略文件已存在:校验是否包含基本模式,仅追加缺失的关键模式。 若忽略文件不存在:为检测到的技术创建完整模式集。
按技术栈的通用模式(参考 design.md):
node_modules/, dist/, build/, *.log, .env*__pycache__/, *.pyc, .venv/, venv/, dist/, *.egg-info/target/, *.class, *.jar, .gradle/, build/bin/, obj/, *.user, *.suo, packages/*.exe, *.test, vendor/, *.out.bundle/, log/, tmp/, *.gem, vendor/bundle/vendor/, *.log, *.cache, *.envtarget/, debug/, release/, *.rs.bk, *.rlib, *.prof*, .idea/, *.log, .env*build/, out/, .gradle/, .idea/, *.class, *.jar, *.iml, *.log, .env*build/, bin/, obj/, out/, *.o, *.so, *.a, *.exe, *.dll, .idea/, *.log, .env*build/, bin/, obj/, out/, *.o, *.a, *.so, *.exe, Makefile, config.log, .idea/, *.log, .env*.build/, DerivedData/, *.swiftpm/, Packages/.Rproj.user/, .Rhistory, .RData, .Ruserdata, *.Rproj, packrat/, renv/.DS_Store, Thumbs.db, *.tmp, *.swp, .vscode/, .idea/工具特定模式
node_modules/, .git/, Dockerfile*, .dockerignore, *.log*, .env*, coverage/node_modules/, dist/, build/, coverage/, *.min.jsnode_modules/, dist/, build/, coverage/, package-lock.json, yarn.lock, pnpm-lock.yaml.terraform/, *.tfstate*, *.tfvars, .terraform.lock.hcl*.secret.yaml, secrets/, .kube/, kubeconfig*, *.key, *.crt分阶段:完成当前阶段后再进入下一阶段
依赖:顺序任务按序执行,带 [P] 的并行任务可一并执行
TDD:在对应实施任务前执行测试任务
同文件协调:影响同一文件的任务须顺序执行
检查点:每阶段完成后验证再继续
【强制要求】所有任务必须完成:
【关键】测试任务的定义是"生成测试代码",不是"验证测试编译":
go test、pytest、npm test 等)验证编译,这依赖环境【关键】环境限制的处理原则:
tasks.md 中一个任务阶段(设置 / 测试 / 核心 / 集成 / 完善)内,本轮应执行的任务已全部完成,且本阶段检查点已通过、tasks.md 中对应项已更新为 - [X]。若单阶段任务过多、上下文增长过快,可将「一批」细分为更小的子批(例如每完成若干顺序任务、或每轮 [P] 并行任务全部结束)并在每个子批结束后同样执行下列清理。tasks.md 中本批任务已勾选,避免 clear 后丢失进度。clear(与 §1 第 2 条一致),并在回复中注明 [implement] 批次完成,已 clear:<阶段名或子批说明>。每次执行 clear 前、后,按「上下文成本日志」向 <REPO_ROOT>/.cache/context_cost.log 追加 before_clear / after_clear(事件标识使用 batch:<阶段名> 或 batch:子批-<说明>)。其他宿主用 §1 所述等价方式。若本技能始终在 context: fork 子会话中执行且宿主对子会话自动轮换,可按 §1 说明在快照中说明豁免条件,豁免时同样写入 no_clear 说明行;但仍须保证下一批从文件恢复状态。tasks.md(及 design.md 等 §4 所列文档)确认当前进度与约束,禁止仅凭对本批对话的长记忆继续实施。设置:初始化项目结构、依赖、配置
测试先行:按需为合约、实体、集成场景编写测试;当存在 FEATURE_DIR/e2e-impl-design.md 时,按照e2e 用例实施方法进行编写
核心开发:模型、服务、CLI、端点
集成:数据库、中间件、日志、外部服务
收尾:单元测试、性能与文档
e2e 用例实施(仅当存在 FEATURE_DIR/e2e-impl-design.md 时):
## 📋 e2e 用例实施校验报告
- 对比实施步骤与 tasks.md 定义的一致性: ✅
- 对比测试数据格式与 e2e-impl-design.md 约定: ✅
- 对比 Fake 对象使用与约定: ✅
- 对比验证逻辑实现与约定: ✅
- 对比入口函数签名与约定: ✅
- 偏离检查: 无偏离
- 校验结果: ✅ e2e 用例实现严格遵循约定,无任何偏移
- [X]。重新读取 tasks.md:获取最新状态,统计已完成(- [X])与未完成(- [ ])任务。
任务完成度验证
【关键】未完成任务必须继续执行:
任务执行处理
【关键】最终报告必须准确反映任务完成状态:
任务执行报告(需包含):
## 任务执行最终报告
### 总体统计
- 总任务数: X
- 已完成: Y (Z%)
- 未完成: W (V%)
- 可执行: A
- 无法完成: B
### 已完成任务列表
[列出所有已完成的任务ID和描述]
### 【重点】未完成任务列表(功能未完成,不得结束)
[列出所有未完成的任务ID和描述]
- 代码任务: [列表]
- 测试任务: [列表] ← 必须完成
- 文档任务: [列表]
### 无法完成的任务分析
[列出无法完成的任务, 包含:
- 任务ID和描述
- 阻塞原因(等待依赖/缺少资源/环境限制/需求问题/其他)
- 详细说明
- 解决建议]
下一步建议
技能结束时的上下文规模(与 §1 成对记录)
[implement 技能结束] 上下文/Token:<数值或说明>。[implement 技能结束] 上下文规模:不可用。<REPO_ROOT>/.cache/context_cost.log(与「上下文成本日志」同一文件):<ISO8601>|implement|skill_end|context|<上下文/Token 可读值或 unavailable>注意:本技能假定 tasks.md 中已有完整任务分解。若任务不完整或缺失,请先通过相应命令重新生成任务列表。
执行runlog-record skill,请将前面获取到的start_time的值作为参数传入runlog-record skill
npx claudepluginhub zte-aicloud/co-omnispec --plugin omniExecutes implementation plans by processing tasks from tasks.md, with vault logging, branch-based workflow tracking, and prerequisites validation.
Orchestrates multi-phase implementation from a structured plan, tracking task completion in an append-only progress ledger to prevent re-dispatch. Use with .planning/PLAN.md.
Executes implementation plans from tasks.md files with plan review, batch task processing, verifications, and code review checkpoints.