Hotwire(Turbo + Stimulus)を使用してRuby on Railsの管理画面を実装し、PlaywrightによるE2Eテストを含めた完全な実装を行うスキル
/plugin marketplace add xtone/ai_development_tools/plugin install backend-development@xtone-ai-development-toolsThis skill inherits all available tools. When active, it can use any tool Claude has access to.
references/turbo_patterns.mdsteps/01_setup_and_routing.mdsteps/02_layout_and_navigation.mdsteps/03_crud_views.mdsteps/04_turbo_actions.mdsteps/05_stimulus_controllers.mdsteps/06_e2e_test_design.mdsteps/07_e2e_test_implementation.mdsteps/08_troubleshooting.mdこのスキルは、Hotwire(Turbo + Stimulus)を使用して、Ruby on Railsで完全にカスタマイズ可能な管理画面を実装します。E2Eテスト設計・実装も含め、本番運用可能な管理画面を構築します。
Claudeは以下の状況でこのスキルを使用します:
| 項目 | 技術 |
|---|---|
| フレームワーク | Ruby on Rails 8.x |
| フロントエンド | Hotwire (Turbo + Stimulus) |
| スタイリング | Tailwind CSS |
| E2Eテスト | Playwright + Capybara |
| 認証 | Devise / 自作認証 |
各ステップの詳細は steps/ ディレクトリ内のファイルを参照してください。
詳細: @steps/01_setup_and_routing.md
Claudeは、管理画面用の名前空間、ルーティング、ベースコントローラを設定します。
詳細: @steps/02_layout_and_navigation.md
Claudeは、管理画面専用のレイアウトファイルとサイドバーナビゲーションを作成します。
詳細: @steps/03_crud_views.md
Claudeは、一覧・詳細・新規作成・編集画面を実装します。各種データ型に対応したフォームヘルパーも含みます。
詳細: @steps/04_turbo_actions.md
Claudeは、削除・公開・非公開などのアクションをTurbo対応で実装します。button_toとdata-turbo-confirmを使用した安全なアクション実装を行います。
詳細: @steps/05_stimulus_controllers.md
Claudeは、確認ダイアログ、フラッシュメッセージ、動的フォームなどのStimulusコントローラを実装します。
詳細: @steps/06_e2e_test_design.md
Claudeは、管理画面のテストケースを体系的に洗い出し、テスト計画を作成します。
詳細: @steps/07_e2e_test_implementation.md
Claudeは、Playwright + Capybaraを使用してE2Eテストを実装します。TDDアプローチでテストと実装を進めます。
詳細: @steps/08_troubleshooting.md
Claudeは、よくある問題と解決策を参照し、実装中の問題を解決します。
implementing-hotwire-admin/
├── SKILL.md # このファイル
├── references/
│ └── turbo_patterns.md # Turboパターンのリファレンス
└── steps/
├── 01_setup_and_routing.md # セットアップとルーティング
├── 02_layout_and_navigation.md # レイアウトとナビゲーション
├── 03_crud_views.md # CRUD画面
├── 04_turbo_actions.md # Turbo対応アクション
├── 05_stimulus_controllers.md # Stimulusコントローラ
├── 06_e2e_test_design.md # E2Eテスト設計
├── 07_e2e_test_implementation.md # E2Eテスト実装
└── 08_troubleshooting.md # トラブルシューティング
Rails 8のTurbo環境では、link_toのmethod:オプションが機能しません。必ずbutton_toを使用してください:
<%# NG: Turbo環境では機能しない %>
<%= link_to '削除', path, method: :delete, data: { confirm: '削除しますか?' } %>
<%# OK: Turbo対応 %>
<%= button_to '削除', path, method: :delete, data: { turbo_confirm: '削除しますか?' } %>
click_linkではなくclick_buttonを使用page.driver.with_playwright_pageでビューポートサイズを変更Use when working with Payload CMS projects (payload.config.ts, collections, fields, hooks, access control, Payload API). Use when debugging validation errors, security issues, relationship queries, transactions, or hook behavior.