关于 rails-application-ui-blocks
用于在 Rails 视图中选择、调整和集成目录 UI 区块的技能,涵盖新页面与重构,并强调保留现有行为、无障碍要求和项目约定。
主要功能
- 01新页面与重构工作流
- 02按目录选择 UI 区块
- 03检查 Rails 交互与无障碍要求
- 04逐步集成视图内容
- 05验证行为与测试覆盖
适用场景
- 01用 UI 区块构建 Rails 新页面
- 02替换现有 Rails 视图中的区域
- 03在 UI 改动中检查 Turbo 和 Stimulus 行为
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ pproenca/ dot-skills --skill rails-application-ui-blocks安装后在 Claude Code 中输入/rails-application-ui-blocks确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
metadata.jsonagents/openai.yamlreferences/selection-playbook.mdtemplate-catalog.jsonscripts/build_template_catalog.py详细介绍
Rails 应用 UI 区块
使用此技能,从 templates/application-ui 中选择、调整并集成高级 UI 区块到 Rails 视图中。
工作流
- 确定模式:
- new-page:用于全新功能或页面
- refactor-page:用于现有视图或局部模板
- 首先确认约束:
- 必需的交互(Turbo Frames/Streams、Stimulus targets/actions、表单语义)
- 无障碍约束(标签、键盘操作流程、ARIA)
- 现有组件边界(局部模板、辅助方法、共享布局)
- 从目录中选择候选区块:
- 阅读
references/selection-playbook.md - 查询
references/template-catalog.json
- 尽量精简地集成:
- 保持现有路由、控制器和领域逻辑不变
- 分小步替换标记(先替换外壳,再替换区块,最后替换微型组件)
- 验证:
- 确保行为、无障碍支持或测试覆盖没有损失
- 项目标准有要求时,保留现有设计令牌和类名约定
选择顺序
对于 new-page:
- 从
ui.page-examples.*开始,以确定页面结构。 - 从
ui.application-shells.*中选择外壳。 - 从
ui.headings.*中添加页面或区块标题。 - 添加核心内容区块(
ui.forms.*、ui.lists.*、ui.data-display.*、ui.feedback.*)。 - 最后处理导航和叠加层细节(
ui.navigation.*、ui.overlays.*)。
对于 refactor-page:
- 保留当前的信息架构和交互约定。
- 将每个现有 UI 区域映射到一个候选目录区块。
- 一次替换一个区域,并运行相关测试。
- 只有在确认存在复用需求后,才将重复标记提取到局部模板中。
注意事项
- 除非明确要求,否则不要更改控制器、模型或策略。
- 不要移除
data-controller、data-action、data-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 .
评论
支持 Markdown