模式发现Skill pattern-discovery

模式发现技能用于在软件开发中实施模式优先开发,通过检查模式库来减少代码重复、确保一致性。关键词:模式库、代码重复、一致性、API路由、UI组件、数据库操作、测试。

架构设计 0 次安装 0 次浏览 更新于 3/15/2026

name: 模式发现 description: 用于模式优先开发的模式库发现。在实现任何新功能、创建组件、编写API路由或添加数据库操作之前使用。确保在编写新代码之前首先检查现有模式。

模式发现技能

目的

通过检查模式库来强制执行模式优先开发,以减少代码重复,确保一致性,并利用经过实战检验的解决方案。

何时使用

在以下情况调用此技能:

  • 即将创建新的API路由
  • 即将创建新的UI组件
  • 即将添加数据库操作
  • 即将编写集成测试
  • 用户询问“如何实现…”或“如何构建…”
  • 开始任何功能实现的工作

模式发现协议

在编写新代码之前,始终遵循此序列:

步骤1:检查模式库

搜索 docs/patterns/ 以查找现有模式:

# 按类别查找模式
ls docs/patterns/api/      # API路由模式
ls docs/patterns/ui/       # UI组件模式
ls docs/patterns/database/ # 数据库操作模式
ls docs/patterns/testing/  # 测试模式

步骤2:查看模式索引

检查 docs/patterns/README.md 获取完整的模式索引:

类别 可用模式
API 用户上下文, 管理员上下文, Webhook处理器, Zod验证, 奖励内容
UI 认证页面, 带验证的表单, 数据表, 营销页面
数据库 RLS迁移, Prisma事务, 服务器组件访问
测试 API集成测试, E2E用户流程

步骤3:应用或上报

如果模式存在:

  1. 读取模式文件
  2. 复制代码模式
  3. 遵循定制指南
  4. 运行验证命令

如果模式缺失:

  1. 在代码库中搜索类似实现
  2. 如果找到,考虑提取为新模式(仅限BSA/ARCHitect)
  3. 如果没有找到,按照现有约定从零开始实现
  4. 向BSA报告模式差距以便未来提取

模式库结构

docs/patterns/
├── README.md           # 模式索引和使用指南
├── api/
│   ├── user-context-api.md
│   ├── admin-context-api.md
│   ├── webhook-handler.md
│   ├── zod-validation-api.md
│   └── bonus-content-delivery.md
├── ui/
│   ├── authenticated-page.md
│   ├── form-with-validation.md
│   ├── data-table.md
│   └── marketing-page.md
├── database/
│   ├── rls-migration.md
│   ├── prisma-transaction.md
│   └── server-component-direct-access.md
├── testing/
│   ├── api-integration-test.md
│   └── e2e-user-flow.md
└── ci/
    ├── service-configuration-pattern.md
    └── database-setup-pattern.md

模式匹配指南

如果您需要… 使用此模式
创建认证API端点 api/user-context-api.md
创建仅管理员API端点 api/admin-context-api.md
处理外部webhook api/webhook-handler.md
用Zod验证API输入 api/zod-validation-api.md
提供私人可下载内容 api/bonus-content-delivery.md
创建受保护页面 ui/authenticated-page.md
构建带验证的表单 ui/form-with-validation.md
显示分页数据 ui/data-table.md
创建营销/着陆页 ui/marketing-page.md
添加带有RLS的新表 database/rls-migration.md
运行多步数据库操作 database/prisma-transaction.md
测试API端点 testing/api-integration-test.md
编写E2E用户流测试 testing/e2e-user-flow.md

安全要求

所有模式强制执行:

  • RLS上下文 - 数据库操作使用 withUserContext, withAdminContext, 或 withSystemContext
  • 认证 - 受保护路由在处理前验证认证
  • 输入验证 - 所有输入用Zod模式验证
  • 错误处理 - 全面的错误处理,带有适当的状态码

验证命令

应用模式后,运行:

yarn lint && yarn type-check  # 所有模式
yarn test:integration         # API模式
yarn test:e2e                 # UI模式

权威参考

  • 模式索引: docs/patterns/README.md
  • RLS模式: 参见 rls-patterns 技能以获取数据库安全
  • 前端模式: 参见 frontend-patterns 技能以获取UI约定