用途
Forms Router 是一个用于 Web 表单开发的路由器。当任务涉及创建表单、处理校验、用户输入或数据录入时使用,适用于 React、Vue 或原生 JavaScript 场景。它本身不直接实现表单,而是根据任务需求路由到 7 个专项技能。
主要能力
- 根据框架与表单类型对任务进行分类。
- 应用信号匹配规则,将任务匹配到对应专项技能。
- 组合多个技能:生产级表单至少需要 3-4 个技能。
- 在编码前加载匹配的 SKILL.md 文件。
路由协议
- 分类:识别框架 + 表单类型。
- 匹配:应用信号匹配规则。
- 组合:生产表单至少需要 3-4 个技能。
- 加载:编码前读取匹配的 SKILL.md 文件。
技能分层
第一层:核心(始终包含)
- form-accessibility:信号为 accessible、ARIA、screen reader、keyboard、focus、a11y;用于 WCAG 合规与 ARIA。
- form-validation:信号为 validate、Zod、schema、error、required、pattern;用于 Zod schema 与校验时机。
- form-security:信号为 autocomplete、password manager、CSRF、XSS、sanitize;用于自动填充、CSRF、XSS。
第二层:框架
- form-react:信号为 React、useForm、RHF、TanStack、formState;用于 React Hook Form / TanStack。
- form-vue:信号为 Vue、VeeValidate、Vuelidate、v-model;用于 VeeValidate / Vuelidate。
- form-vanilla:信号为 vanilla、plain JS、native、constraint validation;用于无框架场景。
第三层:增强 UX
- form-ux-patterns:信号为 multi-step、wizard、progressive、conditional、stepper;用于向导、分块、条件字段。
信号优先级
当出现多个信号时:
- 框架明确:React/Vue/vanilla 决定第二层选择。
- 认证上下文:登录/注册触发 form-security 优先。
- 复杂度:向导/多步骤触发 form-ux-patterns。
- 默认:始终包含所有第一层技能。
常见组合
- 标准生产表单(4 个技能):form-accessibility → WCAG、ARIA 绑定;form-validation → Zod schema、时机;form-react → RHF 集成;form-security → autocomplete 属性。
- 安全认证表单(4 个技能):form-security → autocomplete、CSRF(优先);form-accessibility → 焦点、错误播报;form-validation → 认证 schema;form-react → 受控提交。
- 多步骤向导(4 个技能):form-ux-patterns → 分块、导航;form-validation → 每步校验;form-accessibility → 步骤切换时聚焦;form-react → FormProvider 上下文。
- 无框架表单(3 个技能):form-vanilla → Constraint Validation API;form-accessibility → 手动 ARIA;form-security → autocomplete。
决策表
- React + 标准:accessibility + validation + security + react
- React + 认证:security + accessibility + validation + react
- React + 向导:ux-patterns + validation + accessibility + react
- Vue + 标准:accessibility + validation + security + vue
- Vue + 复杂:accessibility + validation + ux-patterns + vue
- 无框架 + 任意:vanilla + accessibility + security
核心原则(所有技能)
- Schema 优先:定义 Zod schema → 推断 TypeScript 类型。
- 时机:奖励要早(有效时显示 ✓),惩罚要晚(仅在失焦时显示 ✗)。
- Autocomplete:认证表单中绝不可选。
- 分块:每个逻辑分组最多 5-7 个字段。
回退策略
- 未说明框架 → 询问:“React、Vue 还是原生 JS?”
- 复杂度不明确 → 从第一层 + 框架技能开始。
- 缺少上下文 → 默认使用 form-react(最常见)。
参考
完整接线模式与代码示例见 references/integration-guide.md。
限制
资料未提供该技能的安装方式、收费模式、平台支持范围或实际效果验证信息。