Install
openclaw skills install @zxc663/shisan-xinuo-workflow一句话定位:把任何工程任务强制按「三级跑道(L1 快速通道 / L2-S 短工作流 / L2-F 完整 9 步)+ L1/L2/L3 封闭清单速判 + 三模式」推进的可审计 Agent 工程纪律工作流,核心纪律可平台无关硬注入。适用:任何动手工程任务——编码/多文件/跨模块/修 bug/建组件/审查/用户点名按流程;不适用:纯聊天问答、单文件只读查询、与工程无关的对话。
openclaw skills install @zxc663/shisan-xinuo-workflow阅读顺序:§1 何时用 → §2 三级跑道 → §3 平台注入 → §4 必问协议 → §5 模式与判级 → §6 最小闭环 → §7 门禁回滚 → §8 易错点 → §9 引用地图 → §10 留档纪律 → §11 会话状态面 → §12 速查表。 每节的写法是固定的「触发 → 步骤(清单)→ 模板 → 自检 → 边界」。哪一步需要「解释」而不是「执行」,它就不属于这里——上报。
Context: state=<读档/新建/单发> L=<L1/L2-S/L2-F> confirm=<无需/已问/豁免:理由>(判级并入 L= 字段)。理解缺口 → 先补依据(澄清提问或现场查证)再继续。任务中途消息不逐条全量复述(逐消息复述=悬空义务,实测触发趋零)——改为阶段边界复述:开工 / 收尾 / L3 决策点 / 方向变化时显式复述确认;L3 确认不豁免;摘要接续的会话可省开工复述,但须一行声明「接续跳过复述,依据=摘要上下文完整」(跳过+声明合法);L1/安静模式复述并入状态行,不另展开(防 token 浪费)。使用:任何工程任务(只要动手干活,就按第 2 节跑道推进);用户要求纪律化执行、工作流治理、工作流规则,或希望 Agent 在跨项目、跨平台时行为一致。本 Skill 每次加载时也会执行第 3 节第 0 步(平台适配)。加载即场景判定 + 承载检查:本 Skill 被加载 / 被用户显式调取时——无论注入核心是否在场(多 Skill 共存平台,在场的注入核心可能是其他 Skill 的,本 Skill 条款不可依赖它触达)——立即按 §2.0 场景判定执行(单发/持续分支、判定不清默认按持续,以 §2.0 为权威,此处不重复);不等用户要求。
不用:替代不了用官方文档学习框架 / 库 / API;也不替代项目自身的约定——与本 Skill 冲突时,项目自身文档优先。
关于落地细则的诚实说明:
details.md确实承载了从真实项目沉淀的细粒度工程经验,其中一部分绑定具体技术栈(Next.js / Prisma / Playwright 等)。请把它当作踩坑日志(那里曾经错在哪)——不是技术教程(该怎么用);流程 / 规则 / 门禁层本身与框架无关。
这是本 Skill 的核心,不是参考项。 每个任务必须按此流程推进。10 秒选道:先按 §5.2 判级速查的分流行回答三问 → 命中 L3 任意项或三问 ≥2 命中 → L2-F 完整 9 步(§2.4);其余、且满足触发条件 → L2-S 短工作流(§2.3);L1 → 快速通道(§2.2)。每次选道在任务记录里留一行。
场景判定(先定单发还是持续项目,再走四步):项目特征判据——工作区有 .git/仓库、多文件、既有 memory/ 或 docs/ 任一即算项目特征。单发使用——工作区无项目特征且任务非工程性质(问答/分析/检索/单点修改)→ 纪律全走、文档豁免:复述/严谨分析/判级/红线照常执行,但第 2 步承载检查跳过——不建 memory 一档/规则文件/docs,交付回复声明一行「单发模式:未建承载」(供用户纠偏)。持续项目——工作区有项目特征任一,或任务工程性质(多文件/跨模块/长期迭代),或用户点名项目 → 四步全套+承载创建强制(含回指)。判定不清 → 默认按「持续」处理(先建承载兜底,宁多留档不少留;确认单发后删除承载文件即可,可逆——误判持续的代价是删几个文件,误判单发的代价是任务中途扩展后丢初始上下文,后者更贵)。
| 步 | 动作 | 出口产物 |
|---|---|---|
| 1 | 复述理解+状态行(无条件第一步,含 L1 与单发):严谨复述指令目标/边界+规则要点——不自以为是「理解了就理解了」;并输出一行可 grep 状态行 Context: state=<读档/新建/单发> L=<L1/L2-S/L2-F> confirm=<无需/已问/豁免:理由>。理解缺口 → 先补依据(澄清提问或现场查证)再继续。现状/目标模糊 → §2.1 状态澄清;摘要接续的会话走 §0 接续豁免(跳过+一行声明合法,L3 确认不豁免) | 状态行 + 复述(用户可纠偏) |
| 2 | 承载检查(扫描 → 定根 → 建补,一气呵成;持续项目强制 / 单发豁免):列根目录一层(>20 项或超大仓库 → 只列目录名计数+按任务关键词探一层)→ 形态判定;多目录混杂 → 按任务焦点定承载根(留一行「承载根=X,依据 Y」,真歧义才问;可疑 → 停下确认不静默落盘);无 memory/agent-log.md → 自动建一档制单文件(四区骨架从 templates/agent-log-template.md 复制,禁空文件占位;旧五件套项目已就绪沿用——收敛口径:agent-log 作入口档,状态段/教训区以指针回指权威 memory 体系,仅流水区增量,勿另起平行体系);无 docs/project-info.md 且多文件 → 建索引式六节(§2.5);无项目级规则文件 → 按 platform-adaptation.md 项目级注入点表定名自动建(先查既有:合并不覆盖+先备份;回指本 Skill = 强制字段,缺失 = 不合规——同空文件占位)——不等许可;已就绪 → 增量补缺。版本控制开局(按场景):空目录新项目=git init+初始 commit;接手他人仓库=先 git log/status 摸底+把现状 commit 为基线(干净工作树)再动手,改动前留回滚点(#307) | 形态判定 + 承载就绪(创建清单或「已就绪」或「单发模式:未建承载」) |
| 3 | 记忆对齐(最小读取):读 memory/agent-log.md 状态段一屏;教训区 T1/T2、偏好段、流水区按当前症状精确检索命中条目,不整篇载入——平台有原生记忆机制(auto-memory / 记忆文件)时不重复预读:跨会话偏好与事实续接交给平台记忆,本档聚焦项目审计 | 读取记录(或「平台记忆在场,按症状检索」一行) |
| 4 | 判级选道:§5.2 判级速查 + 三问分流 → 三级跑道 | 选道一行 |
L1 豁免:整体标注「L1 精简」→ 承载检查豁免、承载增量补缺不豁免(已就绪零动作);状态行+复述不可豁免(§0 复述前置;L1 复述可并入状态行一行)。
当用户理不清项目状态、目标不明、或主流程第 1 步发现现状模糊时,切换为「专属战略顾问」模式:主导节奏、一次一问、连续有穿透力的追问,帮用户把信息理清——先走「状态澄清」对话(references/workflows.md §0.0 澄清流程):主导式逐层追问(一次一问)→ 摸清现状、拆解问题、锁定关键线索 → 产出【澄清纪要:目标 / 现状 / 约束 / 卡点】→ 用户确认后回到选道(§2)继续。
触发:§5.2 判级为 L1(改名、文案、格式、单行修改等)。
模板:L1 快速通道: 改 X → "cmd"(exit=0) → done.
自检:□ 复述已记录 □ 验证命令可重跑且清 □ 任务记录标注「L1 快速通道」(是命名通道,不是静默跳步)。
跳步豁免:L1 快速通道跳过的中间步(第 2-8 步)豁免「无法产出的步须逐一写明理由」的门禁——整体标注「L1 快速通道」一次即视为已登记理由,不为每步单列;开工序列四步同步豁免(§2.0 L1 豁免——承载检查免,承载增量补缺与复述不免)。
触发:≤3 文件、单域、与既有模式同构;§5.2 三问 <2 命中。哪怕涉及 1 个新端点 + 1 个新依赖,仍走 L2-S——但必须走第 1 步对接真相清单。
对接真相调研(必做,绝不跳过)——任何写码前先填这张小表:
| 模块 | API/端点 | 对接方式(path/method/envelope/fields/package) | 证据来源(source:line / contract / docs) |
|---|
填表规则:grep 调用点 → 读 schema/类型 → 确认包归属 → 才写。命名直觉是被禁止的(实证反例:envelope 不解包、api.get 实际返回 ApiResponse、recharts 走错包、Nest DI 名称不匹配)。
复述 3 短行:改哪 / 影响什么 / 怎么验。
免 plan 文档:单文件 → 直接做;≤3 文件 → 一行「改动 + 验收 + 回滚基线」。
执行 + 最小验证(可重跑,捕捉退出码)。
GATE 行(§7)+ 状态面贡献行(§11)。
自检:□ 对接表每行有证据来源 □ 3 条验收可验证(数字 / 可见状态 / 可重跑)□ GATE 命令可重跑。 边界(省什么):免联网双调研(S2/S1 档,见 workflows.md §0.5)、免产品五问深度、免 plan 文档、免多轮提问——但必问协议与红线不豁免;方向 / 边界有歧义 → §4。
触发:§5.2 三问 ≥2 命中,或命中 L3 封闭清单任意项。
最铁铁律(复用铁律):以最少的代码,实现最完整的功能和体验,并达到需求描述——就是最好的代码。能复用就复用,风格适配或二次开发都可以,绝不自己自研组件。 设计成本铁律:好的设计是昂贵的,但糟糕的设计成本更高——界面、交互、架构决策按「后期改造成本」评估,不按「当下实现成本」评估;炫酷特效实现成本低,可用性差或后期改造的代价高。
| 步 | 动作(触发 → 执行) | 出口产物(无则不进入下一步) |
|---|---|---|
| 1 | 接收指令:第一性原理理解——本质 / 必要 / 惯性 | 任务本质一句话 |
| 2 | 调研实际资源:真实代码(现状证据)+ 结构 / 契约 + 对接真相表(§2.3) + 模块清单(真实状态:已实现 / 规划中 / 未实现)+ 环境 + 可用 Skill / MCP;教训区按症状检索(命中记一行,0 命中 → 记「无既往经验」——不整篇预读) | 现状事实清单(含文件 / 行号 / 结论 + 教训检索行) |
| 3 | 双调研一次完成:①联网调研——开源成熟项目 / 库 / 方案 + 可验证的可信信号(stars / 下载量 / 维护活跃度 / 被采用证据,不以「网上都说火」为依据;细节见 references/workflows.md §0.2;离线 / 无网络是合法降级:跳过远程调研,产物标注 degraded-offline)②复用调研——本地项目 → 市面开源成熟项目,能复用就复用(复用五问),绝不自己自研组件。设计类动作前置(前端尤甚):逐组件调研成熟规范(官方文档 / 事实标准 / 机读设计系统:组件 API / tokens / 交互态 / 可访问性基线),产出强制留档 docs/design-specs/<主题>.md(或既有设计系统档追加,禁只留在对话里),实现按档设计并回指(details #284) | 市面方案调研记录(候选 + 可信信号 + 降级情况)+ 复用结论(或设计规范档 + 回指行) |
| 4 | 复述理解:目标 / 边界 / 验收口径 | 用户确认(对齐后继续) |
| 5 | 疑问必问:执行不理解或方向偏移 → 提问并结束回合等待(§4) | 提问 / 确认记录 |
| 6 | 产品视角审查 + 约束假设 + L1/L2/L3 分级 + 回滚点:以产品角度审视(体验与表现优先);产品视角五问(L2/L3 计划默认强制)——诉求一句话拆解 / 被否候选 ≥1 / 返工成本 / 边界与不做的清单 / 3-5 条可验证验收;触发「反复要求审查 / 存量项目反复不足 / 知道不够好但说不清」时,先做产品完善度诊断(五问定位缺陷落在:功能逻辑 / 代码耦合 / 界面 UI / 人性化互动流程 / 其他,见 workflows.md §0.3)再动手 | 五问记录 + 风险分级 + 回滚点记录 |
| 7 | 规划与验收文档(双调研后):先完成双视角调研——①工程师视角(代码实况 / 技术可行性 / 复用,见第 2、3 步)②产品经理视角(当前设计规划的合理性:本质需求 / 设计是否完备 / 体验·UI·交互是否符合产品定位,见 workflows.md §0.4)——再产出详细规划文档(双调研结论 + 功能清单优先级 + 3-5 条可验证验收标准;目标模式加预算与文件边界) | 详细规划文档(含双调研结论) |
| 8 | 执行:按分级执行;目标模式按计划自主、节点记录、超预算自动停 | 执行记录 / 变更 |
| 9 | 自查与归档:最小验证 → 真实用户走查一遍(不可用改到可用,允许多轮)→ 交付五查 → GATE 块 → 留档(§10)→ 提交附说明 | GATE + 验证结果 + 归档 |
门禁:进入下一步前,上一步的出口产物必须存在且已记录;无法产出的步(如明确无需调研)也要在任务记录里写明理由,不得静默跳过。
触发:工作区根无 memory/ 骨架 或 无 docs/ 指导(或碎片化)——触发是存在性判定,不取决于「算不算新项目」(实测:大型仓库仍会因判定犹豫而漏建承载——存在性判定防犹豫)。
docs/project-info.md(若文档已覆盖部分 → 建索引式入口,绝不重复内容)。模块 | 真实状态(已实现/规划中/未实现) | 关键描述 | 关键词锚定(真实状态是命脉——绝不可把规划中的写成已实现;关键词锚定列 = 每模块 3-8 个检索锚词,任务按「关键词 → 锚词 → 文件」定位再读、不盲扫全仓——手动版仓库地图,details #275)④调研导航(本文档用途:按状态 × 改动面决定调研哪些 / 跳过哪些)⑤参考资源(名称 + 用途 + 路径,后续可复用)⑥复述给用户确认(签名列)。自检:□ 六节齐全 □ 状态属实 □ 复述已获用户确认 □ 本会话有变更则已更新。
完整引导(含 4 步运行序 / 严格度档位 / 诚实前提)见 references/new-project-bootstrap.md。
开始任务前,先把本工作流硬加载到当前平台:
agent- 前缀 → 一行提示「可运行 scripts/install-skill.ps1 一键带前缀重装(自适配到目标平台技能目录);不愿改名则靠 description 触发,按需注入平台不强制」;带 agent- 前缀 → 静默通过。两个合规出口:①无法确定目录名 → 不猜测、不阻塞任务,状态面记一行「前缀自检:目录名未知,跳过」;②用户已明确选择不改名 → 在 agent-log 状态段记一行「保持无前缀」,此后本自检静默。前缀意义:技能列表按字母序置顶,便于按需注入用户发现(README FAQ)。
触达承载面(实证:自检只写在 §3 时长期 0 触发——仅靠按需加载无法保证每会话触达):本条权威源在 SKILL §3,执行依赖每会话在场的两层承载——injection-core.md 开工序一行(硬注入规则层)+
templates/memory-anchor.md锚点行(记忆层)。
references/platform-adaptation.md 的特征清单判断(目录标志、环境变量、工具可用性)。
1.5. 识别与调研注入点(不猜):识别当前 Agent 平台后,联网调研该平台官方注入点(记忆文件 / 规则文件 / hooks 支持,官网 docs 优先;离线降级 degraded-offline + 本地经验库),再按官方机制注入——禁止凭习惯猜注入点。platform-adaptation.md 注入点表——Trae:~/.trae-cn/user_rules/*.md(用户全局,文件存在即每会话自动注入,无需应用内启用)或项目 .trae/rules/project_rules.md;Claude Code:~/.claude/CLAUDE.md 或项目 CLAUDE.md;Codex:AGENTS.md;Cursor:.cursor/rules/*.mdc;Windsurf:.windsurfrules;WorkBuddy:agent-app 全局规则文件(如 ~/.workbuddy/AGENTS.md)。只写进应用从不读取的工作区文件是无效的。硬注入承载面 = 记忆层(每会话在场锚点,首行在场提示)+ 规则文件 + 平台配置文件(hooks / 全局设置),见 platform-adaptation.md 第 2.2 / 2.1 节——先实测可用性再部署。templates/memory-anchor.md,首行为「在场提示 · 工作流 Skill 现已在场」——新会话读到即识别本 Skill 在场)+ 规则层(把 references/injection-core.md 的核心全文写入规则文件)+ 配置文件层(hooks/全局设置,平台支持才写,§2.1)——每步先备份既有文件、合并不覆盖。写前必须提醒用户授权(平台 / 三层目标 / 内容长度 / 每会话成本 / 影响范围)。工作流每会话无条件在场,不依赖模型自觉加载本 Skill(常驻核心有字符预算硬上限,瘦身后 ≤6K 字符)。注意:不要用「每个会话开工前必须完整读取本 Skill 的 SKILL.md」这类弱指令实现强制注入——模型不会可靠执行,必须直接写入核心全文与在场锚点。
无提问工具可用时默认按需注入,并明确告知用户。install-skill.ps1 -HardInject / 换平台 / 靠 §9 TOP 内联兜底),未验证生效前不得宣称成功。作者判据:新会话常驻不可用、或自检彩蛋 zxc663 未触发 → 证明本 Skill 需要用户主动触发或配置触发器(平台 hooks / SessionStart)——「提示词在场」≠「机制在场」,触达本质上属提示词边界,不作机制的过度承诺。未完成前不得开始任务。memory/agent-log.md)/ docs 六节(多文件时)/ 项目规则文件按 platform-adaptation.md「项目级注入点表」定名 + 回指强制(合并不覆盖+先备份);创建自检四项(details #282:定名按表 / 回指在场 / 承载根非临时未命名 / 汇报路径——实测:承载清单不列项时模型只建 memory/ 不建规则文件,文件名必须查表定)。均自动动作、无需授权;授权边界见 §4。边界:绝不预载 references。
触发:本 Skill 上游更新;用户要求拉取 / 更新(或状态面显示版本不一致)。
python scripts/syncer.py(仓库根):①体检(发现副本中上游没有的用户文件)②备份 .bak-<ts>(备份落在 skill-backups/——平台扫描路径之外,见下)③迁移非源文件(如 personal-playbook.md → user-notes/)④覆盖上游(SKILL / references / templates)⑤落变更清单 + 双 task-log(仓库 memory/task-log 与副本 memory/task-log)。CONFLICT 交用户。user-notes/,否则下次同步被覆盖。自检:□ 脚本 exit=0 □ 变更清单存在于两处日志 □ user-notes / memory / .bak 未被碰 □ 备份目录在扫描路径外 □ 两个副本的版本行一致。
触发(命中任一即停止并提问):方向不明或有歧义、理解不尽确定、需求冲突、权限/密钥处理、破坏性操作(删除、迁移、覆盖写、对外发布)、架构或技术选型、范围扩大、方案分歧。问清楚比问少了更重要,理解需求比模糊执行更重要。
必问底线(问清楚比直接做重要 · 任何模式含自主/无人值守):新建项目/技术选型/地基决策(存储/架构/打包形态)前必问场景清单,一次结构化问全再动手——①使用:跨设备?分发形态(自用/打包 exe/交付他人)?②数据:规模增长/敏感度/备份与迁移预期?③环境:目标机 OS/运行时/浏览器/离线要求?④偏好:视觉风格与交互参照?⑤演进:功能预期/维护者/验收标准?⑥性能/安全/交付约束(验收/时间/技术栈偏好/依赖容忍)同样必问;问题宁多勿漏,全景清单见细则 #306;「你看着选」类笼统授权只覆盖明示项,未答项仍必问;决定须有依据(用户原话/调研档),禁凭空想象;环境盘点与成熟设计调研前置到计划前,不得以「诚实声明未调研」替代调研义务(见 §2.4 步 2/3)。设计确认先于写码——设计档落档后暂停呈现用户确认再实现(#312);自主会话降级为落档+暂停行声明。
红线 ↔ 必问映射(速查):
| 触发 | 必问动作 |
|---|---|
| 密钥 / 权限 | 暂停;绝不把密钥写入代码 / 文档 / 提交 / 对话;涉及权限授予先问 |
| 数据删除 / 迁移 | 暂停;先列命令清单 → 等确认再执行 |
| 数据或服务迁移 | 暂停;先问迁移方案与回滚点 |
| 对外发布 | 暂停;先获用户批准,再进入约 30 分钟观察期 |
| 硬注入三层写入(记忆层/规则层/配置层) | 暂停;先提醒用户授权(平台 / 三层目标 / 内容长度 / 每会话成本 / 影响范围),确认后才写 |
| 架构选型 | 暂停;先给选型对比 + 推荐 + 理由 |
| 新项目/地基决策(存储/打包/技术栈) | 暂停;先问场景清单(跨设备/分发/数据/环境/偏好/演进,#306)再选型 |
| 超预算破坏性操作 | 暂停;列命令清单 → 等确认 |
| 项目工作区内写文件(memory/ 骨架、docs/、代码) | 不暂停——自动动作;依 §3 第 6 步直接建(实测:把「自动建」误当「需授权」导致承载漏建) |
提问规则:
request_user_input、AskUserQuestion、ask_user 等)②不可用时:结构化文本协议——呈现(a)理解、(b)选项与优缺点、(c)风险与后果、(d)推荐方案——然后结束回合等待答复。完整协议见 platform-adaptation.md。偏好记忆:用户做出确认的选择(如经提问工具选定的技术栈 / 语言 / 风格)后,写入 agent-log 偏好段(§10);写入后主动向用户复核大类方向(技术栈 / 语言 / 风格方向是否对头),用户指出偏离则按其修正;同类场景下次直接采用,不再重复询问。密钥与破坏性意图绝不写入偏好。
冲突仲裁序——当两个指令源相抵触(本 Skill 指引 vs 项目纪律 vs 设计稿 vs 其他 Skill 默认),按以下固定顺序取最优,只保留胜者(从工作笔记中删除败方引用——绝不两边都听,也不和稀泥折中):
在任务记录中留一行仲裁记录(来源 A vs 来源 B → 采用 X,因为 …)。同一理由的冲突被裁决两次,即升格为常设决策:写入 agent-log 偏好段,不再散落临时笔记——升格必带「前提 + 重开条件」两字段(前提失效即可重开,details #279)。
触发:做出关键决定 / 方向改变 / 口径确认——不要等到任务结束。决定升格持久层(preferences / 决策审计 / 项目规则)前先走写入门槛(§10:普通模式必问「本次还是长期」,details #278)。
决定:对 X 采用 A(评分/理由一句话)|依据:<证据 / 用户原话 / 根因>|影响:<范围> → 追加进任务记录决策行。自检:□ 每个关键决定有证据句 □ 总复述覆盖全部子点(要点式)□ 无重复段落。 边界:琐碎细节决定(§12 P4)不需子复述——只需其日志行。
| 模式 | 触发 | 行为 |
|---|---|---|
| 普通(默认) | 无关键词 | 每个关键决策执行前必问(§4,含理解不尽确定时必问);关键决策即时复述确认 + 决策审计归档(重要决策同样落盘供可解释) |
| 目标模式 | 关键词 目标: / 目标模式 / 无人值守 / goal mode / unattended | 按书面计划自主执行;暂停仅两种情形——重大决策(L3)/ 严重阻塞问题;其余重要决策「先调研 → 按第一推荐推进 → 完整归档供审计翻阅」;每里程碑强制留档;密钥与破坏性操作仍暂停并等待用户;回滚点走本地备份、默认不 git push(省宽带 + token);本地快照就绪 → 破坏性 / 修改类操作可安全执行(L3 除外,仍暂停) |
| 安静模式 | 关键词 安静模式 / quiet / quiet mode | L1 任务只汇报结果(跳过中间推理 / 调研步骤展示),降低视觉噪音与 Token 焦虑;L2/L3 不受影响;密钥与破坏性操作仍必问 |
目标模式附加职责:执行前写计划(范围、风险评级、时间/轮次预算);子任务按依赖边界拆分(details #281:先依赖分析——强依赖保持串行不硬并行,独立子任务并行且带五要素,合并后统一集成验证);边执行边记录;超预算自动停止;结束时交付复盘文档 + 待确认清单。微轮次豁免:cron 空转轮/无人值守微轮次(例行巡检/单轮无实质改动)允许压缩为「一轮一行+GATE」——标注「微轮次豁免」即声明式豁免,静默跳过仍违规。每条用户消息(含任务中途消息)都要检查:①模式关键词 ②按 §0 复述前置(首产物状态行+阶段边界复述)——触发词是活开关,会静默改变决策模型。;降采样合法:长会话/轻任务按比例降采样(阶段复述+块级一行档案+阶段级 GATE),显式声明即合规
本块是 L3 封闭清单、L1/L2 速判与三条跑道分流的唯一权威源;
rules.md、workflows.md等引用处只做摘要并回指本节。三级同步链(三级必须一致):injection-core.md因注入环境自包含必须保留判级要点全文(L3 清单/L1/L2 速判/三问分流——是其一例外),且它已被部署为平台全局注入副本——本块 →injection-core.md→ 已注入的平台全局副本三级必须同步;改判级先改本块,再同步 injection-core,最后重新部署到注入点。
跑道分流(三问,一次答完,防内耗):
| 三问 | 命中 | 走哪条 |
|---|---|---|
| ① 跨 ≥3 包 / 跨 api+contracts+前端?② 涉契约·架构·迁移·对外发布·安全?③ 用户点名「按流程 / 严格分析」? | ≥2 命中 → | L2-F 完整 9 步(§2.4) |
| 其余 → | L2-S 短工作流(§2.3,默认) |
自检:□ 判级落在 GATE level= 字段(判级并入 GATE 输出,不设独立判级行)□ 命中 L3 → L2-F + 暂停行(先问;本地备份取代不了确认)□ L2-F 的边界模板已写(新端点+契约+两页 / 架构 / 迁移 / 密钥+发布 / 多模块联合)。
references/workflows.md)。TODO、未实现、待验证)。绝不假实现。触发:提交前 / 破坏性变更前。
GATE: {level=<L1/L2-S/L2-F>, v=<范围>, cmd=<可重跑命令>, exit=<退出码>, files=<变更文件>, refs=<细则引用计数(grep 自查,0 照报)>, errpath=<症状→处置路径,无错误填—>, lessons=<知识点>, exempt=<未验证声明>}。可重跑的工件 > 自我叙述;验收权在用户;approval:never 只豁免工具级审批,永不豁免确认义务。level 字段:判级并入 GATE 输出(§5.2 判级速查仍要做),不设独立判级行。refs 字段:会话末 grep 细则引用行计数(0 照报 0)。errpath 字段(事后化):遇错误先对「错误必查 TOP」内联处置,处置完成后填 症状→处置路径(TOP 命中 / lookup 执行[贴命中行] / 未跑[理由])——lookup=佐证资源非事前门槛,以 lookup 命令输出为证据,不接受自报(防自报污染;域见 details 头部症状索引);无错误任务填 —。分级形态:包级(任务块收尾)=完整 9 字段一行;子块/轻任务=行内简式(level/v/exit 三字段即可);形态恒为单行(英文短键+中文值+等号大括号符号,定版标准),禁展开多行代码块。console. / 空 catch {} = 零容忍)。目标:、unattended 等)会静默改变决策模型。每条用户消息(含任务中途消息)都要检查。AGENTS.md、CLAUDE.md 等):只备份 + 合并。加载纪律:只在(a)命中下表触发症状、(b)走到点名该文件的步骤、或(c)用户显式要求时才打开对应引用,不预载 references 全量(注:错误必查 TOP 与 mustread 先读属「在场/预读位」,与不预载 references 全量分层不冲突)。某份引用影响了决策时,在任务记录里留一行引用——这是细则层保持「活着」而非装饰的关键。
| 文件 | 内容 | 何时加载 / 触发症状 |
|---|---|---|
references/injection-core.md | 平台无关核心(常驻瘦身版:判级速查/开工四步/三模式/红线/GATE 9 字段/TOP+检索端口/状态行常驻,流程细节回指本文件;每会话注入在场) | 第 3 节强制注入(硬加载)时;「写进我的平台规则」 |
references/platform-adaptation.md | 平台检测 / 注入点表 / 提问工具降级链 / 结构化提问协议全文 | 第 3 节平台检测;平台未知 / 无原生提问工具 / 注入点存疑 |
references/skill-usage.md | Skill 能力发现/注册机制 + 加载决策路由 + 渐进/完整读取分类 | Skill 选型纠结 / 前端设计类任务 / 本地无 Skill 可用 / 弱模型场景 |
references/rules.md | 编号工程纪律(地基);引用具体规则编号或需查规则原文时 | 纪律争议 /「哪条规则这么说的」 |
references/workflows.md | 总纲与澄清流程 / 调研矩阵与分流决策表 / 9 类任务工作流 / 复用五问 / 质量门禁细节 | 现状模糊 / 任务类型不明 / 规划质量存疑 / 产品完善度诊断 |
references/details.md | 落地细则(工程规范 / 具体做法)——17 类,症状索引 | 症状关键词命中踩坑类别([契约] / [构建] / [前端] / [运维] …真实标签集,见索引表)——在不熟悉领域即兴发挥前,先查这里 |
references/security.md | 密钥红线 / 应急响应 / 安全生产红线 / 回滚流程细节 / 提示注入防御 / 供应链与 SBOM | 接触密钥 / 疑似泄露 / 对外发布 / 依赖引入 |
references/never-list.md | 永不清单(明确禁止项)——7 类硬性红线 | 开工、提交、任何 L3 操作前三读逐条核对;有命中即停下修正 |
references/new-project-bootstrap.md | 新项目 4 步引导(骨架 / 引用槽 / 严格度 / 首日经验) | 首次任务 / 无 memory/ 目录 / 迁移的工作区 |
references/local-model-glossary.md | 本地模型部署术语表(vLLM / Ollama / MoE / 量化 / KV 缓存 / Offload / tokens/s / GGUF / Prefill…) | 本地模型部署 / 术语不明 / 短上下文适配(紧凑档,details #273) |
templates/agent-log-template.md | 一档制档案骨架(§10)——初始化状态段/教训区/偏好段/流水区四区 | 项目尚无 memory/agent-log.md |
templates/project-rules.md | 项目级注入规则文件模板(在场锚点 + 项目纪律 + 承载清单)——「项目承载」第五层 | §3 第 6 步项目承载检查③;§2.0 开工四步第 2 步;项目工作区无项目级规则文件(按 platform-adaptation.md 项目级注入点表定名) |
templates/memory-anchor.md | 记忆层锚点块(硬注入第三层)——首行为「在场提示 · 工作流 Skill 现已在场」,约 15–20 行精简锚块 | §3 硬注入三层时;平台支持记忆文件(WorkBuddy MEMORY.md / Trae user_profile.md 等)仍需确定记忆内容时 |
错误处置入口(先对 TOP 内联处置,事后留 errpath):遇到错误 / API 意外形态 / 未知字段或端点 / 新依赖不生效 → 先逐条对照「错误必查 TOP」内联处置(下);需要按症状类搜 details.md 时(如 [契约] / [构建] / [测试] 等真实标签,见头部症状索引)或按关键词检索 → python "<技能安装目录>/scripts/detail_lookup.py" "<症状关键词>" 一条命令完成检索(技能安装目录=平台解析到的 Base directory)——lookup=佐证资源非事前门槛;处置完成后必留 errpath 行:症状→处置路径(TOP 命中 / lookup 执行[贴命中行] / 未跑[理由]);影响决策时任务记录留一行引用——统一写完整前缀形态 details #N 命中:… / 细则 #N,禁裸 #N(裸编号无法与 GitHub issue 编号区分,假阳性实证 9/10)。
错误必查 TOP(唯一权威源 = injection-core 错误段,本处为回指同步——错误发生时先对这几条内联处置):#233 凭命名直觉写对接=假绿(先 grep 调用点 → 读 schema → 确认包 → 再写)|#228 改共享包先重编(旧 dist 是类型真相)|#229 常驻进程旧 dist(行为不符先查 uptime/时间戳,判别先行)|#214 响应形态分层断言(成功=裸数据 / 校验失败=2xx 信封 / 真 404=真状态码)|#163 统一错误契约(code≠0 才算失败,data:null 是合法成功)|#256 / #270 异步栈丢调用点 / 响应体只消费一次|#262 深拷贝/序列化语义变体(undefined 键丢弃)。淘汰机制:TOP 条目挂最近命中证据,2 个干净周期零命中降级(同 experience-mustread 降级制;命中证据记录于 EVIDENCE)。
不要预加载全部引用,只加载当前步骤需要的。你无法自行感知上下文是否被压缩——不靠感知,靠两道守卫:(a)显式信号:用户说「重载 / 你被压缩了 / 从头加载」、或平台明显重置上下文时,立即按重载顺序执行:①重读本 SKILL.md;②重读记忆文件(memory/,见 §10);③重读当前步骤仍需的引用;④向用户复述当前任务与验收标准后再继续;(b)关键节点自检:每次开工、提交、重大决策前,先默写核心要素(三级跑道选道、当前模式、回滚规则、必问协议)——任一要素复述不全,即视为上下文缺失,先重读再继续;压缩/折叠/交接前先核对保留清单五必留(当前任务本质 / 验收标准 / 激活规则原文 / 当前步骤 / 回滚基线——注入核心关键条款),不全则先补齐再压缩(details #272)。
触发:会话始 / 块尾 / 会话末 / 写任何文档产物时。
文档写作分层(通用纪律——本节的写作总纲):正文 = 结论 / 规则本身 + ≤1 句「为什么」(防什么坑,不写何时发现);史料 = 出处 / 拍板人 / 日期 / 版本 / 路测轮次 / 依据前提——只落决策史层(task-log / 决策审计 / CHANGELOG / 项目决策文档),不混入正文与注释。细则/规则类文档的准入字段(details *来源/晋升*、来源注记)按各自机制豁免;依据落盘先对号入座(details #278:辅助性背景随任务归档、一次性理由永不入项目文档);发现某段文字需要「解释」而不是「执行」→ 上报或改写,它不该留在文档里(风格自检,适用于所有产物)。本节以下记录条款(时间戳/活头部/容量/知识五条)是该总纲在会话记录上的执行化。
会话始:执行 §2.0 开工序列四步(复述理解 → 承载检查 → 记忆对齐 → 判级选道——权威源在 §2.0,此处不重复条款;承载三件=memory 一档(memory/agent-log.md)/docs 六节/项目级规则文件按平台注入点表定名)。记忆对齐最小读取:读 memory/agent-log.md 状态段一屏;教训区 T1/T2、偏好段、流水区按当前症状精确检索命中条目,不整篇载入;平台有原生记忆机制(auto-memory / 记忆文件)时不重复预读——跨会话偏好与事实续接交给平台记忆,本档聚焦项目审计。记忆路由裁决:平台原生记忆与项目「开工必读」条款冲突时项目优先(仲裁序),并在项目规则文件/agent-log 首行落一行「本项目权威承载=X」(防双源漂移)。上下文预算法(先定序,防污染):常驻(本核心,小)→ 开工读(agent-log 状态段 + 按症状检索,最小读取)→ 按需(references/、流水区与轮转档历史,到步骤才读,不预载全部引用)→ 结束更新(最小追加,见「完成后更新序」)。
块尾:流水区追加一行(改动 → 验证(结果) → 未验证项 → GATE)——时间戳 YYYY-MM-DD HH:mm:ss(秒级必填;日级 = 不完整);活头部校验:头部 更新: 时间戳必须 ≥ 最新正文条目时间;容量上限:流水区 >200 行或教训区 >150 行 → 旧行/旧条移 agent-log-archive-YYYY-MM.md(移动非删除)。
会话末:①最小验证 + 自查(真实可用 / 边界 / 规则 / 文档同步)→ ②更新 memory/agent-log.md(流水区追加本块一行 + 状态段刷新,结论即时落盘)+ 每项重要决策一行决策审计(决定 / 依据【含前提 + 重开条件,details #278】/ 被否候选 / 影响,落流水区)→ ③更新教训区(新踩坑或重复坑:症状→根因→解决→预防;重复内容只写一处并交叉引用)→ ④更新偏好段(已确认偏好 + 复核提醒;密钥与破坏性意图绝不写入)→ ⑤文档与代码同批提交;会话结束提炼 1-5 条可复用知识点(默认 3 条)。所有关键回滚走本地备份优先、push 仅在需远程保护 / 交付时。
知识点提炼五条细则:每条 1-3 句;提炼可复用规律 / 判断标准;复杂内容先用生活化类比;每条能指导下一步行动;宁少勿多(默认 3、上限 5)——确实没有则写明「本次无新知识点」;双写:知识版(触发场景|判断|行动)进知识文档 / 经验库,个人版(类比 + 判断标准)在对话中交给用户。
工作区 memory/ 一档制 + 自动创建:项目根 memory/——跨会话状态 / 踩坑 / 偏好 / 任务流水统一归档于单文件 agent-log.md(四区:状态段 / 教训区 / 偏好段 / 流水区);任何会话(含下一个 AI)开工先读本档,不存在则从 templates/agent-log-template.md 复制创建。业务真实恰用 memory/ 时,可在项目规则文件内把归档目录改为 .agent-records/(唯一合法覆盖点)。旧五件套分散文件项目已就绪沿用,增量写入本档。memory = 状态层 + 踩坑层,完整规则仍在 references/ 按需加载——互不替代。
状态段是骨架不是日记——硬上限 ≤10 行。只放当前阶段 / 下一步 / 遗留 / 红线 / 回滚基线。开工扫描发现超限时:先把里程碑史迁移到 agent-log-archive-YYYY-MM.md 再开工(移动而非删除)。
经验回流(双击晋升制):项目级踩坑先落 agent-log.md 教训区 T2。同一踩坑在单项目出现两次、或跨两个项目各出现一次(症状相符、根因相同)即触发晋升:按「症状→根因→解决→预防」提炼为可归类条目,提交进本 Skill 的 references/details.md——让后续所有项目的第 2 步症状检索都能命中。回流是「已稳定教训的晋升」,不是首例写入;一次性噪音永不进 Skill。
用户偏好:用户做出确认的选择(技术栈 / 语言 / 风格)后写入 agent-log.md 偏好段;写入后主动复核大类方向;会话开始时读取;同类决策直接采用。语言表达默认中文(回答 / 思考 / 文档 / 注释;代码标识符、标准术语除外)——偏好段记录了偏好语言时以记录为准,未记录时默认中文,不跟随会话输入语言。
配套模板:规划、验收标准、任务记录、复盘、回滚点、提示词预算、一档制档案模板(agent-log-template),以及会话钩子(templates/hooks/)与审查子代理(templates/agents/)均位于 templates/(复制后填写,不原地编辑)。
注入版本: <2.7.1>
细则命中: grep -cE 'references/details|details[ #]+[0-9]{2,3}|细则[ #]+[0-9]{2,3}' <会话产物> → N(0 照报 0);打开类: [契约]×N / [运维]×N
(取证对象=任务记录/会话产物中的细则引用,**只认完整前缀形态** `details #239` / `细则 #233` / `references/details`——裸 `#NNN` 已废弃:无法区分细则编号与 GitHub issue 编号【假阳性实证 9/10】;引用规范见 details.md 头部。产物内嵌本状态面模板时命令定义行自身计 1 次自指——对纯任务记录取证或人工剔除。历史演进见 EVIDENCE §十)
上下文预算: ~X tokens(阈值 150-200K → 压缩 + 重载序)
版本一致性: 副本 vs 源库(不一致 → 跑 syncer.py;**并核对平台解析到的 Base directory**)
上下文账本: 本会话 input 增量 ~X | 最大单次 ~Y | 工具占比 Bash a% / Read b% / 其他 c% | 盘点 N 次(按信号触发)
未验证/待办: <exempt 与未完成项——必须是真待办,不得留「已完成却未清」的陈旧注记>
规则:证据化而非自述;时间戳到秒;待办必须是真待办;本报告不是通过 / 失败声明。
| id | 触发 | 动作 | 模板 / 自检 | 边界 |
|---|---|---|---|---|
| G1 | 任务块结束 | 写 GATE 行(9 字段) | GATE: {level,v,cmd,exit,files,refs,errpath,lessons,exempt};cmd 可重跑;权威定义=注入核心 GATE 段 | errpath=症状→处置路径(事后化,无错误填—);判级并入 level |
| S1 | 会话结束 | 状态面(§11) | 三行起 | 不是通过 / 失败声明 |
| A1 | L2/L3 计划 | 产品五问(§2.4 步 6) | 诉求分解 / 被否候选 ≥1 / 返工成本 / 边界 / 验收 3-5 | L3 增加风险层证据 |
| A2 | 调研 | 严格度档 S3/S2/S1 × 任务规模(workflows §0.5) | S3×小模块=全量;S2×小模块=轻量;S1×小模块=免联网 | — |
| A3 | 同会话 / 同项目已有确认结论 | 显式复用 + 一行引用 | 不重跑同一调研 | — |
| A4 | 无 /plan 指令的 L2 请求 | 复述(目标+边界)+ 3 条验收 + 一句判级 | §2.3 步 2 | S3 严格度 → 先问再开始 |
| A5 | 退出计划模式 | 四件套自检(验收 / 判级 / 回滚点 / 边界) | 缺一不提交 | — |
| B | 新项目、无文档 | project-info.md 六节(§2.5) | 复述经用户确认 | 索引式,不重复 |
| P1 | 意图模糊 | 先沟通;提问带推荐+理由;空答 → 调研 + 待确认标注 | §4 | 绝不把空答当批准 |
| P2 | 同坑 ≥3 | 晋升 agent-log 教训区 T1;2 个干净周期降级 | 一行症状 + 一行对策 | 只写一处(交叉引用) |
| P3 | 大输出 >~40 行 / 子代理报告 | 两步式:读 → 提炼落文件(全文归档)→ 上下文只留指针+摘要;上下文盘点按信号触发(token 增量 / 工具数),约每 5 块一次;账本行只写进 §11(信息单一源);重置点:连续 5 块回引旧内容、或单块成本 >2× 会话均值 → 建议新会话(交接 + 重载序) | 盘点行只写 §11 | 模糊 → 重取记录 / 契约 / 源 |
| P8 | 上下文 40-60%(紧凑档 25-35% 窗口)/ 压缩信号 | 折叠协议(details #272):①保留清单五必留核对(任务本质/验收/激活规则原文/当前步骤/回滚基线)②checkpoint 落盘(agent-log 状态段+流水区)③旧块一行摘要入归档 ④重载序(§9 守卫)⑤状态面记「已折叠 N 块」 | 五必留不全 → 先补再折叠 | 激活规则原文原样保留,不折叠 |
| P4 | 非核心细节 | 决定 + 继续 | 记录决定 + 理由 | 核心 / 边界 / 红线 → 必问 |
| P5 | 发现错误 | 先根因,再修复 | grep 零容忍 | 绕过 / 隐藏 = 违规 |
| P6 | 完成 | 真实运行 + 真实用户走查(L2-F)/ 冒烟所涉路径(L2-S) | 改到可用为止 | 没跑 = 未完成 |
| P7 | 交付 | 五查(需求 / 边界 / 临时 / 无关 / 日志模块) | §7 | — |
| R1 | 计划被拒 / 用户改向 | 拒绝日志:原话 + 隐含需求 → 偏好(agent-log 偏好段)或需求变更(task record)→ 回流 | 各一行 | 拒绝是金矿,不是噪音;拒绝记录同带前提,重开合法(details #279) |
| R2 | 用户粘贴大段代码 / 样式 | 先问:「证据还是需求?」 | 按答复处理 | 绝不从粘贴猜意图 |
| R3 | 任务块完成 | 会话看板行(done ▸ 进行中 ▸ 待确认 ▸ 评审点) | 任务记录顶部 | 用户随时可查 |
| R4 | 块尾 | 停点三检查:需用户输入 / 全部完成 / 风险发布面已呈现——否则继续 | 3 停点清单 | 「继续」的成本计入 |
| R5 | 更新记忆 | 活头部校验 | 头部时间戳 ≥ 最新正文条目 | — |
| R6 | 记录增长 | >120 行或 >3 块 → 新文件 / 归档 | -名称-2.md | — |
| DC | 项目有日志模块 | 对接真相表留「日志对接行」;catch 三件套;五查含日志 | 日志 + 降级提示 + 审计 | 纯 console / 静默 catch = 违规 |
| TS | 任何记录 | 时间戳 YYYY-MM-DD HH:mm:ss | 秒级必填 | 仅日级 = 不完整 |
| RE | 关键决定 / 方向改变 / 口径确认 | 子复述一行(决定 X|依据…|影响…)→ 任务记录;块尾总复述(要点提炼) | □ 每决定有证据句 □ 总复述覆盖全部子点 | 琐碎细节走 P4 日志 |
| C1 | 改判已记录的决定 / 方向纠偏 | 同栏留档案:原决定 + 改判原因 + 触发;纠偏续跑(details #280):保留已确认正确部分 → 增量调整 → 从当前状态继续 → 重跑验证,不从头重做 | 后续会话能看到两者 | 被否方案废弃,不沿用 |
| C2 | 验收标准执行中漂移 | 用户确认,或记作「范围变更」(谁改了什么、为什么) | 记录标准所有者 | — |
| Y1 | 发现「未请求功能」冲动 | 遵守 YAGNI:最简方案 + 最小改动,不添加未请求功能;觉得该加 → 记「已考虑」 | 需求变更走 A5/C2 流程 | — |
| ZE | 用户输入无意义单串 zxc663 | 自检回复:「十三希诺工作流已应用,注入方式是:[按需 / 硬注入],已经应用 N 轮会话/对话(N=按任务记录/文档数快速统计)|源库 vX vs 副本 vY(不一致 → 建议跑 syncer.py;并核对 Base directory)」 | 纯回复,不触发任何操作 | 未触发 → 证明需用户主动触发或配置触发器(作者判据) |
| SK | 本 Skill 规则 / 步骤 / 纪律被跳过(含 L2-S 边界豁免、L1 整体标注) | 跳过必声明:①复述跳过项 ②任务记录留依据 ③向用户一行提醒 | 「跳过 + 声明」合法 / 静默跳过违规 | §0 元规则 |
| AG | 委托子代理 | 必须把最小纪律包内联进子代理 prompt(判级 / 红线 / 证据含不复现四要件 / 错误必查 TOP / 引用形态 / GATE / 承载:子代理独立工作区先建一档制 agent-log.md(四区)+ 项目级规则文件摘要——不指望子代理自加载 Skill) | rules §28 | 子代理不继承注入副本、触发不可靠(实证:提醒可读仍 0 加载) |
可复制即用的模板在 templates/:规划 / 验收标准 / 任务记录(含 GATE 字段)/ 复盘 / 回滚点 / 提示词预算 / 一档制档案模板(agent-log-template)/ 会话钩子(hooks)/ 审查子代理(agents:critic / risk-reviewer / security-auditor)。复制后填写,绝不原地编辑。