cs-arch

维护 `codestable/architecture/` 这份只记现状的系统地图,三种模式 update / check / backfill。触发:用户说"刷新 architecture"、"做架构检查"、"补这个模块的架构文档"、"方案和代码对得上吗",或 feature 阶段需要先做架构动作。不写未来规划(走 cs-roadmap)。

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "cs-arch" with this command: npx skills add liuzhengdongfortest/codestable/liuzhengdongfortest-codestable-cs-arch

cs-arch

codestable/architecture/ 是项目"地图"——design 写方案前读它定位、issue-analyze 做根因时读它理解模块边界、新人读它知道系统大致长什么样。本技能是"起草 / 刷新 / 体检"三件事的统一入口。

architecture 是累积的、自给自足的系统地图,不是某次 feature 的详细方案,而是所有已落地 feature 沉淀下来的"系统现在长什么样"总图。读者打开应能看懂整体结构而不需要跳回历史 design。design 是临时增量稿,acceptance 把稳定下来的名词 / 编排 / 约束提炼回这里;design 文件归档,只在追究具体决策细节时翻。

只记现状不记计划——默认在 acceptance 跟着代码同步,必要时本技能主动 backfill / update。不写"未来会加什么层"、"下一步打算拆出 X 模块"——那些归 cs-roadmap。用户说"我想重构成 X 架构"先走 roadmap 拆 feature,每次 acceptance 把实际达到的结构提炼回 architecture。

详略判据:够不够让读者不跳转就读懂系统——稳定、跨 feature 可见的那一层写全;模块内部循环、辅助函数、一次性实现决定不进来。

架构文档价值在准、稳、可查。AI 容易破坏这三点的几种问题:

  • 凭空造系统——文档说 AuthManager 协调 TokenService,代码里根本没 AuthManager
  • 替用户拍板——悄悄选某种分层方式,读者以为是既定事实
  • 代码复述——每节都说"这里有什么",不说"为什么这么分",信息量等于 ls -R
  • 检查时看一眼感觉没问题——没给具体位置证据

共享路径与命名约定看 codestable/reference/shared-conventions.md。文档结构模板、check 覆盖项、报告格式看同目录 reference.md


模式分流

启动先判断模式三选一(不让用户选菜单):

用户说什么模式
"刷新 {某文档}"、"代码变了把架构 doc 同步"、"更新到最新"update
"检查 design 自洽"、"方案和代码对得上吗"、"几份文档有没有打架"、"做架构体检"check
"补一份架构 doc"、"这块模块一直没写档"、"把已经在跑的子系统结构写下来"backfill

判断不出问用户。用户说"我想重构成 X / 打算新做 Y 模块"——不是本技能的事,转 cs-roadmap


单目标规则

每次只跑一个模式,且只锁定一个目标:

  • backfill:给已存在但从没写过档的模块补一份(architecture/{type}-{slug}.md 或更新 ARCHITECTURE.md
  • update:按代码最新状态 + 用户素材刷新一份已有 doc
  • check:三个子目标之一
    • design-internal — 一份 design 内部一致性
    • design-vs-code — design 与代码一致性
    • architecture-folder-internalarchitecture/ 多份文档间一致性

为什么不一次做多件?起草时一次吐多份用户 review 不过来;检查时三个子目标视角和材料完全不同,同时做每边都不深。用户提多个目标让 TA 选一个。


工作流骨架(三模式共用 6 阶段)

Phase 1:锁定目标
Phase 2:读取材料
Phase 3:执行(backfill/update = 起草;check = 检查)
Phase 4:自查(backfill/update)或 输出报告(check)
Phase 5:用户 review
Phase 6:落盘(backfill/update)或 等用户拍板(check)

Phase 1:锁定目标

确认:模式 + 目标对象 + 范围。

  • backfill:新 slug + 受众 + 范围(+ 确认模块在代码里已存在)
  • update:已有文档路径
  • check:子目标 + 检查对象(feature 名 / architecture 子范围)

范围不收敛就问用户收敛——一份 doc"全模块重写"往往意味着底下其实有多个独立子系统应该拆;一次检查覆盖整个 architecture/ 报告读起来抓不到重点。

Phase 2:读取材料

共同必读shared-conventions.md + ARCHITECTURE.md + architecture/ 下其他文档。

backfill / update 额外(详见 reference.md "读取清单"):目标模块代码入口和核心文件 + 用户素材 + 相关 compound 沉淀(decision / explore / learning)+ 相关已有 feature 方案。update 专项:当前 doc 全文 + last_reviewed 之后的代码变更(git log 粗扫)。

check 额外(按子目标):

  • design-internal / design-vs-code:方案 doc 全文 + 架构相关 doc
  • design-vs-code 再额外:与 design 第 2/3 节直接对应的代码
  • architecture-folder-internal:用户圈定的几份 doc + 索引 + 顺藤摸到的被引用文档(不扩展到代码)

Phase 3:执行

backfill / update:按 reference.md "文档结构"写完整初稿不分批吐半成品——分批 review 用户看不到全局一致性,第 2 节描述的结构和第 4 节决策经常有跨节矛盾。

check:按 reference.md "检查覆盖项"(三个子目标各 6 类)逐条执行。每条不一致都要记可定位位置file:linedesign 第X节)+ 现象 + 影响 + 修复建议。

Phase 4:自查 / 输出报告

backfill / update:按 reference.md "自查清单"(7 条)就地跑一遍,发现问题在 review 前处理掉(删 / 标 TODO / 改写)。自查结果简短汇报——发现了就说,不要走过场。

check:按 reference.md "报告模板"输出完整报告(检查摘要 / 不一致清单带严重级别 / 观察项 / 一致性良好项 / 建议下一步)。

Phase 5:用户 review

backfill / update:完整初稿贴给用户 review。 check:报告给用户,等确认结论。本技能不替用户拍板。

Phase 6:落盘 / 结束

backfill

  • 写入 architecture/{type}-{slug}.md(命名规则见 shared-conventions.md 第 0 节),frontmatter status: currentlast_reviewed 填当天
  • 同类聚合检查(落盘前必跑):按"架构 doc 分组规则"判断本次落盘后某 type 在根目录 ≥6 份——命中就把这类全搬进 architecture/{type}/、去掉文件名前缀、同步改 ARCHITECTURE.md 链接;搬迁清单在 Phase 5 一并 review
  • 索引更新ARCHITECTURE.md 加新文档引用——backfill 必定要加,否则写了没人会读;改动同样 review,不偷偷改

update:覆盖已有文件,last_reviewed 更新当天;结构性改动大时文末 变更日志 节加一条;ARCHITECTURE.md 只在 scope/summary 影响索引描述时更新。

check:不落盘结束。用户可能基于报告决定触发 backfill/update——那是下一轮的事。


硬性边界

  1. 只锚代码不造系统(backfill/update)——每条结构化断言必须能锚到 file:line;锚不到标 TODO: 待确认。模块在代码里还没写就不该走 backfill —— 那是规划转 cs-roadmap
  2. 不替用户拍板决策(backfill/update)——关键决策节实质内容必须来自用户或可追溯的 decision,AI 只起草结构和串联语言
  3. 只检查不修复(check)——禁止改 design / 代码 / 配置。check 和修复分开做,用户才能看到完整不一致清单后整体决定优先级
  4. 证据化(check)——每条不一致有可定位位置
  5. 可执行建议(check)——具体到"改哪里、怎么改",但不落盘
  6. 单目标(所有模式)
  7. 不改代码、不动 spec(所有模式)——只写架构 doc 或出报告。发现代码 / 方案 / decision 有问题记成"观察项"
  8. 不发散——范围外问题不扩展,记观察项

退出条件

共通

  • 已锁定单一模式和单一目标
  • 用户明确 review 通过(backfill/update)或确认结论(check)
  • 没有顺手修改代码 / 方案 doc / decision
  • 没有范围外文档改动

backfill / update 额外

  • 自查清单逐条跑过并汇报处理
  • frontmatter 完整(doc_type: architecture / status / last_reviewed
  • 每个结构化断言有 file:line 锚点或标 TODO: 待确认
  • 落盘前已按"分组规则"判断同类 ≥6 份,命中则搬迁清单已 review
  • backfillARCHITECTURE.md 已加链接(或用户明确决定暂不加)
  • update:结构性改动有 变更日志 条目

check 额外

  • 已覆盖对应子目标的检查项
  • 报告含不一致清单 + 修复建议
  • 报告不含任何实际修复动作

和其他工作流的关系

方向关系
cs-req 配合req 写"为什么有这个能力"、本技能写"用什么结构实现";frontmatter implements 反向链到 req slug
cs-feat-design 上游design 写"本 feature 和哪块架构对接"时读本技能产出的 doc;design 写完可触发 check 体检
cs-feat-accept 下游验收阶段实际去更新本技能产出的 doc(acceptance 自己归并,不回调本技能);想确认实现 vs design 对得上时触发 check design-vs-code
cs-decide 配合拍板架构决策后,update 模式把引用补进相关 doc 第 4 节
cs-issue-analyze 读者根因分析读本技能 doc 定位模块边界
cs-onboard 创建者onboarding 建 ARCHITECTURE.md 占位,之后由本技能填实
cs-roadmap 配合architecture 记现状、roadmap 记规划。roadmap 起草读本技能 doc 理解现状但不改它;目标态架构归 roadmap

常见错误

backfill / update

  • 把"打算重构成什么样"写进来——目标态归 roadmap
  • 凭空造系统——出现代码里不存在的"协调层 / 中枢 / 管理器"
  • 替用户拍板——选型理由是 AI 编的
  • 代码复述——每节只列"这里有什么",没说"为什么这么分"
  • 分批吐半成品——用户看不出跨节矛盾
  • 术语冲突——新名字和代码 / 其他 architecture doc / compound 已有的冲突
  • 一次写 / 改多份——审不过来全部粗糙合入
  • 和已有 decision 冲突不停下——自己写了一版相悖的说法
  • backfill 落盘后忘加 ARCHITECTURE.md 索引——写了没人能发现
  • 把还没在代码里跑起来的模块走 backfill——那是目标态转 roadmap
  • update 加新内容但没代码依据——内容飘离实际的开端
  • 顺手把代码 / 方案 doc 一起改了——越界
  • 同类 ≥6 份还往根目录平铺——触发分组规则没搬迁
  • 文件名没遵循 {type}-{slug}.md——分组规则形同虚设

check

  • 一次同时做多个子目标
  • architecture-folder-internal 顺手读代码——那是 design-vs-code
  • 发现问题就顺手改代码或文档
  • 只说"这里不太对"不给证据位置
  • 建议过于抽象("优化一下架构")
  • 从一个目标无限扩展到全仓库审计

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Coding

cs-feat-impl

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

cs-feat-accept

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

cs-explore

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

cs-feat-design

No summary provided by upstream source.

Repository SourceNeeds Review