diff --git a/.claude-plugin/marketplace.json b/.claude-plugin/marketplace.json index 0df3bbf..3fa07d7 100644 --- a/.claude-plugin/marketplace.json +++ b/.claude-plugin/marketplace.json @@ -5,14 +5,14 @@ }, "metadata": { "description": "Thinloop skills and continuity hooks for Issue-backed discovery, read-only project-status navigation, multi-Issue project DAG decomposition and execution, evidence-backed reengineering and delivery, and approved skill evolution.", - "version": "0.18.1" + "version": "0.18.2" }, "plugins": [ { "name": "thinloop", "source": ".", "description": "Discovery, Web UIUX, architecture, Next project-status navigation, Project DAG decomposition, Execute READY-wave orchestration, Reengineering gates, QuickDev delivery, maintenance, knowledge, and evolution skills with continuity checks; Project itself remains non-executing.", - "version": "0.18.1" + "version": "0.18.2" } ] } diff --git a/.claude-plugin/plugin.json b/.claude-plugin/plugin.json index 8c23c19..53b226e 100644 --- a/.claude-plugin/plugin.json +++ b/.claude-plugin/plugin.json @@ -1,6 +1,6 @@ { "name": "thinloop", - "version": "0.18.1", + "version": "0.18.2", "description": "Simplify complex development with Issue-backed discovery, risk-adaptive Web experience and architecture design, non-executing multi-Issue project decomposition into dependency DAGs, bounded READY-wave execution, read-only project-status navigation, project-scale refactoring and cross-stack reimplementation, autonomous single-Issue PR delivery, evidence-backed maintenance, concise experiential knowledge, and human-approved skill evolution.", "author": { "name": "mindcarver" diff --git a/.codebuddy-plugin/marketplace.json b/.codebuddy-plugin/marketplace.json index 0df3bbf..3fa07d7 100644 --- a/.codebuddy-plugin/marketplace.json +++ b/.codebuddy-plugin/marketplace.json @@ -5,14 +5,14 @@ }, "metadata": { "description": "Thinloop skills and continuity hooks for Issue-backed discovery, read-only project-status navigation, multi-Issue project DAG decomposition and execution, evidence-backed reengineering and delivery, and approved skill evolution.", - "version": "0.18.1" + "version": "0.18.2" }, "plugins": [ { "name": "thinloop", "source": ".", "description": "Discovery, Web UIUX, architecture, Next project-status navigation, Project DAG decomposition, Execute READY-wave orchestration, Reengineering gates, QuickDev delivery, maintenance, knowledge, and evolution skills with continuity checks; Project itself remains non-executing.", - "version": "0.18.1" + "version": "0.18.2" } ] } diff --git a/.codebuddy-plugin/plugin.json b/.codebuddy-plugin/plugin.json index d241786..82f8dbf 100644 --- a/.codebuddy-plugin/plugin.json +++ b/.codebuddy-plugin/plugin.json @@ -1,6 +1,6 @@ { "name": "thinloop", - "version": "0.18.1", + "version": "0.18.2", "description": "Simplify complex development with Issue-backed discovery, risk-adaptive Web experience and architecture design, non-executing multi-Issue project decomposition into dependency DAGs, bounded READY-wave execution, read-only project-status navigation, project-scale refactoring and cross-stack reimplementation, autonomous single-Issue PR delivery, evidence-backed maintenance, concise experiential knowledge, and human-approved skill evolution.", "author": { "name": "mindcarver" diff --git a/.codex-plugin/plugin.json b/.codex-plugin/plugin.json index f82b8d8..a8d79b7 100644 --- a/.codex-plugin/plugin.json +++ b/.codex-plugin/plugin.json @@ -1,6 +1,6 @@ { "name": "thinloop", - "version": "0.18.1", + "version": "0.18.2", "description": "Simplify complex development with Issue-backed discovery, risk-adaptive Web experience and architecture design, non-executing multi-Issue project decomposition into dependency DAGs, bounded READY-wave execution, read-only project-status navigation, project-scale refactoring and cross-stack reimplementation, autonomous single-Issue PR delivery, evidence-backed maintenance, concise experiential knowledge, and human-approved skill evolution.", "author": { "name": "mindcarver" diff --git a/.zcode-plugin/plugin.json b/.zcode-plugin/plugin.json index 41649c9..7a196ee 100644 --- a/.zcode-plugin/plugin.json +++ b/.zcode-plugin/plugin.json @@ -1,6 +1,6 @@ { "name": "thinloop", - "version": "0.18.1", + "version": "0.18.2", "description": "Simplify complex development with Issue-backed discovery, risk-adaptive Web experience and architecture design, non-executing multi-Issue project decomposition into dependency DAGs, bounded READY-wave execution, read-only project-status navigation, project-scale refactoring and cross-stack reimplementation, autonomous single-Issue PR delivery, evidence-backed maintenance, concise experiential knowledge, and human-approved skill evolution.", "author": { "name": "mindcarver" diff --git a/README.md b/README.md index 2d44dac..c791405 100644 --- a/README.md +++ b/README.md @@ -11,7 +11,7 @@
- v0.18.1 + v0.18.2 ISSUE-DRIVEN @@ -36,7 +36,7 @@ Thinloop 不接管开发过程,只守住容易在长任务里丢失的结果 > **需求不被误解,体验与架构有据可循,完成声明有真实证据,仓库漂移能被主动发现。** -每个关键步骤会用图标和边框醒目展示「第几步、当前步骤、做什么、为什么」,直接调用任一技能也适用;同一步内不为每个工具调用重复提示。规则与示例见[步骤沟通](./skills/scd-quickdev/references/step-communication.md)。 +每个关键步骤会用带图标的轻量引用块展示「第几步、当前步骤、做什么、为什么」,直接调用任一技能也适用;同一步内不为每个工具调用重复提示。规则与示例见[步骤沟通](./skills/scd-quickdev/references/step-communication.md)。 diff --git a/docs/installation.md b/docs/installation.md index d76969c..8b724ff 100644 --- a/docs/installation.md +++ b/docs/installation.md @@ -334,6 +334,7 @@ codebuddy plugin update thinloop@thinloop --scope user 纠正。范围见 [`v0.17.1`](./releases/v0.17.1.md)。 - 升级到 v0.18.0:新增 `scd-ui-polish`,确认十三个 Skill 完整可读;UIUX 与页面验收共用八维视觉标准、实际页面自审和前后对比。既有设计确认与独立验收门继续有效。 - 升级到 v0.18.1:十三个 Skill 统一在关键步骤开始前,用带图标和边框的醒目文本块说明「第几步、当前步骤、做什么、为什么」;直接调用也生效,同一步不重复刷屏。更新后新建任务或会话加载新指令。 +- 升级到 v0.18.2:步骤提示改为带左侧竖线的三行引用块,保留图标和连续编号;使用普通正文字号与字重,移除等号边框、大标题和整段粗体。宿主不支持引用时回退普通三行文字。更新后新建任务或重新加载技能。 - 若从 v0.6.x 升级,另确认旧 `scd-dev-loop` 已消失。 更新后可以在 Thinloop 源码仓库运行只读检查器: diff --git a/docs/releases/v0.18.2.md b/docs/releases/v0.18.2.md new file mode 100644 index 0000000..e50992a --- /dev/null +++ b/docs/releases/v0.18.2.md @@ -0,0 +1,7 @@ +# Thinloop v0.18.2 + +全部十三个 Skill 的步骤提示改为轻量 Markdown 引用块,参照用户提供的左侧竖线样式。提示保留图标、当前数字步骤、做什么和为什么,统一使用普通正文字号与字重。 + +移除等号边框、大标题和整段粗体;不支持引用的宿主回退普通三行文字。连续编号、跨技能不重置、未知总数不编造和不重复刷屏的规则保持有效。 + +验证覆盖共用规则与十三入口、仓库检查及独立场景应用。实际渲染取决于宿主,真实使用感受由用户确认;现有会话需重新加载或新建后读取新规则。 diff --git a/marketplace.json b/marketplace.json index 3f1ea1d..b075966 100644 --- a/marketplace.json +++ b/marketplace.json @@ -6,7 +6,7 @@ "name": "thinloop", "source": ".", "description": "Discovery, Web UIUX, architecture, Next project-status navigation, Project DAG decomposition, Execute READY-wave orchestration, Reengineering gates, QuickDev delivery, maintenance, knowledge, and evolution skills with continuity checks; Project itself remains non-executing.", - "version": "0.18.1" + "version": "0.18.2" } ] } diff --git a/skills/scd-quickdev/references/step-communication.md b/skills/scd-quickdev/references/step-communication.md index fbb0c4d..52749b6 100644 --- a/skills/scd-quickdev/references/step-communication.md +++ b/skills/scd-quickdev/references/step-communication.md @@ -4,18 +4,19 @@ ## 展示方式 -默认使用带等号边框和图标的文本块: +默认使用带图标的紧凑 Markdown 引用块,以左侧竖线分组,使用普通正文字号和字重: -```text -======= 🧪 第 3 步:验证修改 ======= -🎯 做什么:运行本次变更的相关测试和仓库检查。 -💡 为什么:确认修改解决了目标问题,并检查是否影响现有行为。 -================================ +```markdown +> 🧪 第 3 步:验证修改\ +> 🎯 做什么:运行本次变更的相关测试和仓库检查。\ +> 💡 为什么:确认修改解决了目标问题,并检查是否影响现有行为。 ``` +实际发送时直接输出引用块,不要套代码围栏。三项各占一行;前两行末尾用反斜杠保留换行。不使用等号边框、Markdown 标题或整段粗体;标题和字段也保持普通字重。行动和原因各用简短的一句话,避免长段落。 + 步骤标题必须带与当前行动相符的图标,例如 🔎 检查、🛠️ 实施、🧪 验证、👥 独立验收、⏳ 等待或 🚧 阻塞;「做什么」与「为什么」分别用 🎯 和 💡 标识。图标不能代替文字。用具体中文任务名,必要时附技能名;不要只写「执行 scd-quickdev」或「处理中」。行动和原因各用一句话,原因应结合当前任务说明目的、要消除的不确定性或要避免的风险,不用「因为流程要求」代替解释。只提供用户可理解的简短理由,不输出内部推理链。 -宿主不支持文本块时,使用带图标的粗体步骤标题与独立的「🎯 做什么」「💡 为什么」两行,保持醒目。必须注明当前第几步,默认用「第 N 步:具体任务名」,实际输出时把 N 替换为数字。按当前任务已展示的实际步骤从 1 连续编号,进入新的有意义步骤才递增;同一步进度更新沿用原编号,切换子技能不重置。恢复任务时先核对已有编号,无法核实时明确以本次恢复为编号起点。总步数已确定时显示「第 N/M 步」;总步数未知时只显示「第 N 步」,不编造总数、百分比或固定流程。 +宿主不支持引用块时,回退为普通三行文字,仍保留图标、数字步骤和两个字段,不增加装饰边框或粗体。必须注明当前第几步,默认用「第 N 步:具体任务名」,实际输出时把 N 替换为数字。按当前任务已展示的实际步骤从 1 连续编号,进入新的有意义步骤才递增;同一步进度更新沿用原编号,切换子技能不重置。恢复任务时先核对已有编号,无法核实时明确以本次恢复为编号起点。总步数已确定时显示「第 N/M 步」;总步数未知时只显示「第 N 步」,不编造总数、百分比或固定流程。 ## 何时更新 diff --git a/tests/step-communication.test.mjs b/tests/step-communication.test.mjs index 7fc0156..5229faf 100644 --- a/tests/step-communication.test.mjs +++ b/tests/step-communication.test.mjs @@ -21,9 +21,21 @@ test("全部直接技能入口在工作流前加载唯一的步骤沟通规则", } }); -test("模板醒目且每步说明具体行动与原因", () => { +test("模板使用普通正文的三行引用块并保留编号、图标和行动原因", () => { const source = fs.readFileSync(canonical, "utf8"); - assert.match(source, /```text\n======= 🧪 第 3 步:[\s\S]*\n🎯 做什么:[\s\S]*\n💡 为什么:[\s\S]*\n={7,}\n```/); + const sample = source.match(/```markdown\n([\s\S]*?)\n```/)?.[1]; + assert.ok(sample, "must provide a Markdown blockquote example"); + const lines = sample.split("\n"); + assert.equal(lines.length, 3); + assert.match(lines[0], /^> 🧪 第 3 步:/); + assert.match(lines[1], /^> 🎯 做什么:/); + assert.match(lines[2], /^> 💡 为什么:/); + assert.ok(lines.slice(0, 2).every(line => line.endsWith(String.fromCharCode(92))), "preserve line breaks in one quote block"); + assert.doesNotMatch(sample, /={3,}|^>\s*#|\*\*|```/m); + assert.match(source, /实际发送时直接输出引用块,不要套代码围栏/); + assert.match(source, /普通正文字号和字重/); + assert.match(source, /不使用等号边框、Markdown 标题或整段粗体/); + assert.match(source, /宿主不支持引用块时,回退为普通三行文字/); assert.match(source, /直接调用任何子技能/); assert.match(source, /具体中文任务名/); assert.match(source, /步骤标题必须带与当前行动相符的图标/);