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 +17 -2
- package/README.md +18 -1
- package/package.json +15 -8
- package/skills/embedded-workbench/SKILL.md +11 -10
- package/skills/embedded-workbench/references/platform-tool-mapping.md +1 -1
- package/skills/embedded-workbench/references/proactive-suggestions.md +1 -1
- package/skills/fact-check/SKILL.md +4 -3
- package/skills/state-machine-design/SKILL.md +2 -0
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
|
-
|
|
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-
|
|
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-
|
|
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
|
+
"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.
|
|
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("
|
|
40
|
-
| "This plan is too simple for
|
|
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
|
-
> **⚠️
|
|
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("
|
|
121
|
-
2. **Load `Skill("fact-check")`** (built-in fallback, only when
|
|
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
|
-
- `
|
|
173
|
-
- `
|
|
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`
|
|
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 `
|
|
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
|
|
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
|
|
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
|
-
`
|
|
10
|
-
document/plan against the codebase with
|
|
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.
|