ethanreedlabs/sulde/handoff

Claude Code and agent skill by ethanreedlabs/sulde

Trust tier 2
  • community
  • ext:[{"type":"hook","description":"Pre/post lifecycle hooks"}]
LLM review pending
Source check pending

Checking that the SKILL.md file is still in the repository.

Dev 写 handoff 给协调端 / 任务完工交接 / /handoff / 提交 handoff doc / 交接给协调端。任务执行完毕,Dev 写一份结构化 handoff doc 把改动 / verify 证据 / escalation 候选交给协调端。当用户说"写 handoff""提交 handoff""交接给协调端""跑完了写交接"时触发。**handoff 必含 5 段强制**,缺段会被 PreToolUse hook `check_handoff_verify.py` 拦截。

Install

npx vskill@latest install ethanreedlabs/sulde/handoff

Semi-extensibleMentions customization, but needs skill-specific knowledge. Read the extensible skills standard

SKILL.md

/handoff — Dev 完工交接 doc

任务执行结束 → 写 handoff doc 给协调端。5 段强制(缺一段 → hook 拦 Write),路径固定 {frontend}/.ai-workspace/handoff/{YYYY-MM-DD}-{slug}-result.md。


§0 何时写 handoff

场景写?命名后缀
跑完 task md(成功)✅-result.md
跑 task md 中途遇阻 / 需协调端拍板✅-block.md(无 -result)
自发改动(非 task md 驱动 — 受 self-fix-boundary.md 约束)✅-selffix.md
跑 audit / 诊断 subagent✅-audit.md
真机 verify 抓的诊断数据✅(归 .ai-workspace/diag/ 不归 handoff)n/a

写入路径:{frontend}/.ai-workspace/handoff/{YYYY-MM-DD}-{slug}-{result|block|selffix|audit}.md


§1 5 段强制内容(全含 → hook 放行)

handoff doc 必含以下 5 段(段标含关键字串,被 hook 字面检测):

§ 改动文件清单

列本次改了哪些文件 + 改了什么(用 file:line 引用,不空话)。

模板:

markdown
## § 改动文件清单
-`feature-foo/src/main/java/.../FooView.kt:42-68` — 加 onAppear delay 150ms 防 jank
-`feature-foo/build.gradle.kts:14` — bump compose 1.6.1 → 1.6.2
-`.ai-workspace/diag/<date>-foo-before.png` — 截图归档(verify 用)

禁忌:写"改了 FooView 相关逻辑"(太抽象)— 必引用 file:line。

§ verify(build / install / runtime 三联实证)

assign skill §5 跑的 4 步必复述结果。无 verify = handoff 不合格:

markdown
## § verify
### Build

$ ./gradlew :app:assembleDebug BUILD SUCCESSFUL in 32s

### Install

$ adb install -r app-debug.apk Performing Streamed Install Success

### Runtime log(10s)
- 无 crash / fatal / 新增 error
- 关键路径触达:adb logcat 抓到 `FooView onAppear` log 1 次,delay 后批量绑定开始
### Screenshot diff
- before:`.ai-workspace/diag/<date>-foo-before.png`
- after:`.ai-workspace/diag/<date>-foo-after.png`
- 视觉对照 design-truth `<docs-hub>/design-truth/<page-a>.md` 对应章节 → ✅ 相符

禁忌:"build 过了 / 没问题" 一行 — 必贴命令 + 输出 / 路径。

§ escalation 候选(协调端待办)

跑过程中发现的"应给协调端拍板的问题",不要自行扩 scope。预登记:

markdown
## § escalation 候选
-[ ] iOS 也有相同代码路径(`Sources/FeatureFoo/FooView.swift:55`)— 是否对称 fix?(scope 扩散,需协调端拍板)
-[ ] design-truth `<page-a>` 对应章节字号 25/600 vs scaffold AppTopBar 20sp 偏 5sp — 是 scaffold 应改 / 还是接受?
-[ ] 无 → 写 "本任务无 escalation"
§ 时序约束 / 性能数据(若 task 涉及性能)

若 task md 含"时序约束"或 "perf" 段 → handoff 必含真机数值:

markdown
## § 时序约束 / 性能数据(本 task perf 相关)
-进场动画 P50:120ms(before)→ 95ms(after,Profiler `gfxinfo dumpsys`)
-jank frame ratio:8.2%(before)→ 0.3%(after)
-主线程 spike:无(after,Perfetto trace `diag/foo-trace.perfetto-trace`)

非 perf task → 写"本任务无性能指标"或省略本段。

§ baseline 反向 verify(可选,推荐)

如果 §0 baseline 验证(assign skill)过程中发现 task md baseline drift → 在 handoff 里说明:

markdown
## § baseline 反向 verify
-task md `§起草前 baseline 实证` Step 4 引用 `AppTopBar.kt:56` → 当前 commit `abc1234` 已 rename 为 `AppTopBarView.kt:58`(发现于 §0 step 2 grep)
-不阻塞本任务执行(改动点不依赖该 symbol),但**协调端起草 fix task 时需 re-baseline**

§2 文件名规则

{YYYY-MM-DD}-{frontend}-{slug}-{result|block|selffix|audit}.md

例:

  • <date>-android-foo-jank-fix-result.md(成功完工)
  • <date>-ios-bar-state-block.md(中途阻塞,需协调端拍板)
  • <date>-android-removed-stale-dep-selffix.md(自发清理 stale dep,在 self-fix-boundary 内)

§3 完工后动作

  1. Write handoff doc(hook 通过)
  2. git add 改动 + handoff doc + diag 截图 + log file
  3. 不 commit — 等 §1 § verify 段被你自己 Read 一遍 review 通过
  4. git as-<alias> commit -m "..."(走 alias,被 pre-commit hook check_commit_alias 校验)
  5. push 由 Agent 收尾 — 合同已授权远端与目标分支时直接执行;否则展示宿主原生 Allow/Deny,Allow 后由 Agent 执行,不把命令交给用户 / 协调者代跑

§4 反模式(常见错误,不要做)

  • ❌ 直接对协调端说 "跑完了" / "改完了" / "done" 不写 handoff doc
  • ❌ handoff 只写 § 改动文件清单 / 缺 § verify → hook 拦
  • ❌ § verify 写"build 过了"一行无命令 / 无输出
  • ❌ § escalation 候选写"无" 但实际发现了相邻问题没登记
  • ❌ 把 verify 截图 / log 散在 .ai-workspace/screenshots/ .ai-workspace/log/ → 统一归 .ai-workspace/diag/{date}-{slug}-{purpose}.{ext} 方便协调端 grep
  • ❌ handoff doc 内出现 AI / Claude / GPT / generated 字样 → pre-commit hook 拦

§5 协调端如何用这份 handoff

写完后协调端会:

  1. Read 你的 handoff doc(SessionStart 已扫 .ai-workspace/handoff/active/)
  2. § verify 三联实证 cross check
  3. § escalation 候选 → 走 coordinator-maintenance skill 派 follow-up task
  4. handoff 处理完归档到 .ai-workspace/handoff/archive/

你的 handoff 质量 = 协调端能不能信任 "Dev 跑完了" — 直接影响下个 task md 是否还需重新 verify。

Security

  • Security scanPassed, 100 of 100Pattern checks on the skill's files.
  • Model reviewNot runA model review is scheduled for the next rescan.

Quality evaluation

  • Task evaluationNot runNo evaluation yet. Run one in Skill Studio.

Source

Popularity

7-day trend score
0

Not refreshed yet.

Extension points

  • hookPre/post lifecycle hooks

Works with

Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.

  • Claude Code
  • Cursor
  • GitHub Copilot
  • Windsurf
  • Codex
  • Gemini CLI
  • Cline
  • Amp
  • Roo Code
  • Goose
  • Continue
  • Kilo Code
  • Junie
  • Trae
  • OpenHands
  • Qwen Code
  • AI Agent
  • Tabnine Chat
  • Sourcegraph Cody
  • Amazon Q
  • Firebase Genkit
  • Sweep
  • Devin
  • Phind
  • Mentat
  • Claude Desktop
  • Aider
  • GPT Pilot
  • Plandex
  • bolt.new
  • v0
  • Replit Agent
  • Anse
  • TypingMind
  • BetterChatGPT
  • LibreChat
  • Warp AI
  • Pieces
  • Fig AI
Embed badge
vskill VERIFIED badge
[![vskill VERIFIED](https://verified-skill.com/api/v1/skills/ethanreedlabs/sulde/handoff/badge)](https://verified-skill.com/skills/ethanreedlabs/sulde/handoff)

Something wrong with this skill or its page? Tell us.