ss-implement
GitHubSerial Studio 工作流的第4阶段,负责执行已批准的 tasks.md。按顺序逐个完成任务,严格执行代码规范、验证及静态审查,确保变更符合计划且无新增错误,最终生成待提交记录。
触发场景
安装
npx skills add Serial-Studio/Serial-Studio --skill ss-implement -g -y
SKILL.md
Frontmatter
{
"name": "ss-implement",
"description": "Phase 4 of Serial Studio's spec-driven workflow: execute an approved tasks.md top to bottom, verifying each task and keeping the checklist current. Use after \/ss-tasks is approved, or \"implement the spec\", \"build it\", \"work the tasks\". Honors the hotpath, verify, and trust rules; never commits without explicit permission.",
"argument-hint": "[spec number or slug]"
}
Serial Studio — /ss-implement (phase 4 of 4)
Execute the approved tasks.md one task at a time, verifying as you go. This is the only phase
that writes code. See doc/claude/spec-driven.md.
Preconditions
doc/claude/specs/NNNN-slug/tasks.mdexists and itsstatus:isapproved.- Read
spec.md,plan.md, andtasks.mdin full before touching code. - Set
spec.mdstatus: in-progress.
Per-task loop
For each task in order:
- Read before writing. Read the target files in full this session — hotpath files
(
FrameBuilder,CircularBuffer,FrameReader,Dashboard) and existing signal/slot wiring are mandatory full reads (CLAUDE.md). Invokess-hotpathon any hotpath task,ss-cpp-modernwhen shaping non-trivial new C++. - Name the binding invariants before the first
Edit: restate in chat, in your own words, the invariant(s) the task's Does line carries (plus any the read surfaced). A constraint steers the edit only when named at the point of action, not when it sits in a doc you read earlier (doc/claude/j-space.md). - Make the change with targeted
Editcalls — edit, don't rewrite. Follow code-style.md: header ordering,[[nodiscard]], no in-header init,Q_EMIT, no in-body comments, 100-col, ASCII-only in source. - Verify the task:
python scripts/code-verify.py --check <changed files>. Resolve new errors before moving on (advisories are baseline debt, but new code clears them). Run the task's stated check (atests/scripts/JS unit you can run, or a read-back). - Mark it done — tick the task's box in
tasks.mdso the file stays a live record.
Stay strictly inside the plan's file list. If a needed change falls outside it, stop and name it in chat ("the plan didn't cover X — add it?") rather than widening the diff. Never touch, revert, or restore a working-tree file you did not edit this session.
Finish
When every task is done, run the Definition of Done in tasks.md:
- Static review: invoke
qt-cpp-reviewon the C++ diff; address or note findings. - Hotpath: if touched, confirm the
--benchmark-hotpathplan with the maintainer (you cannot run it — you don't build the app). - Self-review the diff, counterfactually: is this what was asked, and only that? Then
answer out loud: "which rule does this diff most risk violating, and what is the concrete
evidence it doesn't?" Name the rule and the evidence — not a generic pass
(
doc/claude/j-space.md, counterfactual self-check). If either answer is weak, say so before claiming completion. - Sanitize: run
python scripts/sanitize-commit.py(it sanitizes only — never commits). - Land the spec first. When the maintainer asks for a commit,
spec.md/plan.md/tasks.mdgo in their owndocs(spec): NNNN <slug>commit before any implementation commit.scripts/commit-shape.py, run by the commit hook, refuses a commit that creates a spec alongside code, a security-sensitive surface staged with other paths, more than 60 paths without aMechanical:trailer, or afix(ci)without the failing run's URL. - Identify the
pytesttargets fromplan.mdfor the maintainer to run (the app must be up with the API server enabled). - Set
spec.mdstatus: done.
Rules
- Never build or run the app, and never commit or push without explicit per-turn permission — earlier authorizations do not carry over.
- The spec is the contract: every acceptance criterion must end up satisfied and checked off in
spec.md. If reality diverges from the plan mid-build, stop and amendplan.md/tasks.md(re-confirm) rather than silently improvising. - Keep
tasks.mdhonest as you go — a half-finished feature should be resumable by reading the three spec files alone.
版本历史
-
3cbdc24
当前 2026-11-03 11:14
新增 commit-shape gate 机制限制单次提交路径数;引入 mistakes-ledger ratchet 控制错误清单规则落地;spec 模板增加 Premise Check 部分以强化前提检查。
- cb2f5d2 2026-08-20 08:59


