Skills
收录 96,981 个为 Agent 打包的专项能力与操作指引,复制一行命令即可安装。
开发
依照 matklad 的原则为代码库生成 ARCHITECTURE.md 文件。当被要求"write an architecture doc"、"create ARCHITECTURE.md"、"document the architecture"、"explain the codebase structure"、"write a codemap" 时,或在为项目引入贡献者时使用。基于 https://matklad.github.io/2021/02/06/ARCHITECTURE.md.html,并参照 rust-analyzer 的架构文档。
经过生产验证的 AutoAnimate(@formkit/auto-animate)配置。这是一个零配置的即插即用库,当 DOM 元素被添加、移除或移动时自动添加平滑过渡,gzip 后约 3 KB,无依赖,内置 prefers-reduced-motion 支持。涵盖 useAutoAnimate React Hook、其对稳定 key 和始终渲染的父元素的要求,以及 SSR 安全的用法。适用于在不编写动画代码的情况下为动态列表、筛选和排序界面、手风琴、Toast 通知或表单校验提示添加动画,适用于使用 Vite + React + Tailwind,适用于部署到 Cloudflare Workers Static Assets,或遇到动画库引发的 SSR 错误时。手势、滚动联动效果或复杂序列请改用 motion 技能。
将 baserCMS 4(基于 CakePHP 2)的插件内部代码迁移到 baserCMS 5(基于 CakePHP 5)时,可参考其中 Controller/Table/Entity/View/Helper、表单、Vue 和 JS 的具体改写模式。用于逐一排查插件页面、模型、模板和前端显示错误,例如“将插件从 4 迁移到 5”“将 admin_ 方法移至 Controller/Admin”“将 public $belongsTo/$hasMany 移至 initialize()”“ClassRegistry/TableRegistry”“将 find(all/first/list, 数组) 改为查询构建器”“将 $this->Model(null)替换为 fetchTable”“将 getControlSource 的名称改为复数”“将 $this->Form 替换为 BcAdminForm 和 control()”“搜索表单 searches/ → search/”“FormHelper::create 字符串模型 → null”“FormHelper::year()/month()/domId() 已移除”“Time::format 的 ICU 模式”“Number::format/Text::truncate 不允许 null”“数组条件不再自动添加 IN;null 使用 IS”“将 Vue/JS 管理 URL 改为 $.bcUtil.adminBaseUrl 并用 webpack 重新构建”“$this->data / $View->request 会导致错误加载 helper”“MissingTableClassException / MissingHelperException / No context provider found”“通过 App::import 打包在 Vendor 中的外部库(如 leafo/scssphp)未移植到 5 系,导致功能失效”以及“旧版内置库与 PHP 8 不兼容,例如 each() 已移除、正则表达式转义无效”。此技能专注于检测和转换 4 系惯用写法;5 系正确写法的权威参考请见 basercms5-plugin-development。全站 4→5 迁移流程(安装/DB 迁移/主题和插件转换/Git 运用)请见 basercms4-to-5-upgrade;主题(主要是模板)迁移请见 basercms-theme-4-to-5-upgrade;5.2→5.3 插件迁移请见 basercms-plugin-5x-update;CakePHP 本身导致的问题请见 cakephp-migration;PHP 本身导致的问题请见 php-migration;运行测试请见 basercms-unittest;将为博客等添加自定义字段的插件迁移至 bc-custom-content 时,请参考 basercms5-custom-content-development 技能。
将 baserCMS 插件从 5.2 系迁移到 5.3 系(基于 PHP 8.5 / CakePHP 5.2.x,开发中)时,baserCMS 特有破坏性变更、弃用与测试基盘应对的配方集。在插件本体与测试基盘迁移时参考,例如「让插件支持 5.3」「baserCMS 5.3 迁移」「PluginCollection::create(): $config null given」「Plugin named X is already loaded(集成测试)」「BcApp.testAppPluginsToLoad」「plugins.php 的 null → []」「Class BcCcFile\... not found(子插件未加载)」「Cannot set a node''s parent as itself(TreeBehavior + Content fixture)」「validateUnique(): Argument #2 not passed(vendor 的 CakePHP 重复加载)」「MissingTemplateException error500.php 掩盖测试真正原因」「BcFile 构造函数/delete() 路径指定的弃用」等。这是同一主版本内的次版本更新(5.2→5.3)技能,baserCMS 4→5 的主版本升级(CakePHP 2→5 的全面改写)请参考 basercms-plugin-4-to-5-upgrade。PHP 本体导致的问题请参考 php-migration,CakePHP 本体导致的问题请参考 cakephp-migration,测试执行步骤请参考 basercms-unittest 技能。对应新的 baserCMS 版本时,在本文档中按版本追加。
baserCMS 4 系(基于 CakePHP 2.10)+ jQuery 项目的开发规则集。在确认 baserCMS 4 系项目的编码方针、目录结构、命名规则、日志/错误处理、只读文件的处理、服务器限制时参考,例如「用 baserCMS 4 开发」「修改 4 系的插件」「编写 CakePHP 2 系代码」「app/Plugin 下的 Controller/Model/View」「主题的 Elements/Layouts」「使用 BcBaserHelper/BcFormHelper/BcHtmlHelper」「用 CakeLog 输出日志」「lib/Baser・lib/Cake 禁止核心 hack」。baserCMS 5 系的开发请参考 basercms5-development,4→5 升级请参考 basercms4-to-5-upgrade 技能。
AI Agent 将 baserCMS 4(基于 CakePHP 2)的代码和站点升级/迁移到 baserCMS 5(基于 CakePHP 5)时应遵循的规则与模式集。涵盖 4→5 升级的全部流程,包括“从 baserCMS 4 迁移到 5”“从 4 系升级到 5 系”“使用 BcDbMigrator 迁移数据”“使用 BcAddonMigrator 转换主题/插件”“将 CakePHP 2 → CakePHP 5 重写”“将 admin_ 前缀方法移至 Controller/Admin”“将 config/setting.php 和 config.php 转换为 return 数组”“移除 init.php 并创建 PluginClass”“生成 migration_snapshot”“site_configs theme → sites theme”“标准迁移流程/步骤顺序”“直接在 DB 中启用插件”“直接在 DB 中应用主题”“将 request->data/query/params 转为 getter”“移除 File/Folder 类”“ClassRegistry → TableRegistry”“FrozenTime → DateTime”“FixtureManager → FixtureFactory”。插件内部代码(Controller/Table/Entity/View/Helper/表单/Vue/JS)的具体重写模式,请参阅 basercms-plugin-4-to-5-upgrade;主题(主要是 templates)的迁移,请参阅 basercms-theme-4-to-5-upgrade;5.2→5.3 的插件迁移,请参阅 basercms-plugin-5x-update;CakePHP 本身导致的迁移,请参阅 cakephp-migration;PHP 本身导致的迁移,请参阅 php-migration;运行测试,请参阅 basercms-unittest 技能。开发时以 basercms 5 中正确的写法为准,请参阅 basercms5-plugin-development / basercms5-theme-development。
定义 baserCMS 5(CakePHP 5.0.5 系列)和 jQuery 项目通用规则的基础技能,包括环境、目录结构、命名规范、日志与错误处理、禁止修改核心代码以及服务器限制。用于确认 5 系项目的通用方针和限制,例如“使用 baserCMS 5 开发”“检查 5 系项目结构和规范”“在 htdocs/plugins 下放置文件”“使用 CakeLog 输出日志”“禁止修改 htdocs/vendor/baserproject 和 cakephp 中的核心代码”。插件开发与修改的实现模式(Table/Entity、控制器、管理界面表单、事件、Vue/JS 等)以 basercms5-plugin-development 为准;主题开发与修改(layout/element、小组件、邮件表单模板、资源)以 basercms5-theme-development 为准。baserCMS 4 开发请参阅 basercms4-development;从 4 升级到 5 请参阅 basercms4-to-5-upgrade。
提供 better-chatbot 开源 AI 聊天平台(github.com/cgoinglove/better-chatbot;Next.js 15、Vercel AI SDK 5、Better Auth、Drizzle ORM、PostgreSQL)的项目专属约定、架构与贡献指南。涵盖 API 架构、三层工具体系(MCP、Workflow、Default)、Server Action 校验器与 safe() 包装器、数据库仓储模式、复合组件设计、DAG 工作流构建器内部实现、Playwright E2E 测试配置,以及渐进增强、防御式编程、流式优先等原则,还有添加工具、API 路由和仓储的模板。适用于在 better-chatbot 仓库中工作、贡献功能或修复、添加 API 路由或数据库查询、实现工具和工作流、构建 UI 组件,或集成多个 AI 提供商时。
创建和修订产品规格 Markdown 文档,包括 PRD、FRD、TRD、用户故事和 UI 规格(流程、屏幕结构、视图状态),并保持统一的版式和 frontmatter。仅当用户按名称指定此技能(`/building-product-specifications`、`$building-product-specifications` 或“building-product-specifications”),或引用标记文档根目录下的规格文件(`@docs/prd.md`、`@docs/features/checkout/frd.md`)时使用——不实现代码。
与语言无关的技能,用于以低认知复杂度编写和审查代码,兼顾可读性与长期可维护性。涵盖卫语句、单一职责函数、类型驱动设计(让非法状态不可表示、品牌化原始类型、可辨识联合)、模式优先验证、联合元数据的单一数据源、函数式核心 + 命令式外壳、幂等性以及相邻模式对称性。新代码搭配 `tdd` 使用(规则在 GREEN/REFACTOR 阶段适用)。特定技术栈的扩展位于 `rules/stacks/<stack>/` 下(目前有 React、Next.js;为其他任何语言或框架新增子目录即可)。在 PR 审查期间、编写新代码之后、TDD 的 GREEN/REFACTOR 阶段,或被要求“提升质量”“让代码更易读”“降低复杂度”“去重”“清理代码”或调用 "/code-quality" 时使用。
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。
