Communitygithub.com

PingYang0717/frontend-design-skill

UI/UXプロトタイプを基に、チーム標準(React 19 + Ant Design + TanStack Query + Zustand、レイヤー別ディレクトリ構成)に沿った実行可能なフロントエンドプロジェクトのスケルトンを作成し、必要なドキュメントやタスクを生成します。

frontend-design-skill とは?

このスキルは、UI/UXプロトタイプから新しいフロントエンドプロジェクトを立ち上げる際に使用します。React 19、Ant Design、TanStack Query、Zustandを採用したチーム標準のディレクトリ構成に従い、実行可能なプロジェクトスケルトンを自動生成します。さらに、プロトタイプの分析結果に基づいて、README、AGENTS.md、アーキテクチャ文書、用語集、API契約案、BDD仕様、タスクリスト、画面キャプチャなど、開発着手に必要なすべてのドキュメントをテンプレートから生成します。主な対応プラットフォームはClaude Code、Cursor、CodexなどのAIエージェントで、AGENTS.mdを唯一のルールソースとし、CLAUDE.mdはそれを参照するアダプタファイルとして機能します。このスキルはプロジェクトの初期構築に特化しており、既存プロジェクトの修正には使用しません。

対応✓Claude Code~Codex CLI~Cursor✓OpenCode
npx skills add PingYang0717/frontend-design-skill

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

Frontend Project Bootstrap

UI/UXで納品されたプロトタイプを「チーム標準のフロントエンドプロジェクト + 記入済みドキュメント + 着手可能なタスクリスト」に変換し、後に異なる人や異なるコーディングエージェントが書くコードが同一人物が書いたかのように統一されるようにします。

バージョン: CHANGELOG.md の最新エントリを参照。

基本原則

  1. プロトタイプは要件素材であり、プロジェクトにそのままコピーするコードではない。 そこから画面、データ、カラーパレット、インタラクションを抽出するが、実装をコピーしてはならない。元ファイルとスクリーンショットはリポジトリに保存し、受け入れ基準とする。
  2. チーム標準はそのままコピーし、プロジェクト内容はプロトタイプに基づいて記入する。 この2種類のファイルの扱いは異なる(下記「ファイルインデックス」参照)。
  3. 不明な点は推測せずに質問する。 質問は一時停止ポイントでラウンドごとに行い、各質問には推奨回答を付ける。「はい」と回答されたら推奨を受け入れたものとする。
  4. ビジネス機能は実装しない。 このスキルはスケルトン、空のページ、ドキュメントのみを作成する。ビジネス機能は後でタスクリストに基づいて /implement が開発する。
  5. 検証が完了条件。 lint、typecheck、test、buildがすべてパスし、残留プレースホルダーがなく、各画面のスクリーンショットが存在すること。

必要な入力

  • プロトタイプ(単一HTML、複数ページHTML、デザインファイルのリンク、またはスクリーンショット)とそのバージョン/納品日
  • プロジェクト名と一言説明
  • 新規プロジェクトのディレクトリパス(空のディレクトリまたは新規リポジトリであること。内容が存在する場合は一旦停止して確認)

その他の情報(デプロイ環境、バックエンドの現状、言語、ダークモード)はステップ1で質問します。詳細は references/workflow-detail.md を参照。

事前準備(各マシンで1回のみ)

cd <skill> && npm ci && npx playwright install chromium   # scripts/ で使用する Playwright と Prettier。プロジェクトスケルトンには含めない
# 既に Chromium がインストールされている場合はダウンロード不要。スクリーンショットスクリプト実行時は CHROMIUM_EXECUTABLE=<path> を使用

フロー

以下の5ステップのタスクリストを作成し、各ステップ完了ごとにチェックを入れる。

ステップ1: 受付

まず、プロジェクトフォルダが存在しないか空であることを確認する(内容がある場合は停止して質問する)。次に、プロトタイプファイル、バージョン、チーム共有の保存場所を確認し、references/workflow-detail.md のステップ1の表にあるまだ提供されていない項目を質問する。

ステップ2: プロトタイプ分析とスクリーンショット

references/prototype-analysis.md を読み、その方法に従って分析し、docs/_bootstrap/prototype-analysis.md を生成する(フォーマット: templates/prototype-analysis.md)。プロトタイプがHTMLの場合は、元ファイルを docs/prototype/ に配置し、docs/prototype/screens.json(フォーマット: templates/prototype-screens.json)を記入し、スクリーンショットスクリプトを実行して各画面のpngを生成する。

⏸ 一時停止ポイント: references/prototype-analysis.md の「一時停止ポイント」に従い、ラウンドごとに質問する: 確認が必要な問題、不足している状態のデフォルト動作、ルーティングモード(history / hash)、バックエンドの現状。回答を受け取ったら、分析ファイルのセクション11、12に記録してから続行する。

ステップ3: スケルトン作成

assets/skeleton/(node_modules を除く)をコピーし、npm ci を実行する。その後、references/workflow-detail.md のステップ3に従って、名前、カラーパレット、ルーティングモード、ルートとメニュー、空のページ、権限コードを修正する。Itemサンプル機能は最初の実際の機能が完成するまで保持する。

ステップ4: ドキュメント生成

references/workflow-detail.md のステップ4の対応表に従ってコピーと記入を行う。すべての <!-- FILL: --> は指示に従って記入し、コメントを削除する。すべての {{PLACEHOLDER}} は置き換える。不明な場合は「確認中」と書き、捏造しない。

ステップ5: 検証、コミット、報告

npm run lint && npm run typecheck && npm test && npm run build
node <skill>/scripts/check-placeholders.mjs <project>

4項目すべてがパス(lintにwarningがない)、チェックスクリプトがERROR0件で完了とする。その後、初回コミットを行う。 報告フォーマットは references/workflow-detail.md のステップ5を参照。

ユーザーが不在の場合:推奨回答があるものは採用し「推奨採用(仮)」とマークする。推奨回答がないものは「確認中」と書き、通常通り続行する。両方とも報告に記載する。唯一停止すべきケースは、プロジェクトフォルダに既に内容がある場合。

ファイルインデックス

そのままコピー(名前の置き換えのみ許可、内容の書き換え不可)

パスコピー先内容
assets/skeleton/プロジェクトルート実行可能スケルトン: 設定ファイル、api層、データフック、DataBoundary、権限、i18n、テーマ、MSW、テスト、CI(Azure DevOps)、PRテンプレート、Itemサンプル機能
references/standards/docs/conventions/18のチーム開発標準 + インデックス
references/adr-baseline/docs/adr/ADR 0001–0016 + インデックス
templates/agents/docs/agents/mattpocock skills の tracker と domain docs 設定(local markdown、single-context)

プロトタイプに基づいて記入

テンプレート出力
templates/prototype-analysis.mddocs/_bootstrap/prototype-analysis.md
templates/prototype-screens.jsondocs/prototype/screens.json(スクリーンショットスクリプトの入力)
templates/README.md、AGENTS.md、ARCHITECTURE.md、GLOSSARY.mdプロジェクトルート
templates/CLAUDE.mdプロジェクトルート(Claude Code 用アダプタファイル: コメント行と @AGENTS.md、そのままコピー)
templates/prototype-README.mddocs/prototype/README.md
templates/adr-router-mode.mddocs/adr/0017-router-mode.md
templates/api-interface-auth.md、api-interface.md、api-checklist.mddocs/api/
templates/feature-spec.mddocs/specs/<feature>.md
templates/task.md、tasks-README.md、task-remove-example.mddocs/tasks/
templates/adr.md、bug-report.md などコピーを docs/templates/ に保存して後で使用

説明とツール

パスいつ読むか
references/workflow-detail.md各ステップの具体的な手順、コマンド、ファイル対応表
references/prototype-analysis.mdステップ2
scripts/screenshot-prototype.mjsステップ2(プロトタイプ改版時も再実行)
scripts/check-placeholders.mjsステップ5

mattpocock skills との連携

このスキルの出力は mattpocock/skills の入力です。プロジェクトで /setup-matt-pocock-skills を実行する必要はありません(実行しても AGENTS.md の ## Agent skills と docs/agents/ が更新されるだけで、CLAUDE.md には書き込ませないでください)。

そのスキルこのスキルでの対応
/grill-with-docs、grillingステップ2の一時停止ポイントは同じ種類のインタビュー。設計変更時は直接これを使用。用語は GLOSSARY.md、決定は docs/adr/0018+ に記録
domain-modelingGLOSSARY.md(同じフォーマット)と docs/adr/(チームフォーマット、docs/agents/domain.md 参照)を読み書き
/to-spec、/to-tickets不要。仕様は既に docs/specs/(Gherkin番号付き)、タスクは既に docs/tasks/(階層化ファイルパスと再利用可能コンポーネント付き)
/implement初版の実装方法: 一度に1つの docs/tasks/<ID>-*.md、main からタスクリストのブランチを作成。tdd と code-review を呼び出す
tddseamは既に AGENTS.md「テストseam」に記述済み。議論不要
/implement-spec使用可能だが未試行: 各worktreeで npm ci(husky prepare)が必要。Azure DevOps は draft PR 統合なし

エージェントツール互換性

AGENTS.md が唯一のルールソースです。opencode と Kimi Code CLI はプロジェクトルートの AGENTS.md を直接読みます。Claude Code は CLAUDE.md を読みます。そのため、スケルトンには @AGENTS.md のみを含むアダプタファイルを添付します。アダプタファイルに追加のルールを記述しないでください。

このスキルの更新

チーム標準を変更する場合は、このスキルを変更します(standards、adr-baseline、skeleton を一緒に変更)。CHANGELOG.md に記録し、バージョンを上げます。個別のプロジェクトでのみ変更しないでください。個別のプロジェクトの逸脱は、そのプロジェクトのADR(0017以降)に記述します。 skeleton を変更した後は、必ず assets/skeleton/ で lint、typecheck、test、build を実行します。Markdownを変更した後は npm run format を実行します。

関連スキル