agentleFS
guang-lee-cnguang-lee-cn/scaffold-skills/skills/iso/SKILL.md

iso

Skill2 starsChanged 13 days agoMITView on GitHub

项目从想法走到交付的分层工作流(Insight → Strategy → Operation),重工程与轻原型两条轨道。只管「什么时候产出什么、做到什么算过」,不管「怎么设计、怎么写」——后者留给执行者与项目规范。触发:开始 ISO、ISO 工作流、分析需求、项目启动、想清楚要做什么、做架构、设计架构、设计接口、拆分子系统、实现子系统、写代码、落地开发、集成测试、端到端测试、E2E、准备上线、重构已有项目、改造现有系统。不适用于:ISO 9001 / ISO 27001 等管理标准认证,ISO 镜像 / 光盘映像文件。

The file

Files
SKILL.md

ISO:三问 + 两条轨道

本技能只做两件事:按顺序问出该问的,规定每个阶段什么算过。

设计方法、编码手段、判断路径一律不写。写进技能的每一个"应该怎么做",都会在遇到不适用场景时被无视,而被无视的规则会连同它旁边的规则一起失去权威。

硬规则的写法(可判定性、触发器、数值条款、DoD 四块)见 scaffold/policies/constraints-and-criteria.md;流程与角色见 scaffold/sop/collaboration-flow.md。本技能不复制它们。

轨道(先问,不替用户默认)

重工程轻原型
判据多子系统 / 有契约面 / 要交付文档单进程、一次性、验证想法
入口本文件light/CLAUDE.md
产出落点声明里的设计文档与契约代码(原型不写文档)

两条轨道不混用。判据不清时按轻原型起步,需要契约时再切重工程——切的时候把已经写下的结论搬过去,不重做。

三个阶段(每阶段问一组问题、留一个产出)

I — 洞察

问四件事,一次问一组,不逐条审问:

  1. 为什么现在做(触发事件,不是长远愿景)
  2. 谁在用,现在这件事怎么解决的
  3. 不做会怎样
  4. 做成什么样算赢

产出:一段结论,写进落点声明的「设计文档」开头的「目标与边界」一节。

ABORT:答不出「不做会怎样」或答案是「没什么影响」,直接说业务驱动力不足、建议暂停或重新定义问题域。不往下走。

S — 策略

把洞察翻成可判定的东西,四块:

  • 做 / 不做清单:不做的那半必须有理由,否则下个阶段会自己长回来
  • 验收判据:每条需求的阈值 + 测量方法 + 失败长什么样。写成「提升效率」「注意并发」的,视为未定义
  • 子系统边界:判据是「改这个要不要一起改那个」。要一起改 → 边界划错了:要么合并职责,要么把共享点提升为契约
  • 关键决策:至少两个备选 + 代价。实现手段不进决策记录。候选里必须包含仓内现有实现(复用评估,scaffold/policies/top-principles.md §1):先读资产索引(构建清单 / 目录清单 / 接口面清单),再按符号与职责定向 grep 检索复用候选;复用结论写成复用 / 扩展 / 替换 + file:line,索引与 grep 皆无命中须写明「已检索无候选」(检索记录即证据),无证据=视为无全局视角、打回。换实现、改公共契约这类决策按 scaffold/policies/design-review-gate.md 的对弈制走

选型例外:基础层 / 公共设施 / 关键路径的模块,必须有「自研 vs 开源」候选清单(≥2 个,含版本与许可证)与硬约束理由,判据见 references/oss-adoption.md。

O — 运营

阶段划分与里程碑、Top 3 风险与预案、谁验收、验收什么。

门禁

默认:每阶段产出后向用户确认,未确认不进下一阶段。

一次性授权:用户说「不需要我介入,做到结束」即生效——之后不逐阶段回问,也不为此写偏离记录。授权范围写进项目的状态文件,项目结束时随复审一起看。

把授权当成"跳过门禁"去登记偏离,是把默认值写成了铁律的代价;这一条已经踩过,不再踩第二次。

产出落点

本技能不规定固定路径。项目在 pj-config.md 的「产物落点」里声明一次,本技能只引用声明的名字。

未声明 = 没产出。声明了但空着 = 断链,下一阶段不许开工。

四条硬约束(任何阶段、任何轨道)

  1. 证据先于结论:声明"通过 / 完成 / 已推送"必须附本次运行的输出,不接受"应该""看起来"。
  2. 失败即停:红灯不往下走,先记一行(编号 + 现象 + 复现),再决定修复还是改方案。
  3. 他人产出必经独立评审:自己评自己不算评审,两份评审不共享中间结论。
  4. 规则冲突以项目文件为准,并把差异记一行偏离——不静默择一。

按需读

需要读
子系统实现纪律(契约优先 / 上下文隔离 / 注释 / 触发器)operations/cpp.md
集成与验收(只测契约 / 失败分类 / 回归证据)operations/integration.md
门禁能力与四态判定references/quality-gates.md
基础层自研 vs 开源references/oss-adoption.md
轻原型轨道light/CLAUDE.md

常见借口与反驳(出现即违规)

借口反驳
"需求很明显,跳过洞察直接设计"跳过的代价在后期以返工支付;先花十分钟写四行结论
"先写代码,文档最后补"文档是阶段间的交接面,补写等于让下游在错误输入上工作
"这条决策显而易见,不用写备选"没有备选的决策无法被复核,也无法在出问题时回滚
"用户没回答,我先按默认往下走"门禁未过就是未过;可以给建议,不能替用户确认——除非拿到一次性授权
"测试失败但影响不大,先上线"失败即停,未定位根因不进下一阶段

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.