评估架构决策、ADR合规性及耦合
夜市技能——从claude-night-market/pensive.. 对于代理、钩子和命令的全部经验,安装克劳德代码插件.
功能概述
夜市技能——从claude-night-market/pensive.. 对于代理、钩子和命令的全部经验,安装克劳德代码插件.是一项面向实际任务的技能,主要用于Claude Code.;CTable of Context Start.;
核心要点
- When to Un.P.。
- 它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。
- 使用时应结合输入条件选择合适的执行方式,核对必要参数、依赖环境与输出内容,并按原始要求处理异常情况。
使用与执行
从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。
结果检查与注意事项
执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。该技能适合用于一次性任务,也可以接入自动化工作流,与其他技能或上层代理配合完成更完整的业务链路;在组合使用时,应明确每一步的输入输出关系,并避免不同步骤之间出现参数冲突。
Night Market 技能 — 从 claude-night-market/pensive 移植而来。如需获得包含智能体(agents)、钩子(hooks)和命令的完整体验,请安装 Claude Code 插件。
目录
- 快速开始
- 适用场景
- 渐进式加载
- 必需的 TodoWrite 条目
- 工作流
- 步骤 1:建立上下文(
arch-review:context-established) - 步骤 2:ADR 审计(
arch-review:adr-audit) - 步骤 3:交互映射(
arch-review:interaction-mapping) - 步骤 4:原则检查(
arch-review:principle-checks) - 步骤 5:风险与行动项(
arch-review:risks-actions) - 测试
测试
运行 pytest plugins/pensive/tests/skills/test_architecture_review.py 以验证评审逻辑。
- 架构原则检查清单
- 耦合度(Coupling)
- 内聚性(Cohesion)
- 分层结构(Layering)
- 可演进性(Evolution)
架构评审工作流
基于 ADR 及设计原则开展的架构评估。
快速开始
/architecture-review
适用场景
- 审批重构实现方案。
- 大规模重构评审。
- 系统设计变更。
- 新模块或新服务引入。
- 依赖关系重构。
不适用场景
- 架构范式选型 — 请使用 archetypes 技能
- API 表面(surface)评审 — 请使用 api-review
- 架构范式选型 — 请使用 archetypes 技能
- API 表面(surface)评审 — 请使用 api-review
渐进式加载
根据评审范围按需加载模块:
modules/adr-audit.md(约 400 tokens):ADR 验证与文档审查。modules/coupling-analysis.md(约 450 tokens):依赖分析与边界违规检测。modules/principle-checks.md(约 500 tokens):代码质量、安全性和性能检查。modules/fpf-methodology.md(约 800 tokens):FPF(Functional, Practical, Foundation)多视角评审方法论。
执行完整评审时加载全部模块;执行聚焦评审时仅加载相关模块。
必需的 TodoWrite 条目
arch-review:context-established:仓库、分支、评审动因。arch-review:adr-audit:ADR 验证及新增 ADR 需求。arch-review:interaction-mapping:模块耦合度分析。arch-review:invariant-check:不变量冲突检测及三选一分析。arch-review:principle-checks:LoD(迪米特法则)、安全性、性能。arch-review:risks-actions:建议结论与后续行动项。
工作流
步骤 1:建立上下文(arch-review:context-established)
确认当前仓库与分支:
pwd git status -sb
需记录以下内容:
- 触发本次评审的功能需求、缺陷或史诗任务(epic)。
- 受影响的子系统。
- README 或文档中描述的架构意图。
- 设计权衡假设。
步骤 2:ADR 审计(arch-review:adr-audit)
加载模块:modules/adr-audit.md
- 定位项目中的所有 ADR。
- 验证各 ADR 是否包含必需章节。
- 检查 ADR 状态流转是否合规。
- 确认是否符合不可变性(immutability)要求。
- 标记需新增的 ADR。
步骤 3:交互映射(arch-review:interaction-mapping)
加载模块:modules/coupling-analysis.md
- 绘制变更前/后的模块交互图。
- 验证组合边界是否合理。
- 检查数据所有权是否清晰明确。
- 验证依赖流向是否符合预期方向。
- 识别耦合违规点。
步骤 3.5:不变量冲突检测(arch-review:invariant-check)
在开展原则检查前,须首先识别变更是否与现有设计不变量发生冲突。这是架构评审中判断难度最高的一环——模型在此类决策上的出错率高于其他任何环节。
识别现有不变量:
- 扫描所有状态为“accepted”的 ADR,提取其中仍生效的设计决策
- 检查模块边界(例如:导入是否跨过此前未跨越的层级?)
- 检查数据流向(例如:数据是否开始沿新方向流动?)
- 检查 API 合约(例如:公开接口的形状是否发生变化?)
- 检查结构模式(例如:是否在已有模式旁引入了新模式?)
# 在变更文件中检测边界跨越行为 git diff --name-only | while read f; do head -20 "$f" 2>/dev/null | rg "^(import|from|use |require)" || true done
当检测到冲突时:
请勿直接推荐解决方案。应列出以下三种选项,并将决策权上交至人工判断:
| 选项 | 适用场景 | 不适用场景 |
|---|---|---|
| 保留不变量(拒绝该功能) | 该不变量显著简化系统复杂度;该功能价值有限 | 该功能确属必要,而该不变量已过时 |
| 叠加实现(以不够优雅的方式添加) | 该功能确属必要;该不变量仍有价值;可接受一定程度的不优雅 | 叠加方式将形成维护陷阱,问题会持续恶化 |
| 修订不变量(调整整体设计) | 新的认知真实推翻了原有推理依据 | 你只是在“清理”一个自己尚未完全理解的既有决策 |
输出格式:
### 不变量冲突 [I1] **[不变量名称]** — [其所代表的设计决策] - **冲突点**: [具体哪项变更与此冲突] - **可选方案**: 保留 / 叠加 / 修订 - **建议操作**: ESCALATE TO HUMAN - **误判风险**: [若判断错误将导致何种恶化]
为何重要:错误的不变量决策具有强复利效应。几次误判后,代码库将彻底不可维护。这是一个典型的判断力问题,而非上下文理解问题——智能体的任务是揭示问题,而非自行解决。
步骤 4:原则检查(arch-review:principle-checks)
加载模块:modules/principle-checks.md
- 迪米特法则(Law of Demeter)。
- 反冗余(anti-slop)模式。
- 安全性(输入校验、最小权限原则)。
- 性能(N+1 查询、缓存策略)。
步骤 5:风险与行动项(arch-review:risks-actions)
使用 imbue:diff-analysis/modules/risk-assessment-framework 进行总结:
- 当前架构 vs 提议架构。
- 业务影响评估。
- 技术债务影响分析。
列出各项后续行动项,明确负责人与截止日期。
给出最终评审建议:
- 批准:架构设计合理。
- 有条件批准:存在少量需修复的问题。
- 驳回:存在根本性问题,需重新设计。
架构原则检查清单
耦合度(Coupling)
- 依赖关系遵循明确定义的边界。
- 无循环依赖。
- 扩展点使用恰当。
- 抽象未发生泄漏(abstractions don't leak)。
内聚性(Cohesion)
- 相关功能被合理归组。
- 每个模块职责单一。
- 模块用途清晰明确。
分层结构(Layering)
- 各层级职责划分清晰。
- 依赖关系单向向下流动。
- 无跨层直连(layer bypassing)。
不变量(Invariants)
- 已识别出既有设计不变量。
- 已显式揭示变更与不变量之间的冲突。
- 已提供三选一分析(保留 / 叠加 / 修订)。
- 不变量相关变更已提交人工判断。
- 差异(diff)中未出现静默的不变量修改。
可演进性(Evolution)
- 变更具备可逆性。
- 迁移路径清晰明确。
- ADR 已对关键决策进行记录。
热门AI工具
相关专题
本专题聚焦Go-Zero的API开发,拆解.api描述文件的语法结构、路由与分组定义、参数绑定与校验规则,说明统一响应体、JWT鉴权、跨域与接口文档生成的落地方式,并给出网关聚合与接口测试的实践建议。
0
2026.11.12
本专题围绕Go-Zero的安装与工具链配置展开,讲清Go版本要求、goctl安装方式、代理镜像、protoc依赖与环境变量设置,说明多版本共存、升级回退与CI流水线安装的做法,并整理安装阶段的常见报错与验证步骤。
0
2026.11.12
本专题整理Go-Zero的入门知识,从框架定位、环境准备到跑通第一个API服务,讲清目录分层、配置加载、日志与中间件的基本用法,并对比Gin、Kratos的差异,帮助Go开发者建立整体认知,判断它是否适合当前项目。
0
2026.11.12
本专题从实际API接口调试场景出发,讲解Postman身份认证的完整配置流程,包括常见认证协议介绍、授权参数设置、访问令牌填写、OAuth 2.0授权及认证失败排查,帮助用户正确完成接口授权与访问验证。
0
2026.11.06
围绕Postman HTTP请求头配置展开,讲解Headers选项的具体使用方式,包括Key和Value参数填写、请求头信息添加、常见Header字段设置及请求头修改方法,帮助用户解决接口调试过程中遇到的请求头配置问题。
0
2026.11.06
详细介绍Postman接口请求的创建与发送方法,涵盖GET和POST请求、URL配置、请求参数、Headers请求头、Body请求体设置以及响应结果查看,帮助用户掌握Postman接口请求的完整操作流程。
0
2026.11.06
DBeaver数据导入专题,整理Excel、CSV、SQL、TXT等常见文件的数据导入方法,涵盖目标数据库选择、数据表创建、字段映射、数据类型设置及导入参数配置等操作,帮助用户将本地文件中的数据写入数据库,并了解批量导入、重复数据处理和导入失败等常见问题的解决方法。
0
2026.11.05
DBeaver安全防护专题,围绕数据库连接安全、账号密码保护和访问权限管理展开,整理SSL/TLS加密连接、SSH隧道、数据库凭据保存及证书验证等配置方法,同时介绍敏感信息保护、远程连接风险和高权限账号使用等注意事项,帮助用户提高数据库日常管理的安全性。
0
2026.11.05
本专题聚焦DBeaver数据库连接配置与管理,覆盖从新建连接、选择数据库类型到填写连接参数和验证连接的完整流程。针对MySQL、PostgreSQL、SQL Server等常见数据库,整理相应的连接设置方法,并提供驱动缺失、认证失败和连接异常等问题的排查方向。
0
2026.11.04
热门下载
相关下载
精品课程
共6课时 | 12.1万人学习
共79课时 | 161.8万人学习
共6课时 | 54.7万人学习
最新文章