dsh-embedded-workbench 0.9.3 → 0.9.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.en-US.md CHANGED
@@ -2,7 +2,13 @@
2
2
 
3
3
  <p align="center"><strong>English</strong> · <a href="README.md">中文</a></p>
4
4
 
5
- [![HOL Guard Scanner](https://img.shields.io/badge/HOL%20Guard-passing-00a67e)](https://github.com/hashgraph-online/hol-guard)
5
+ <p align="center">
6
+ <a href="https://github.com/AmethystLuna/embedded-workbench/actions/workflows/dsh-bundle.yml"><img src="https://github.com/AmethystLuna/embedded-workbench/actions/workflows/dsh-bundle.yml/badge.svg" alt="CI"></a>
7
+ <a href="LICENSE"><img src="https://img.shields.io/badge/license-MIT-blue.svg" alt="License: MIT"></a>
8
+ <a href="https://nodejs.org/"><img src="https://img.shields.io/badge/node-%3E%3D20-blue.svg" alt="Node 20+"></a>
9
+ <a href="https://github.com/hashgraph-online/hol-guard"><img src="https://img.shields.io/badge/HOL%20Guard-passing-00a67e" alt="HOL Guard"></a>
10
+ <a href="https://afdian.com/a/amethystluna"><img src="https://img.shields.io/badge/%E7%88%B1%E5%8F%91%E7%94%B5-Afdian-946CE6" alt="Sponsor on Afdian"></a>
11
+ </p>
6
12
 
7
13
  Embedded C/C++ firmware toolbox: covering FreeRTOS, ISR, NVM storage, Keil MDK (AC5/AC6), ARMCLANG, HardFault triage, state machines, architecture principles, and LVGL patterns.
8
14
 
@@ -208,7 +214,7 @@ Skills are invoked with `$skill-name`. ZCode also auto-discovers from `.claude/s
208
214
  ## Requirements
209
215
 
210
216
  - Host: Claude Code v2.1+ / Codex CLI latest / Cursor 2.5+ / Kimi CLI latest / OpenCode latest / ZCode 3.0+
211
- - DeepSeek Harness (dsh): dev preview, declared support for `>= 0.1.0-rc.7`. The latest round measured install, mount, boot and uninstall on 0.2.1-alpha.1. The earlier round measured 0.1.5-rc.2 through 0.2.0-rc.2. Per-release evidence is in [DSH-COMPATIBILITY.md](DSH-COMPATIBILITY.md).
217
+ - DeepSeek Harness (dsh): dev preview, declared support for `>= 0.1.0-rc.7`. The latest round measured install, mount, boot, gate injection and uninstall on 0.2.1-rc.3. The earlier round measured 0.1.5-rc.2 through 0.2.1-rc.2. Per-release evidence is in [DSH-COMPATIBILITY.md](DSH-COMPATIBILITY.md).
212
218
  - The Web Plugins-page "Gate injection" switch requires **dsh ≥ 0.1.7-alpha.1**, because its settings service must be able to project live fields. On older dsh the plugin and its skills still load and still inject. The switch is simply absent, with no error.
213
219
  - No external dependencies.
214
220
 
@@ -280,9 +286,12 @@ To report a security vulnerability, do **not** open a public issue. Use the priv
280
286
 
281
287
  | Plugin | Description |
282
288
  |--------|-------------|
289
+ | [dsh-model-everything](https://github.com/AmethystLuna/dsh-model-everything) | Design and code modelling plus automated review, by the same author: UML diagrams rendered, read and reviewed; state-machine and protocol verification; data-model and migration checks; concurrency claim routing; dependency-graph review; design review; export to external checkers; report diffing. Install with `dsh plugin --profile <name> add dsh-model-everything` ([npm](https://www.npmjs.com/package/dsh-model-everything)). |
283
290
  | [logicprobe](https://github.com/AmethystLuna/logicprobe) | Claim-verification skill: checks every verifiable claim in design docs, architecture specs, and refactoring plans against the codebase, and escalates behavioral claims to executable-model verification. It was split out of this plugin. The Plan Verification Gate prefers it, and falls back to the built-in `fact-check` skill when it is not installed. Install with `claude plugin install logicprobe@logicprobe`, or on dsh with `dsh plugin --profile <name> add dsh-logicprobe`. |
284
291
  | [superpowers](https://github.com/obra/superpowers) | The original agent discipline engine: skill loading enforcement, Red Flags, subagent-driven development. Many of this plugin's agent-compliance patterns (1% Rule, Red Flags, `<SUBAGENT-STOP>`, instruction priority) were adapted from Superpowers. |
285
292
 
293
+ dsh-model-everything covers modelling and automated review of designs and code. It does not replace this plugin. This plugin remains the embedded C/C++ firmware workbench: its firmware skills, agent roles and the Plan Verification Gate stay here.
294
+
286
295
  ## Acknowledgments
287
296
 
288
297
  This plugin's agent-compliance architecture is adapted from [Superpowers](https://github.com/obra/superpowers) by Jesse Vincent (MIT License). These patterns were especially influential:
@@ -296,3 +305,9 @@ This plugin's agent-compliance architecture is adapted from [Superpowers](https:
296
305
  - **Trigger test framework**: `tests/skill-triggering/` structure and methodology
297
306
 
298
307
  Superpowers is a general-purpose development plugin. Embedded Workbench applies the same discipline patterns to the embedded C/C++ domain.
308
+
309
+ ## Sponsor
310
+
311
+ This plugin is open source under the MIT license. If it saves you time, you can support development on [Afdian](https://afdian.com/a/amethystluna).
312
+
313
+ Sponsorship is voluntary and changes neither the license nor the features.
package/README.md CHANGED
@@ -2,6 +2,14 @@
2
2
 
3
3
  <p align="center"><a href="README.en-US.md">English</a> · <strong>中文</strong></p>
4
4
 
5
+ <p align="center">
6
+ <a href="https://github.com/AmethystLuna/embedded-workbench/actions/workflows/dsh-bundle.yml"><img src="https://github.com/AmethystLuna/embedded-workbench/actions/workflows/dsh-bundle.yml/badge.svg" alt="CI"></a>
7
+ <a href="LICENSE"><img src="https://img.shields.io/badge/license-MIT-blue.svg" alt="License: MIT"></a>
8
+ <a href="https://nodejs.org/"><img src="https://img.shields.io/badge/node-%3E%3D20-blue.svg" alt="Node 20+"></a>
9
+ <a href="https://github.com/hashgraph-online/hol-guard"><img src="https://img.shields.io/badge/HOL%20Guard-passing-00a67e" alt="HOL Guard"></a>
10
+ <a href="https://afdian.com/a/amethystluna"><img src="https://img.shields.io/badge/%E7%88%B1%E5%8F%91%E7%94%B5-Afdian-946CE6" alt="在爱发电上赞助"></a>
11
+ </p>
12
+
5
13
  嵌入式 C/C++ 固件开发工具箱:覆盖 FreeRTOS、中断、NVM 存储、Keil MDK(AC5/AC6)、ARMCLANG、HardFault 分析、状态机、架构原则与 LVGL 陷阱。
6
14
 
7
15
  **跨平台**:支持 Claude Code、Codex CLI、Cursor、Kimi CLI、OpenCode、ZCode、DeepSeek Harness (dsh)。基于 [Agent Skills](https://agentskills.io) 开放标准构建。
@@ -206,7 +214,7 @@ cp -r embedded-workbench/skills/* .zcode/skills/
206
214
  ## 依赖
207
215
 
208
216
  - 宿主:Claude Code v2.1+ / Codex CLI 最新版 / Cursor 2.5+ / Kimi CLI 最新版 / OpenCode 最新版 / ZCode 3.0+
209
- - DeepSeek Harness (dsh):dev preview,声明支持 `>= 0.1.0-rc.7`。最新一轮在 0.2.1-alpha.1 上实测了安装、挂载、启动与卸载;更早一轮实测覆盖 0.1.5-rc.2 到 0.2.0-rc.2。逐版本证据见 [DSH-COMPATIBILITY.md](DSH-COMPATIBILITY.md)。
217
+ - DeepSeek Harness (dsh):dev preview,声明支持 `>= 0.1.0-rc.7`。最新一轮在 0.2.1-rc.3 上实测了安装、挂载、启动、门禁注入与卸载;更早一轮实测覆盖 0.1.5-rc.2 到 0.2.1-rc.2。逐版本证据见 [DSH-COMPATIBILITY.md](DSH-COMPATIBILITY.md)。
210
218
  - Web 端的「Gate 注入」开关需要 **dsh ≥ 0.1.7-alpha.1**,因为设置服务必须能投影即时字段。更早的 dsh 上插件与技能照常加载、照常注入,只是开关不出现,也不报错。
211
219
  - 无外部依赖。
212
220
 
@@ -278,9 +286,12 @@ bash tests/skill-triggering/run-all.sh
278
286
 
279
287
  | 插件 | 简介 |
280
288
  |------|------|
289
+ | [dsh-model-everything](https://github.com/AmethystLuna/dsh-model-everything) | 同一作者的设计与代码建模、自动审查插件:UML 图渲染、读取与审查,状态机与协议验证,数据模型与迁移检查,并发声称分流,依赖图审查,设计审查,导出到外部验证器,报告对比。安装:`dsh plugin --profile <name> add dsh-model-everything`([npm](https://www.npmjs.com/package/dsh-model-everything))。 |
281
290
  | [logicprobe](https://github.com/AmethystLuna/logicprobe) | 声称核查技能:逐条核验设计文档、架构规格、重构计划中的可验证声称与代码库是否一致,行为类声称升级为可执行模型验证。它自本插件拆分而来。Plan Verification Gate 优先使用它,未安装时回退到内置 `fact-check` 技能。安装:Claude 侧 `claude plugin install logicprobe@logicprobe`;dsh 侧 `dsh plugin --profile <name> add dsh-logicprobe`。 |
282
291
  | [superpowers](https://github.com/obra/superpowers) | 原始 agent 纪律引擎:技能加载强制、Red Flags、子代理驱动开发。本插件的多项 agent 合规模式(1% Rule、Red Flags、`<SUBAGENT-STOP>`、指令优先级)均借鉴自 Superpowers。 |
283
292
 
293
+ dsh-model-everything 覆盖设计与代码的建模和审查,不替代本插件。本插件仍是嵌入式 C/C++ 固件工作台:嵌入式技能、agent 角色与 Plan Verification Gate 都还在这里。
294
+
284
295
  ## 致谢
285
296
 
286
297
  本插件的 agent 合规架构借鉴自 Jesse Vincent 的 [Superpowers](https://github.com/obra/superpowers)(MIT License)。以下设计模式尤其有启发:
@@ -294,3 +305,9 @@ bash tests/skill-triggering/run-all.sh
294
305
  - **触发测试框架**:`tests/skill-triggering/` 的结构和方法论
295
306
 
296
307
  Superpowers 是通用开发插件。Embedded Workbench 把相同的纪律模式应用到嵌入式 C/C++ 领域。
308
+
309
+ ## 赞助
310
+
311
+ 本插件以 MIT 许可证开源。如果它节省了你的时间,可以在[爱发电](https://afdian.com/a/amethystluna)赞助开发。
312
+
313
+ 赞助完全自愿,不影响许可证,也不改变任何功能。
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dsh-embedded-workbench",
3
- "version": "0.9.3",
3
+ "version": "0.9.5",
4
4
  "description": "Embedded C/C++ firmware development toolbox — FreeRTOS, ISR, NVM storage, Keil MDK, ARMCLANG, HardFault, state machines, architecture, LVGL patterns, and claim fact-checking. Ships a native DeepSeek Harness (dsh) bundle that folds a short gate — the Plan Verification Gate plus a context-budget rule — into the first model step.",
5
5
  "type": "module",
6
6
  "main": "lib/index.js",
@@ -43,7 +43,7 @@
43
43
  ]
44
44
  },
45
45
  "compatibility": {
46
- "dsh": "^0.1.0-rc.7 || ^0.1.1-rc.1 || ^0.1.2-alpha.2 || ^0.1.2-alpha.3 || ^0.1.2-alpha.4 || ^0.1.2-alpha.5 || ^0.1.2-rc.1 || ^0.1.3-alpha.1 || ^0.1.3-alpha.2 || ^0.1.5-alpha.1 || ^0.1.5-rc.1 || ^0.1.5-alpha.2 || ^0.1.5-rc.2 || ^0.1.5-rc.3 || ^0.1.6-alpha.1 || ^0.1.6-alpha.2 || ^0.1.7-alpha.1 || ^0.1.7-alpha.2 || ^0.1.7-rc.1 || ^0.1.7-rc.2 || ^0.2.0-rc.1 || ^0.2.1-alpha.1 || ^0.2.1-alpha.2",
46
+ "dsh": "^0.1.0-rc.7 || ^0.1.1-rc.1 || ^0.1.2-alpha.2 || ^0.1.2-alpha.3 || ^0.1.2-alpha.4 || ^0.1.2-alpha.5 || ^0.1.2-rc.1 || ^0.1.3-alpha.1 || ^0.1.3-alpha.2 || ^0.1.5-alpha.1 || ^0.1.5-rc.1 || ^0.1.5-alpha.2 || ^0.1.5-rc.2 || ^0.1.5-rc.3 || ^0.1.6-alpha.1 || ^0.1.6-alpha.2 || ^0.1.7-alpha.1 || ^0.1.7-alpha.2 || ^0.1.7-rc.1 || ^0.1.7-rc.2 || ^0.2.0-rc.1 || ^0.2.1-alpha.1 || ^0.2.1-alpha.2 || ^0.2.1-rc.2 || ^0.2.1-rc.3",
47
47
  "dshReleases": {
48
48
  "0.1.0-rc.7": "compatible",
49
49
  "0.1.0-rc.8": "compatible",
@@ -70,7 +70,10 @@
70
70
  "0.2.0-rc.1": "compatible",
71
71
  "0.2.0-rc.2": "compatible",
72
72
  "0.2.1-alpha.1": "compatible",
73
- "0.2.1-alpha.2": "compatible"
73
+ "0.2.1-alpha.2": "compatible",
74
+ "0.2.1-rc.1": "compatible",
75
+ "0.2.1-rc.2": "compatible",
76
+ "0.2.1-rc.3": "compatible"
74
77
  },
75
78
  "profiles": [
76
79
  "headless",
@@ -85,10 +88,10 @@
85
88
  },
86
89
  "peerDependencies": {
87
90
  "@deepseek-ai/cordis": "^4.0.4",
88
- "@deepseek-ai/dsh-agent": "^0.1.0-rc.6 || ^0.2.0-rc.1 || ^0.2.1-alpha.1 || ^0.2.1-alpha.2",
89
- "@deepseek-ai/dsh-llm": "^0.1.0-rc.6 || ^0.2.0-rc.1 || ^0.2.1-alpha.1 || ^0.2.1-alpha.2",
90
- "@deepseek-ai/dsh-session": "^0.1.0-rc.6 || ^0.2.0-rc.1 || ^0.2.1-alpha.1 || ^0.2.1-alpha.2",
91
- "@deepseek-ai/dsh-skill-filesystem": "^0.1.0-rc.8 || ^0.2.0-rc.1 || ^0.2.1-alpha.1 || ^0.2.1-alpha.2",
91
+ "@deepseek-ai/dsh-agent": "^0.1.0-rc.6 || ^0.2.0-rc.1 || ^0.2.1-alpha.1 || ^0.2.1-alpha.2 || ^0.2.1-rc.2 || ^0.2.1-rc.3",
92
+ "@deepseek-ai/dsh-llm": "^0.1.0-rc.6 || ^0.2.0-rc.1 || ^0.2.1-alpha.1 || ^0.2.1-alpha.2 || ^0.2.1-rc.2 || ^0.2.1-rc.3",
93
+ "@deepseek-ai/dsh-session": "^0.1.0-rc.6 || ^0.2.0-rc.1 || ^0.2.1-alpha.1 || ^0.2.1-alpha.2 || ^0.2.1-rc.2 || ^0.2.1-rc.3",
94
+ "@deepseek-ai/dsh-skill-filesystem": "^0.1.0-rc.8 || ^0.2.0-rc.1 || ^0.2.1-alpha.1 || ^0.2.1-alpha.2 || ^0.2.1-rc.2 || ^0.2.1-rc.3",
92
95
  "@deepseek-ai/schemastery": "^3.18.4"
93
96
  },
94
97
  "devDependencies": {
@@ -102,7 +105,7 @@
102
105
  "@deepseek-ai/dsh-skill": "^0.2.0-rc.2",
103
106
  "@deepseek-ai/dsh-skill-filesystem": "^0.2.0-rc.2",
104
107
  "@deepseek-ai/schemastery": "^3.18.4",
105
- "@types/node": "^26.6.3",
108
+ "@types/node": "^26.6.5",
106
109
  "typescript": "^7.0.2"
107
110
  },
108
111
  "author": {
@@ -114,6 +117,10 @@
114
117
  "type": "git",
115
118
  "url": "git+https://github.com/AmethystLuna/embedded-workbench.git"
116
119
  },
120
+ "funding": {
121
+ "type": "custom",
122
+ "url": "https://afdian.com/a/amethystluna"
123
+ },
117
124
  "keywords": [
118
125
  "embedded",
119
126
  "firmware",
@@ -36,9 +36,9 @@ If you catch yourself thinking any of these, STOP — you are rationalizing:
36
36
  | "The worker can figure out the details" | The worker has NO context from previous calls. A vague plan = the worker guessing. |
37
37
  | "I'll review it myself, no need for quality-coordinator" | Self-review is enough for a bounded, reversible edit. A second pass earns its cost when the blast radius is unclear or the change is hard to undo. |
38
38
  | "This change is too small for a Detailed Change Plan" | Bounded, reversible, single-site edits do not need the ceremony. Crossing a module boundary, a public interface, or a non-obvious failure mode does. Name the invariants either way. |
39
- | "I've explored enough, time to exit plan mode" | ExitPlanMode is the verification gate. Have you loaded `Skill("logicprobe")` or, if it is not installed, the built-in fallback `Skill("fact-check")`? Every plan — simple or complex — must pass this gate before exit. |
40
- | "This plan is too simple for logicprobe" | logicprobe auto-classifies depth (LIGHTWEIGHT/STANDARD/ESCALATED); the fallback fact-check verifies every claim regardless. You don't decide whether verification is needed. |
41
- | "I already read the code, I know the file paths and API names are correct" | Organic verification leaves no audit trail. Load `Skill("logicprobe")` or the fallback `Skill("fact-check")`, verify each claim, append the `## Plan Verification` block. |
39
+ | "I've explored enough, time to exit plan mode" | ExitPlanMode is the verification gate. Have you loaded `Skill("model-everything")` (or `Skill("logicprobe")` if only the older plugin is installed), or the built-in fallback `Skill("fact-check")` when neither is? Every plan — simple or complex — must pass this gate before exit. |
40
+ | "This plan is too simple for the verification skill" | `model-everything` (and `logicprobe` before it) auto-classifies depth (LIGHTWEIGHT/STANDARD/ESCALATED); the fallback fact-check verifies every claim regardless. You don't decide whether verification is needed. |
41
+ | "I already read the code, I know the file paths and API names are correct" | Organic verification leaves no audit trail. Load `Skill("model-everything")` (or `Skill("logicprobe")` if only the older plugin is installed), or the fallback `Skill("fact-check")`, verify each claim, append the `## Plan Verification` block. |
42
42
 
43
43
  ---
44
44
 
@@ -84,7 +84,7 @@ Sub-agents are **optional equipment, not mandatory stages** — dispatch one whe
84
84
 
85
85
  Plan the change, make it, verify it. Self-review is sufficient for a bounded, reversible edit.
86
86
 
87
- If the plan rests on claims about the codebase (API names, file paths, enum values, counts), verify those claims before implementing — inline for a small change, or with `logicprobe` / the built-in `fact-check` skill. Escalate to Full when the change turns out to cross a boundary, or when two revisions fail to converge.
87
+ If the plan rests on claims about the codebase (API names, file paths, enum values, counts), verify those claims before implementing — inline for a small change, or with `model-everything` (or `logicprobe` if only the older plugin is installed) / the built-in `fact-check` skill. Escalate to Full when the change turns out to cross a boundary, or when two revisions fail to converge.
88
88
 
89
89
  ### Full — cross-module, new interfaces, state-ownership changes
90
90
 
@@ -113,12 +113,12 @@ Claude Code's built-in `EnterPlanMode` / `ExitPlanMode` maps to the **plan phase
113
113
 
114
114
  ### Plan Verification Gate
115
115
 
116
- > **⚠️ logicprobe 已拆分为独立插件 / moved to a standalone plugin** (v0.6.0): the full verification skill (executable model checks, adversarial probing) now ships in its own plugin — <https://github.com/AmethystLuna/logicprobe> (install commands are in the README's "Other Plugins"). This plugin ships a built-in simplified fallback — `Skill("fact-check")` — for claim-by-claim verification when logicprobe is not installed; behavioral/model claims then degrade to manual confirmation.
116
+ > **⚠️ The verification skill ships in another plugin.** It started in `logicprobe` (v0.6.0, <https://github.com/AmethystLuna/logicprobe>) and that plugin continues as [`dsh-model-everything`](https://github.com/AmethystLuna/dsh-model-everything), which is the superset: the same claim verification plus diagram review, data-model checks, a concurrency claim family and export to external checkers. Load `Skill("model-everything")` when `dsh-model-everything` is installed, `Skill("logicprobe")` when only the older plugin is, and the built-in `Skill("fact-check")` when neither is — behavioral and model claims then degrade to manual confirmation.
117
117
 
118
118
  **Before calling `ExitPlanMode`**, exactly one of the following must happen:
119
119
 
120
- 1. **Load `Skill("logicprobe")`** (standalone plugin) — it classifies depth (LIGHTWEIGHT / STANDARD / ESCALATED), runs the verification including executable model checks, and appends a `## Plan Verification` summary block to the plan.
121
- 2. **Load `Skill("fact-check")`** (built-in fallback, only when logicprobe is not installed) — verifies every verifiable claim against the codebase with evidence, appends a `## Plan Verification` block marked `fact-check (fallback)`, and tells the user that state-machine/behavioral claims degrade to manual confirmation.
120
+ 1. **Load the verification skill** — `Skill("model-everything")` when `dsh-model-everything` is installed (the successor of `logicprobe`), otherwise `Skill("logicprobe")` if the older plugin is installed. It classifies depth (LIGHTWEIGHT / STANDARD / ESCALATED), runs the verification including executable model checks, and appends a `## Plan Verification` summary block to the plan.
121
+ 2. **Load `Skill("fact-check")`** (built-in fallback, only when neither plugin is installed) — verifies every verifiable claim against the codebase with evidence, appends a `## Plan Verification` block marked `fact-check (fallback)`, and tells the user that state-machine/behavioral claims degrade to manual confirmation.
122
122
  3. **Inform the user** — if you load neither, say: *"此计划未经核查。是否需要我在审批前运行事实核查?(This plan has not been fact-verified. Would you like me to run verification before approving?)"*
123
123
 
124
124
  Silent skip is not an option. Plan mode permits `Read`, `Glob`, `Grep`, and `Skill` calls, so all of this executes before exit.
@@ -169,8 +169,9 @@ Each domain skill is classified by how strictly it should be followed:
169
169
  **Rigid** — follow exactly. These are rules and checklists. Don't adapt away the discipline.
170
170
 
171
171
  - `debug-methodology`: 8 iron rules are non-negotiable
172
- - `logicprobe` (external plugin): claim verification must check every claim
173
- - `fact-check` (built-in fallback): claim-by-claim verification when logicprobe is not installed
172
+ - `model-everything` (external plugin, `dsh-model-everything`): claim verification and model checks must cover every claim
173
+ - `logicprobe` (external plugin, the predecessor): the same gate when only the older plugin is installed
174
+ - `fact-check` (built-in fallback): claim-by-claim verification when neither is installed
174
175
 
175
176
  **Flexible** — adapt principles to context. These are patterns and references, not commands.
176
177
 
@@ -186,7 +187,7 @@ If unsure, treat a skill as Rigid until you confirm otherwise.
186
187
 
187
188
  When multiple skills could apply, use this order:
188
189
 
189
- 1. **Diagnosis skills first** — `debug-methodology`, `hardfault-triage`, `logicprobe` (external plugin; use the built-in `fact-check` fallback if logicprobe is not installed). These determine WHAT is wrong.
190
+ 1. **Diagnosis skills first** — `debug-methodology`, `hardfault-triage`, and the verification skill (`model-everything` from `dsh-model-everything`, or `logicprobe` if only the older plugin is installed; the built-in `fact-check` fallback if neither is). These determine WHAT is wrong.
190
191
  2. **Design skills second** — `state-machine-design`. These determine HOW to fix it.
191
192
  3. **Implementation skills third** — `c-cpp-dev`, `embedded-firmware-dev`, `keil-mdk-build`. These guide execution.
192
193
 
@@ -110,7 +110,7 @@ This plugin defines 4 sub-agents. On platforms without an `Agent` tool (includin
110
110
  | Claude Code Agent | Alternative Approach |
111
111
  |-------------------|---------------------|
112
112
  | `architecture-steward` | Ask user to run a separate session with planning prompt |
113
- | `design-reviewer` | Load `logicprobe` skill (standalone plugin; built-in `fact-check` fallback if logicprobe is not installed); manually verify claims |
113
+ | `design-reviewer` | Load `model-everything` skill (`dsh-model-everything`, the successor of `logicprobe`; the older `logicprobe` skill if only that is installed; built-in `fact-check` fallback if neither is); manually verify claims |
114
114
  | `execution-worker` | Sequential implementation in current session with approval gates |
115
115
  | `quality-coordinator` | Self-review checklist from `references/final-qc.md` template |
116
116
 
@@ -18,7 +18,7 @@ user declines.
18
18
  ## Rules
19
19
 
20
20
  - **Suggest once per task**, not repeatedly. If the user declines, don't push.
21
- - **Say what the check finds**, not which tool runs it. If logicprobe is not installed,
21
+ - **Say what the check finds**, not which tool runs it. If neither `dsh-model-everything` nor `logicprobe` is installed,
22
22
  offer the built-in `fact-check` skill instead — "I can check every claim in the plan
23
23
  against the codebase" — and note that behavioral/model claims then degrade to manual
24
24
  confirmation.
@@ -1,13 +1,14 @@
1
1
  ---
2
2
  name: fact-check
3
- description: "Use when reviewing design documents, architecture specs, technical proposals, or plans that make claims about API names, file paths, enum values, counts, or mechanism feasibility — a lightweight claim-by-claim check against the codebase with evidence. Built into embedded-workbench as the fallback when the full logicprobe plugin is not installed. NOT for state machines, protocol/retry logic, or 'always'/'never' behavioral claims that need executable model verification — those require the logicprobe plugin."
3
+ description: "Use when reviewing design documents, architecture specs, technical proposals, or plans that make claims about API names, file paths, enum values, counts, or mechanism feasibility — a lightweight claim-by-claim check against the codebase with evidence. Built into embedded-workbench as the fallback when the full dsh-model-everything plugin (or its predecessor logicprobe) is not installed. NOT for state machines, protocol/retry logic, or 'always'/'never' behavioral claims that need executable model verification — those require dsh-model-everything (or logicprobe)."
4
4
  ---
5
5
 
6
6
  # Fact Check (fallback)
7
7
 
8
8
  Lightweight claim verification built into this plugin. Use it when the full
9
- `logicprobe` plugin is not installed — it checks every verifiable claim in a
10
- document/plan against the codebase with evidence, without model escalation.
9
+ `dsh-model-everything` plugin — or its predecessor `logicprobe` — is not installed.
10
+ It checks every verifiable claim in a document/plan against the codebase with
11
+ evidence, without model escalation.
11
12
 
12
13
  ## When to use
13
14
 
@@ -9,6 +9,8 @@ This is a domain implementation skill. If you are planning, designing, or enteri
9
9
 
10
10
  # State Machine Design
11
11
 
12
+ > **For a design that has to be decided rather than reviewed:** `dsh-model-everything` verifies the machine itself — `model_verify` explores every interleaving for unreachable states, deadlock, a timeout that can never fire, and a lock held across an await; `model_compose_verify` decides two mechanisms interacting, including a lost update on a shared location. Load its `model-everything` skill when the plugin is installed. This skill stays the implementation guide: the C code, the flags, the timeouts.
13
+
12
14
  ## Core Rules
13
15
 
14
16
  - Fix the state model, not the symptom. Every in-progress or pending flag must have explicit success, failure, timeout, and reset exits.