SuperAPI AI 工具集

architect

编程与开发

查看项目

更新于 10-30 22:56

技能介绍

用途

本技能用于 Elixir 重写项目的架构设计阶段,是 /rewrite 工作流的第二步(/rewrite:analyze → /rewrite:architect → /rewrite:roadmap → /phx:plan → /phx:work → /rewrite:verify)。核心原则是先确定兼容性基线(ADR-000),再在此边界内设计满足目标的 Elixir 系统,因为“惯用”与“兼容”往往互相拉扯,取舍权归用户。

主要能力与流程

1. 前置条件检查:要求存在 .claude/rewrite/analysis/ 下的 features、mechanisms、runtime、contracts 四个分析文件,缺失则提示先运行 /rewrite:analyze。读取 status.md 中的源路径与目标路径,确认当前工作目录为目标路径,并通过 inventory.py --compare 检查源是否变化;分析过期时提示重跑。支持从中断处恢复。

2. 兼容性基线 → ADR-000:依据 references/compatibility-bar.md 的问题集、默认值与模板,通过 AskUserQuestion 分两轮(每轮最多 4 题)询问:切换模式、数据、身份、客户端/UI;契约(保留契约、放宽附带项、逐个决定缺陷)、以实测旧系统基线为参照的数值性能目标、charter.md 中的方向冲突。使用 --auto 时套用按类默认值并将状态标为 ASSUMED,在 ADR 顶部列出所有假设;安全缺陷默认不保留。输出 .claude/rewrite/architecture/ADR-000-compatibility-bar.md;分阶段切换或共存模式下还需标明每个切片需覆盖的过渡关注点(写所有权、schema 权威、身份、作业、数据迁移、切换、回滚)。

3. 专家咨询:仅针对开放问题,将每个设计相关问题映射到至多一个 phx 专家(ecto-schema-designer、otp-advisor、oban-specialist、liveview-architect、security-analyzer、hex-library-researcher),并行且同时最多 4 个,输出到 consults/{agent}.md。无开放问题则不咨询。

4. 综合:先将 status.md 阶段设为 architecting,再在前台运行 rewrite:elixir-way-architect,传入 CHARTER、BAR、ANALYSIS、CONSULTS、KB、PACKS、TARGET、OUT、RESUME,生成 architecture.md、ledger.md、各 ADR、divergences.md 和 decisions.md。

5. 校验 ledger:运行 ledger.py check 与 stats,处理未计入/重复 ID、短行、无效结论、缺失 ADR 等问题,必要时回传架构 agent 修复;通过且 decisions.md、divergences.md 存在后阶段设为 architected(--auto 下为 architected (ASSUMED))。

6. 提交审批:展示上下文图、进程表、结论计数、最需复核的三项决策与待定分歧,提供接受、修订、停止三个选项。--auto 保留 ASSUMED 状态,--revise ADR-NNN 可重开单项决策并重跑步骤 3–5。

适用场景

适用于将既有系统重写为 Elixir 的项目规划阶段,尤其是需要先厘清兼容边界与迁移取舍、再开展架构设计的情形。

限制

  • 依赖 /rewrite:analyze 产出的四个分析文件,缺失即停止。
  • 架构 agent 不能自行生成 phx 编排器(避免嵌套)。
  • ASSUMED 决策在用户接受前不视为已批准;AR-NN 偏离需用户在 verify/accepted-risks.md 中的批准记录。
  • 具体默认值、问题集与模板见 references/compatibility-bar.md,资料未完整提供其内容。