Engram 架构护栏
为 Engram 的本地存储、云端同步、仪表盘与插件提供架构边界与决策规则。
证据:该技能本身仅提供架构准则,不涉及权限、数据流或外部影响,因此信任风险较低。仓库级别的 SECURITY.md 提供了漏洞报告流程和依赖审查策略,但在技能层面没有明确的确认机制或回滚做法。扣分原因:技能是纯粹的指导性文件,没有提供用户确认或数据隔离的说明;仓库的云集成有实验性部分,可能存在未知风险。由于技能本身无执行行为,授予 15 分,高于 12 但未达 25。
证据:技能步骤清晰(何时使用、核心护栏、决策规则、验证),与仓库整体设计一致。但没有可执行的测试用例,也没有针对异常输入的明确失败反馈机制。扣分原因:静态审查无法验证其关键路径;技能没有提供故障处理或调试指南。根据静态校准,授予 5 分。
证据:技能明确了触发条件和应用场景(新增子系统、移动职责、改变同步流),并提供了决策规则(如 local-only -> internal/store)。扣分原因:没有明确说明非适用范围,也没有提供环境适配(如中文支持或网络可达性)的证据。因此授予 10 分。
证据:技能文件结构清晰,包含 When to Use、核心护栏、决策规则和验证部分;仓库有 README、LICENSE(MIT)、SECURITY.md 和 CI 工作流。扣分原因:技能自身没有版本控制或变更日志,未明确维护责任,且与仓库其他文档的交叉引用有限。授予 10 分。
证据:技能内容与仓库功能一致(如本地 SQLite 作为源头,云复制等),能够指导开发者遵循架构规则。扣分原因:静态审查无法验证实际产出是否直接可用;技能是指导性文件,用户仍需手动应用规则。授予 5 分。
证据:仓库有 CI 工作流(unit-tests 和 e2e-tests)以及 go.mod,表明存在测试;但没有专门针对该技能的测试证据。扣分原因:静态审查无法复现测试结果;无法交叉验证技能效果。授予 5 分。
- 该技能为架构指导,不会执行任何操作,但需注意仓库的实验性云功能可能存在未覆盖的安全风险。
- 技能未明确非适用场景,可能被误用。建议补充明确的边界和反例。
- 仓库的云集成依赖 Docker 和外部服务,可能不适合中国大陆网络环境,需注意。
- 静态评审无法验证实际效果,建议在真实环境中测试后再采用。
这个 Skill 能做什么,适合哪些场景?
该技能为 Engram 代码库定义架构护栏,确保系统边界和职责划分清晰。它规定本地 SQLite 为唯一事实来源,云端仅作为复制与共享访问;插件和适配层保持精简,业务逻辑放在 Go 包内;新功能必须符合本地优先的心智模型。技能提供决策规则,帮助确定每个变更应归属的包(如内部存储、云端存储、云端服务器、仪表盘、自动同步)。它还要求对每个边界变更添加回归测试,并验证本地、远程及仪表盘行为的一致性。
该技能读取并解析 SKILL.md 和 README 的上下文,以理解 Engram 的架构。它提供明确的指导规则,用于决定新子系统或功能应放置在哪里,以及如何保持边界纯粹。它不执行任何代码,而是作为 AI 编码代理在修改代码库时的参考指南。它输出决策规则和验证要求,确保遵循本地优先的架构模式。
- 当向 Engram 添加新子系统或主要包时,使用此技能决定边界和归属。
- 当在本地存储与云端之间转移职责时,使用此技能确保遵循单一事实来源规则。
- 当修改同步流程或持久化边界时,使用此技能检查是否影响推送和拉取路径。
- 当添加新插件或适配器时,使用此技能保持薄层并确保核心逻辑留在 Go 包中。
- 当实现仪表板或云端功能时,使用此技能确保其符合本地优先的心智模型。
这个 Skill 有哪些优点和局限?
- 提供清晰、具体的架构决策规则,减少主观判断。
- 强调本地优先模型,确保数据拥有权明确。
- 强制回退测试和边界变更验证,提升可靠性。
- 与 Engram 的包结构直接对齐,易于应用。
- 仅适用于 Engram 工程,不通用。
- 不包含实际的测试套件实现,仅要求手动添加。
- 未提及对特定平台的验证,如 Windows 或 Linux 环境。
- 依赖开发者遵循规则,无自动强制执行。
如何安装这个 Skill?
该技能位于 monorepo 的 skills/architecture-guardrails/ 目录。若使用 Claude Code,可以将该文件夹复制到项目的 .claude/skills/ 目录,或使用技能市场的安装方法。由于它是 monorepo 的一部分,可能已随完整仓库一起提供。
如何使用这个 Skill?
触发场景:当 AI 编码代理在编辑 Engram 代码库时,遇到任何影响系统边界、所有权、状态流或跨包职责的变更,自动加载此技能。例如,当添加新子系统或移动职责时,参考技能中的核心护栏和决策规则来指导修改。