gstack-lite Planning Discipline gstack-lite Planning Discipline【免费下载链接】gstackUse Garry Tans exact Claude Code setup: 23 opinionated tools that serve as CEO, Designer, Eng Manager, Release Manager, Doc Engineer, and QA项目地址: https://gitcode.com/GitHub_Trending/gs/gstackInjected by the orchestrator into spawned Claude Code sessions. Append to existing CLAUDE.md.Planning DisciplineRead every file you will modify. Understand existing patterns first.Before writing code, state your plan: what, why, which files, test case, risk.When ambiguous, prefer: completeness over shortcuts, existing patterns over new ones, reversible choices over irreversible ones, safe defaults over clever ones.Self-review your changes before reporting done. Check for: missed files, broken imports, untested paths, style inconsistencies.Report when done: what shipped, what decisions you made, anything uncertain.文档开头两行即声明了自己的运行方式 - **由编排器注入**Injected by the orchestrator into spawned Claude Code sessions它不是用户手写的配置文件而是 OpenClaw 编排器在派生会话时自动拼进提示词前缀的上下文 - **只追加、不覆盖**Append to existing CLAUDE.md当目标仓库已有 CLAUDE.md 时必须以新增小节的形式附加绝不替换仓库既有的工程指令。[docs/OPENCLAW.md](https://link.gitcode.com/i/fc85cbf574e9518a10ef1fa66183d3c8) 将此称为 CLAUDE.md collision handling并明确要求 APPEND 而非 replace。 gstack 与 OpenClaw 的集成定位在 [docs/OPENCLAW.md](https://link.gitcode.com/i/fc85cbf574e9518a10ef1fa66183d3c8) 中表述得非常直白gstack 是方法论来源而非移植的代码库a methodology source, not a ported codebase整个集成是一个编码为提示词文本的轻量协议——无 daemon、无 JSON-RPC、无兼容性矩阵提示词就是桥梁The prompt is the bridge。gstack-lite 正是这条协议中最核心的载体之一。 ## 二、五条规划纪律逐条解析 ### 规则 1先读后改——Read every file you will modify Read every file you will modify. Understand existing patterns first. 这条规则强制 Agent 在动任何一行代码之前先完整读取所有将被修改的文件并优先理解既有代码模式。它针对的是 Agent 协作中最常见的一类事故在不了解模块既有约定的前提下引入风格冲突的改动或者遗漏同名工具函数导致重复实现。规则 4 中的自检清单见下文实际上就是这条规则的对偶验证——先读是为了知道后审是为了没漏。 ### 规则 2先声明计划——what / why / files / test / risk 五要素 Before writing code, state your plan: what, why, which files, test case, risk. 写码之前必须先陈述计划且计划必须包含且仅包含五个要素改什么what、为什么改why、动哪些文件which files、测试用例test case、风险risk。这五要素恰好覆盖了变更的四个维度意图、范围、验证、回退成本。[docs/OPENCLAW.md](https://link.gitcode.com/i/fc85cbf574e9518a10ef1fa66183d3c8) 将这条概括为 Write a 5-line plan: what, why, which files, test case, risk——计划应当短到五行的量级短计划本身就是任务理解到位的信号如果计划写不出来说明 Agent 还不该开始写码。 ### 规则 3歧义消解的四组优先级 When ambiguous, prefer: completeness over shortcuts, existing patterns over new ones, reversible choices over irreversible ones, safe defaults over clever ones. 当任务描述或代码库中存在歧义、无法或不该向人提问时按四组固定优先级消解 | 偏好 | 反例 | 工程含义 | |------|------|----------| | 完整性优于捷径 | 跳过边缘分支、只写典型路径 | 宁可多写不可留半吊子实现 | | 既有模式优于新模式 | 为一次小改动引入新抽象/新依赖 | 与规则 1 呼应遵循第 1 条读到的 pattern | | 可逆选择优于不可逆选择 | 先删旧代码再写新代码、直接改迁移文件 | 保证 Agent 会话失败后可回滚 | | 安全默认值优于聪明方案 | 默认开启破坏性开关 | 与 gstack 的 one-way door 理念一致 | 值得注意的是OpenClaw 会话是无人值守的派生会话规则 3 实质上替代了人类 review 环节对歧义的裁决——它把遇到歧义问人降级为遇到歧义按固定原则自决这正是派生会话能端到端跑完的前提。 ### 规则 4汇报前自审——四类遗漏检查项 Self-review your changes before reporting done. Check for: missed files, broken imports, untested paths, style inconsistencies. 在报告完成之前必须自审检查清单固定为四类 1. **missed files遗漏文件**改动是否波及未修改的关联文件类型定义、导出表、文档 2. **broken imports断裂导入**重命名/移动后是否存在悬空引用 3. **untested paths未测路径**新增分支是否有测试触达 4. **style inconsistencies风格不一致**与规则 1 读到的既有模式是否一致。 这份清单与 gstack 测试套件中 review 类技能关注的缺陷类别高度同构等于把 code review 的最小子集前置到了 Agent 自我对话里。 ### 规则 5结构化完工汇报 Report when done: what shipped, what decisions you made, anything uncertain. 完工汇报必须包含三段内容交付了什么what shipped、做了哪些决策decisions made、哪里仍不确定anything uncertain。最后一段尤其关键——派生会话的产出要回流给编排器和最终用户uncertain部分决定了编排器是否需要追加一轮 FULL 级别的复核。这也是 gstack-full 流程第 5 步 Report back: PR URL, what shipped, decisions made, anything uncertain 的轻量版见 [gstack-full-CLAUDE.md](https://link.gitcode.com/i/ddf5c0703d24aff48241126a18150514)。 ## 三、gstack-lite 在哪里被使用五档分发体系中的 Medium 档 gstack-lite 不是孤立存在的。[docs/OPENCLAW.md](https://link.gitcode.com/i/fc85cbf574e9518a10ef1fa66183d3c8) 定义了 OpenClaw 编排器在派生会话时必须做出的分档决策 | Tier | 触发场景 | 提示词前缀 | |------|----------|------------| | **Simple** | 单文件编辑、错别字、配置变更 | 不注入 gstack 上下文 | | **Medium** | 多文件特性、重构 | **追加 gstack-lite CLAUDE.md** | | **Heavy** | 需要特定 gstack 技能 | Load gstack. Run /X | | **Full** | 完整特性、目标、项目 | 追加 gstack-full 管线 | | **Plan** | 帮我规划一个 Claude Code 项目 | 追加 gstack-plan 管线 | 对应地[agents-gstack-section.md](https://link.gitcode.com/i/3f82b479f1e841ba7093abbbaf809577)可直接粘贴进 OpenClaw AGENTS.md 的分发路由片段给出了 MEDIUM 档的具体派生方式MEDIUM:multi-file features, refactors, skill edits → sessions_spawn(runtime: acp, prompt: \n\n )即把 gstack-lite 的全文作为提示词前缀、后接用户任务原文通过 sessions_spawn(runtime: acp) 派生一个 ACP 运行时上的 Claude Code 会话。该文件还给出了配套判定启发式 - 十行以内能改完→ **Simple**不注入 - 涉及多文件但思路显而易见→ **Medium**注入 gstack-lite - 用户点名了具体技能/cso、/review、/qa→ **Heavy** - 是特性/项目/目标而非单个任务→ **Full** - 想先规划、暂不实现→ **Plan** 同时该文件规定了三条不可协商的上游规则永远由编排器派生会话而非把用户推去手动打开 Claude Code派生前必须先解析出目标仓库路径autoplan 要端到端跑完再回报。对 gstack-lite 而言它的定位就是介于裸任务与完整方法论之间的那一档注入了方法论的最小内核5 条纪律但不加载任何 gstack 技能不跑 /autoplan也不产生 PR。 ## 四、生成机制模板源文件与字节级拷贝管线 [gstack-lite-CLAUDE.md](https://link.gitcode.com/i/24e0df819072b466f1324e535d16b658) 本身是**生成产物**。真正的源文件是 [templates/gstack-lite-CLAUDE.md](https://link.gitcode.com/i/f357d6a568b9e2ee89b707490a29cf6a)即 openclaw/templates/ 下的同名文件二者当前内容逐字节一致。 生成逻辑位于 [scripts/gen-skill-docs.ts](https://link.gitcode.com/i/9a0a3a6a07bca8abb4713a0587e6d36b) typescript // Generate the OpenClaw orchestrator-injection docs (gstack-lite / gstack-full / // gstack-plan CLAUDE.md snippets). Sources live in openclaw/templates/ — // plain markdown, no placeholder resolution — and are copied byte-for-byte // to openclaw/ at gen time. if (currentHost openclaw !DRY_RUN) { const openclawDir path.join(ROOT, openclaw); const openclawTemplatesDir path.join(openclawDir, templates); for (const variant of [lite, full, plan] as const) { const fileName gstack-${variant}-CLAUDE.md; const content fs.readFileSync(path.join(openclawTemplatesDir, fileName), utf-8); fs.writeFileSync(path.join(openclawDir, fileName), content); console.log(GENERATED: openclaw/${fileName}); } }几个实现要点无占位符解析与仓库其他 SKILL.md 的模板渲染不同这三份注入文档是纯 Markdown不做任何 placeholder resolution直接 byte-for-byte 拷贝到openclaw/目录触发条件仅当--host openclaw且非 dry-run 时执行完整命令为bun run gen:skill-docs --host openclawdocs/OPENCLAW.md 的 Installation 一节同时说明./setup --host openclaw会输出该集成文档新鲜度门禁同一脚本的 dry-run 模式会把已生成文件与模板比对不一致即报 STALE 并让--host all构建失败保证模板改动必须伴随产物再生成。从源码结构看OpenClaw 作为一等宿主还贡献了宿主配置 hosts/openclaw.ts其中extraPathRewrites把文档中的CLAUDE.md改写为AGENTS.md适配 OpenClaw 的项目说明文件命名并声明了Co-Authored-By: OpenClaw Agent agentopenclaw.ai提交尾注。此外OpenClaw 会话中 gstack 会识别OPENCLAW_SESSION环境变量并调整行为跳过交互提问自动选择推荐项、跳过升级检查与遥测提示、聚焦任务完成与文字汇报——派生时通过sessions_spawn的env: { OPENCLAW_SESSION: 1 }设置见 docs/OPENCLAW.md Spawned session detection 一节。五、与 gstack-full / gstack-plan 的边界三份注入文档构成同一目录下的互补体系理解边界有助于正确选择档位gstack-lite-CLAUDE.mdMedium只有纪律不管流程——读完、计划、自审、汇报不运行任何 gstack 技能gstack-full-CLAUDE.mdFull串联现有技能——读 CLAUDE.md →/autoplanCEO 工程 设计评审→ 实现 →/ship产出 PR → 回报 PR 链接与决策且PR 就绪前不向人提问gstack-plan-CLAUDE.mdPlan只规划不实现——/office-hours产出设计文档 →/autoplan全量评审 → 计划落盘到plans/project-slug-plan-date.md→ 回报计划路径、摘要与下一步建议通常是用 gstack-full 开新会话实现。docs/OPENCLAW.md 在 gstack-lite 一节给出了官方对其效果的说明约 15 行规划纪律A/B tested: 2x time, meaningfully better output官方文档称耗时约翻倍但产出质量有显著提升——这是用少量上下文预算换多文件任务正确率这一设计取舍的直接依据。六、复用建议把 5 条纪律搬进自己的 CLAUDE.mdgstack-lite 的价值密度在于它是一份可直接复制的最小 Agent 工程纪律。在自己的仓库 CLAUDE.md 中追加等价小节按 gstack 的追加原则勿覆盖既有指令即可获得相同约束## Planning Discipline 1. Read every file you will modify. Understand existing patterns first. 2. Before writing code, state your plan: what, why, which files, test case, risk. 3. When ambiguous, prefer: completeness over shortcuts, existing patterns over new ones, reversible choices over irreversible ones, safe defaults over clever ones. 4. Self-review your changes before reporting done. Check for: missed files, broken imports, untested paths, style inconsistencies. 5. Report when done: what shipped, what decisions you made, anything uncertain.【免费下载链接】gstackUse Garry Tans exact Claude Code setup: 23 opinionated tools that serve as CEO, Designer, Eng Manager, Release Manager, Doc Engineer, and QA项目地址: https://gitcode.com/GitHub_Trending/gs/gstack创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考