state-assumptions-before-acting
非琐碎任务开工前显式化「我的解读 / 隐含假设 / 已知 tradeoff / 倾向方案」让 Karry 拦截;收工时同等显式化「这次牺牲了什么 / 高风险点要不要派 attacker 二次攻击」。Use when 任务 ≥3 步、含歧义解读、涉及 tradeoff、用户指令模糊有多种合理解读,或非琐碎任务即将收尾出结论。短指令作用层判定走 terse-intent-classifier。
- License 许可
- MIT
- 所属仓库
- KarryViber/Orb
- 最近更新
- 2026-05-14
- Stars
- ★ 66
- Forks
- 8
01 前言 Front Matter
- name
- state-assumptions-before-acting
- provenance
- user-authored
- description
- 非琐碎任务开工前显式化「我的解读 / 隐含假设 / 已知 tradeoff / 倾向方案」让 Karry 拦截;收工时同等显式化「这次牺牲了什么 / 高风险点要不要派 attacker 二次攻击」。Use when 任务 ≥3 步、含歧义解读、涉及 tradeoff、用户指令模糊有多种合理解读,或非琐碎任务即将收尾出结论。短指令作用层判定走 terse-intent-classifier。
03 SKILL.md 正文
State Assumptions Before Acting
非琐碎任务两端都摊牌:开工前把隐含假设摆出来让 Karry 拦截;收工前把盲点摆出来让 Karry 知道「这次没看哪条轴」。
借鉴 Yansu intent challenge(开工对齐)+ super-hermes constraint report(收工盲点),两端 hook 同一原则:把隐式判断升为显式声明。
When to Use
开工前触发(满足任一即用):
- 任务 ≥ 3 步且非纯执行(含设计决策 / 路径选择)
- 用户指令有 ≥ 2 种合理解读
- 涉及 tradeoff(性能 vs 简洁、即时 vs 持久、覆盖 vs 兼容)
- 改动会影响 Karry 之后的工作流(CLAUDE.md / skills / cron / 持久数据)
收工前触发(满足任一即用):
- 出结论 / 给推荐 / 报告完成的非琐碎任务
- 调研、分析、复盘、spec 评审、code review 类输出
- 多步任务的最终交付,不是中间步骤
不用:
- ≤15 字短指令的作用层判定 → 走
terse-intent-classifier - 已有 spec 且 spec 里已写清场景 → 走
execplan - 单步 / 纯问答 / 明确无歧义的任务(「读这个文件」「跑这个脚本」)
- 中间步骤 / 进度回报(只在最终交付加 footer,不每步都加)
开工模板(动手前发给 Karry 的一段)
:thought_balloon: 开工前对齐:
*我的解读*
{用一句话复述任务目标,自己的理解版本}
*隐含假设*
- {假设 1,可能错}
- {假设 2,可能错}
*已知 tradeoff*
- {选项 A vs B}:A 偏 X,B 偏 Y。我倾向 A 因为 ...
*倾向方案*
{一句话方案 + 1-3 步骤}
*确认*:以上对吗?还是要改?
收工模板(结论后追加的 constraint footer)
:flashlight: 这次没看:
- {轴 1:例如 时效衰减 / 安全面 / 并发 / 成本 / 用户适应性}
- {轴 2}
*推荐下一步*:{要么明确「不需要」,要么指 1 个具体动作 — 例如「派 code-review subagent 攻击结论 4」「跑一遍 prism error_resilience 看遗漏的 silent failure」「3 天后回看决策是否仍成立」}
触发 attacker pass 的硬条件(满足即在 footer 里推荐):
- 这次结论会落到生产 / 共享配置 / 对外动作
- 涉及不可逆操作(删数据、推生产、对外发送)
- 结论里含 ≥ 2 条「应该」「建议」类断言但只跑了一轮分析
attacker pass 落法:派 subagent(subagent_type: pr-review-toolkit:code-reviewer 或 general-purpose)只给结论 + 任务原文,让它专门攻击结论,不给本轮推理过程。
何时跳过模板直接动 / 直接收
开工跳过:
- 任务和上一轮强连续(Karry 刚说「继续」「OK」),假设已隐式确认
- 假设全部高置信(>90%)且无 tradeoff——直接做但在结果里 callback「我假设了 X,如不对告诉我」
- 紧急修复(Karry 说「快」「先救」)——先动后补对齐
收工跳过:
- 琐碎任务(单步 / 纯执行 / 信息查询)
- 中间进度回报(不是最终交付)
- 已经在 attacker pass 之后的最终输出(footer 已经隐含)
Gotchas
- 不要把开工模板用成话痨工具——4 段共 ≤8 行,超了就是没想清楚
- 不要列假设清单 ≥5 条——说明任务本身没拆透,先拆任务
- 不要「假设」其实是确定的事实(已读过的代码、明确的指令)
- 倾向方案必须是单一推荐,不要给选项让 Karry 选
- 收工 footer 不要凑——「这次没看 X」如果 X 是凑的(任务本就不需要看),等于仪式性套话,宁可写「无明显盲点」
- 收工 footer 不要超 3 行——盲点 ≤ 2 条,推荐下一步 1 条,再多说明任务本身就没收敛
- attacker pass 不是默认动作,是高风险任务才触发——日常调研 / 普通报告别浪费 turn
与相关 skill 的分工
| skill | 适用 |
|---|---|
terse-intent-classifier |
≤15 字短指令、含指代词、动词型短指令 |
state-assumptions-before-acting(本文件) |
多步非琐碎任务、含歧义或 tradeoff、最终交付加 footer |
execplan |
>10 步骤、>30 文件、跨会话恢复 |
subagent-driven-development |
attacker pass 的实际派发流程 |
层次:terse-intent-classifier(秒级判层)→ state-assumptions(开工对齐 + 收工 footer)→ execplan(小时级方案)。
反模式
- :x: 不列假设直接干,做错再返工
- :x: 假设列了但是给「A or B 你选」(违反给推荐项原则)
- :x: 把对齐写成长篇方案——这是 execplan 的活
- :x: 每个任务都摆模板(琐碎任务直接做即可)
- :x: 收工 footer 写成「本次分析完整覆盖了所有轴」(仪式性套话,违反诚实原则)
- :x: 任何 footer 都默认派 attacker pass(浪费 token,attacker 是高风险任务才用)
- :x: 把 prism
references/prisms/*.md当 skill body 抄进来——它们是参考素材,不是 skill 内容
04 同仓库更多 Skills
webapp-testing
Toolkit for interacting with and testing local web applications using Playwright. Supports verifying frontend functionality, debugging UI behavior, capturing browser screenshots, and viewing browser logs.
vendor-doc-actionability
对外合作文档(交付文档 / POC 文档 / Solution Doc / 提案书)必须为每个「需对方执行」的动作写清具体操作入口(URL / 工单系统 / 脚本路径 / 联系人 + 联系方式 / 步骤编号)。Use when 给客户、vendor、合作方写交付文档、POC 文档、Solution Doc、提案书;或检视已有对外文档是否抽象到无法执行。
vendor-api-param-validation
第三方 API / SDK 集成开工前,强制先列参数 checklist 并对照官方文档逐项验证(名称 / 类型 / 必填 / 默认 / 上限),通过后再编码——不是「写完再调通」。Use when 新接 vendor API/SDK(Slack / LongPort / freee / LLM API 等)、既有集成追加新 endpoint 或新字段、用户说「调通某接口」「接入 X」「集成 X」。
truth-ladder
状态放行三层阶梯(attempted / observed / confirmed)—— 汇报任务、API、命令、消息或外部动作状态时强制分层,避免把"动作已发起"误写成"结果已达成"。Use when 准备写「任务已完成」「API 返回成功」「exit code 0」「用户已收到」「ok:true」类状态汇报;或在 cron 报告 / Slack 回报 / project status / receipt 中表达完成度时。
thread-object-realignment
长 thread 切题后的对象重定协议——thread 历史 ≥5 条且检测到切题信号时,回复前必做「用户最后显式问题对象 vs 待发回复对象」一致性校验,不一致则改写或反问。Use when Slack thread 历史 ≥5 条且当前用户消息出现切题信号(主题词突变、问句指向新实体、时间线跳跃、出现「另外」「话说」「回到 X」「换个话题」等切题语,或 ≥3 turn 后用户显式问题对象与最近 assistant 回复对象不同)。
theme-factory
Toolkit for styling artifacts with a theme. These artifacts can be slides, docs, reportings, HTML landing pages, etc. There are 10 pre-set themes with colors/fonts that you can apply to any artifact that has been creating, or can generate a new theme on-the-fly.