Rails应用UI块Skill rails-application-ui-blocks

此技能专为Rails应用程序设计,用于高效选择和集成预构建的UI块到视图中,支持新页面创建和现有UI重构,确保行为一致、可访问性优化,并兼容Turbo和Stimulus框架。关键词:Rails, UI块, 视图开发, 前端集成, 可访问性, Turbo, Stimulus。

前端开发 0 次安装 0 次浏览 更新于 3/18/2026

name: rails-application-ui-blocks description: 组合新的Rails后端页面并重构现有Rails UI,以使用来自templates/application-ui的高级块。当请求提到ERB视图、Rails部分、管理/仪表板屏幕、Tailwind UI组装,或在保留行为、可访问性和Turbo/Stimulus钩子的同时,用现有高级块替换自定义标记时使用。

Rails应用程序UI块

使用此技能从templates/application-ui中选择、适配和集成高级UI块到Rails视图中。

工作流程

  1. 确定模式:
  • 新页面用于全新功能/页面
  • 重构页面用于现有视图/部分
  1. 首先识别约束:
  • 所需的交互(Turbo框架/流、Stimulus目标/动作、表单语义)
  • 可访问性约束(标签、键盘流程、ARIA)
  • 现有组件边界(部分、助手、共享布局)
  1. 从目录中选择候选块:
  • 阅读references/selection-playbook.md
  • 查询references/template-catalog.json
  1. 最小化集成:
  • 保持现有路由/控制器/域逻辑不变
  • 以薄步骤替换标记(先外壳,然后部分,然后微组件)
  1. 验证:
  • 确保没有行为、可访问性或测试覆盖的损失
  • 在项目标准要求的地方保持现有设计令牌和类约定

选择顺序

对于新页面

  1. ui.page-examples.*开始以锚定页面结构。
  2. ui.application-shells.*中选择外壳。
  3. 添加页面/部分标题从ui.headings.*
  4. 添加核心主体块(ui.forms.*, ui.lists.*, ui.data-display.*, ui.feedback.*)。
  5. 以导航和覆盖细节结束(ui.navigation.*, ui.overlays.*)。

对于重构页面

  1. 保留当前信息架构和交互合同。
  2. 将每个现有UI区域映射到一个候选目录块。
  3. 一次替换一个区域并运行相关测试。
  4. 仅在重用被证明后,将重复标记提取到部分中。

防护栏

  • 除非明确请求,否则不要更改控制器/模型/策略。
  • 不要在没有替换的情况下移除data-controllerdata-actiondata-turbo-*aria-*或表单字段名。
  • 倾向于将块适配到项目样式,而不是引入冲突的视觉系统。
  • 避免在原生组件已经解决相同需求时,插入重复现有设计系统组件的块。

输出期望

当使用此技能完成任务时,包括:

  • 选定的目录ID(用于可追溯性)
  • 使用的源模板路径
  • 引入的任何行为/可访问性差异
  • 故意未替换的内容及原因

资源

  • references/selection-playbook.md
    • 决定首先检查哪些模板系列的规则,以及何时不使用它们。
  • references/template-catalog.json
    • 具有别名和源路径的规范块ID。
  • scripts/build_template_catalog.py
    • 在模板更新后重新生成目录。

维护

templates/application-ui下的文件更改时,重新生成目录:

python3 .agents/skills/rails-application-ui-blocks/scripts/build_template_catalog.py \
  --root .