Coding

wyx Architecture Guardrails (Chinese)

Try it

用 CONCEPT/PIPELINE/SYNCS 规格划定模块边界并检测规格漂移

What it does

Run wyx spec guardrails only when the user explicitly invokes $wyx-zh-cn. / 仅在用户显式调用 $wyx-zh-cn 时运行规格护栏。

The skill document

wyx 架构护栏(中文版)

把模块边界写成规格,放在实现代码旁边,让 agent 在动手写代码之前就看见「什么可以碰、什么不可以碰」,并能定期核对规格是否已经和代码脱节。

这套方法只有两个动作:声明边界(写规格)和核对边界(查漂移)。规格是加法——覆盖的模块越多,护栏越密;从一个模块开始就有价值。

五种模式

从用户的说法判断模式,然后读取对应的参考文件再动手。参考文件是完整的执行程序,不要凭记忆执行。

模式用户会怎么说产出参考文件
wyx:audit审计规格覆盖、有哪些模块还没规格、给我待办清单行动计划(只读,不产出规格)references/audit.md
wyx:concept给这个模块写概念规格、回填规格、设计新模块CONCEPT.mdreferences/concept.md
wyx:concept drift查漂移、规格和代码对不上、drift 检测漂移报告references/drift-detection.md
wyx:pipeline记录数据流、描述转换阶段、写数据质量不变量PIPELINE.mdreferences/pipeline.md
wyx:sync梳理跨概念协调、映射 sync 处理器SYNCS.mdreferences/sync.md
wyx:map生成架构地图、可视化概念依赖ARCHITECTURE.mdreferences/map.md

模式名沿用上游 wyx 的命令名,便于与上游文档、ARCHITECTURE.md 里的提示互相对照;本技能里它们是模式,不是必须带斜杠的命令。用户说「wyx 审计」和用上游那条带斜杠的 audit 命令是一回事。

没有任何规格、也没指定模块时:先走 wyx:audit,让用户看到从哪里开始收益最大,而不是直接挑一个模块写规格。

三类规格与它们的分工

  • CONCEPT.md —— 一个模块「是什么」:单一目的、自己拥有的状态、对外的动作、以及 ## interactions / ## dependencies 两段边界声明。
  • PIPELINE.md —— 数据「怎么流」:来源、阶段、输出、运行时可断言的质量不变量,以及 ## data boundary 声明谁拥有输入输出数据。
  • SYNCS.md —— 概念之间「怎么协同」:触发时机、数据流向、跳过条件、错误传播策略。CONCEPT.md## interactions 声明关系,SYNCS.md 描述执行机制。

三者的关系是:概念定义边界,管道在边界内保证数据质量,sync 负责跨概念的编排;架构地图是它们的合成视图,不参与护栏,只给人看。

规格放在哪里

规格必须紧贴它描述的实现代码。边界注入 hook 从被编辑文件所在目录向上走,在第一个含 CONCEPT.mdPIPELINE.md 的目录停下;SYNCS.md 会被列出但不终止向上查找。

src/lib/
├── orders/              # 一个概念 = 一个目录
│   ├── CONCEPT.md       # 本模块的边界声明
│   ├── service.ts
│   └── repository.ts
├── scoring/
│   ├── CONCEPT.md       # 边界
│   ├── PIPELINE.md      # 与概念同目录共存(安全)
│   ├── calculate.ts
│   └── aggregate.ts
└── syncs/
    ├── SYNCS.md         # 所有 sync 流写在同一个文件里(保持单文件)
    ├── order-to-inventory.ts
    └── order-to-scoring.ts

三个要避开的反模式:

  • 根目录放 CONCEPT.md —— 它会成为所有子目录的兜底边界,把过宽的约束套到没有自己规格的模块上。
  • PIPELINE.md 单独放在没有 CONCEPT.md 的子目录 —— 例如把它放进 scoring 的 transforms 子目录,会让向上查找停在 transforms 这一层;hook 能识别缺失的 CONCEPT.md 并带 [SHADOWED] 标注注入祖先边界,但这说明放置位置不理想。
  • 拆分 SYNCS.md —— 协调图需要完整视图,局部图只会给出虚假的信心。

通用纪律

  • 先给用户看,再落盘。 wyx:conceptwyx:pipelinewyx:sync 都必须先呈现草案、征得同意才写文件;文件已存在时先给 diff。只有 wyx:map 例外(它完全派生自规格,可直接覆盖重写)。
  • wyx:audit 全程只读。 它报告问题、输出该跑哪些命令,永远不产出规格文件。
  • 漂移分两段。 第一段只做审计并呈现报告,第二段才在用户确认后改规格或改代码——不要把两段合成一步。
  • 规格改了就提醒重画地图。 若项目里存在 ARCHITECTURE.md,在规格变更后提示用户跑 wyx:map
  • 既有模块优先「规格先行」。 已经有规格的模块,先改 ## actions / ## state 再改实现,这样边界注入立刻生效;回填模式(先代码后规格)只适合首次为存量代码建规格。

Agent 纪律

只在会改变路线时提问;用户已经说明或已确定的事实不要重复追问;上下文足够就直接推进;确实需要用户判断时,一次只问一个阻塞性问题。领域必需的澄清项(模块范围、要不要落盘、改规格还是改代码)仍然要问——但不要做成问卷。

边界自动注入运行时(可选)

本技能的规格与检查流程与 agent 无关,任何 agent 都能执行。而「每次编辑前后自动注入边界」是上游 wyx 的 Claude Code hooks 机制,脚本原样收录在 runtime/,未作任何改动。接线方式见 references/hooks-runtime.md

没有这套运行时,规格依然有用(agent 按本技能主动读取规格、漂移检测照常工作);有了它,边界会在每次写入前后被动送到模型眼前。

参考文件

主题文件
规格覆盖审计与命令排序references/audit.md
概念规格设计(回填 / 新建 / 发现)references/concept.md
漂移检测完整程序与严重度校准references/drift-detection.md
数据管道规格与质量不变量references/pipeline.md
Sync 协调映射references/sync.md
架构地图生成references/map.md
hooks 运行时接线与排错references/hooks-runtime.md

来源与致谢

本技能是 jlifyio/wyx v0.26.0 的中文改写版,遵循上游 MIT 许可(见 LICENSE.upstream)。上游的思想来源:

  • WYSIWID —— Meng & Jackson, "What You See Is What It Does"(MIT, Onward! 2025):把概念规格与边界声明作为让软件可读的结构化手段。
  • WYWIWID —— Dr. Ernie, "What You Write Is What It Did":用漂移检测与数据管道不变量提供基于证据的可读性。

Related skills

项目代码规范守护者 — 分析/沉淀/执行项目规范,分模块按需加载,支持自进化。 支持前端(Vue/React/Next/Nuxt/Angular/Svelte)、Node.js、Python(Django/Flask/FastAPI)、 Java(Spring Boot/Spring Cloud)、Go(Gin/Echo/Fiber)、PHP(Laravel)、Rust 等多语言多框架。 自动检测项目语言生态,路由到对应分析指引文件。 触发词:分析项目规范|查看/检查规范|生成/修改/修复代码|写组件/页面/接口/API/服务/ SQL/数据库|重构/优化代码|Code Review|新建项目/初始化项目|规范review|代码review| 按项目规范|code style|code spec|项目用什么风格/技术栈/架构|项目规范是什么| 写一个XX|帮我写XX|新增XX功能|新建XX页面|这个XX怎么改|修复这个XX| 当 .code-spec/ 存在时自动生效,代码输出受规范约束。 Project code spec guardian — multi-language. Analyzes conventions, auto-loads specs. Triggers: analyze specs, show specs, write code per spec, fix bug, refactor, code review, write component/page/API/service/SQL. Multi-language support: Vue, React, Next, Nuxt, Angular, Svelte, Node.js, Python, Java, Go, PHP, Rust.

给自主智能体/自动化流水线装上一道「预执行安全护栏」:对任何待执行动作做风险分级 (low/medium/high/critical)并给出 ALLOW / CONFIRM / DENY 决策。内置破坏性强、不可逆、 越权、外发隐私的 deny 规则与高影响 confirm 规则,强制拦截 rm -rf、强推、下载即执行、 删表、关机等高危动作,并要求用户显式确认中高危操作。适配自动化每小时触发的无人值守场景, 防止自主 agent 在没有护栏时造成不可逆损害。触发词:安全护栏、危险动作拦截、操作确认、 safety guardrails、agent 安全、预执行校验、destructive 拦截。

把确认的概念模型转录为 PRD 规格:总体 + 每概念 + 按 flow 的 syncs

1 installs

内容合规审核守卫(v25.0合并content-compliance-checker),三级审核(敏感词→AI语义→平台规则)+U19管道合规步骤(委托risk-detector 10类风险检测)。触发:内容审核/合规检查/敏感词检测/发布前审核/文案审核/U19/风控检查 不触发:内容发布/内容生成/价格调整

2 installs

五维审计存量工程:漂移、边界、判据、组合、依赖,只读输出修复路由