Communitygithub.com

replica-build(レプリカビルド)

アプリを画面ごとに再構築します。シェル→垂直スライス→全画面・全状態と進み、機能マトリクスを更新していきます。元のコードやアセットは一切使いません。

replica-build(レプリカビルド) とは?

このスキルは、replica ツールチェーンの一環として、アプリケーションを設計ドキュメント(`replica/recon.md`、`replica/architecture.md`、`replica/design/`)のみを元にゼロから再構築するためのものです。クリーンルーム方式を徹底し、元のアプリのソースコード・アセット・文言を一切流用せず、トークンベースのデザインシステム(プリミティブ・トークン)を活用します。 ビルドは4段階で進行します。(1) シェル(ルーティング・レイアウト・トークン・ダミーデータ)の構築、(2) 中核フローの垂直スライス(エンドツーエンドで動作)、(3) 全画面の状態網羅(空・ロード・エラー・権限なし・長文・モバイル表示)の個別実装、(4) ビルドログの記録と`features.csv`への完了マーク付け。各画面完了時にはスクリーンショットを保存し、replica-diff で差分確認できます。 このスキルは主に Cursor エディタでの利用を想定しており、`/replica-build` や「clone をビルドして」「画面 S07 をビルドして」「この画面を再構築して」「予約ページを実装して」といった指示に応答します。最終的には全画面の実装、機能マトリクスの更新、スクリーンショット保存を完了させ、次のステップ(バックエンド連携やテスト)へ進むためのレポートを生成します。

対応~Claude Code~Codex CLI✓Cursor
npx skills add https://github.com/silasroliver-hue/replica-skill-cursor/tree/HEAD/.cursor/skills/replica-build

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

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

ドキュメント

replica-build(レプリカビルド) は何をしますか?

replica/recon.md、replica/architecture.md、replica/design/ を読み込みます。 replica/features.csv(cloneカラム)を更新し、replica/build-log.md を管理します。

ルール

  • クリーンルーム。 すべてのコードは、ここで recon マップと仕様書をもとに新しく書かれます。元の HTML、CSS、JavaScript、SVG、画像を貼り付けたり、元のドメインや CDN から何かを読み込んだり、「ソースを見て流用する」ことは絶対にしません。
  • あなたの言葉で。 ラベル、ボタン、空状態、メール文面はすべて新しく書きます。ボタンの動作を合わせることはパリティです。文章をそのままコピーすることはコピー行為です。
  • トークンのみ。 コンポーネント内に生の16進数カラーやピクセル値は入れません。もし値が不足している場合は、トークンに追加してください。

ステップ1:シェル

インベントリ内のすべての画面へのルーティング(スタブページで可)、レイアウト(ナビ、ヘッダー、サイドバー)、トークンの組み込み、replica-design からのプリミティブ、さらに各画面に表示するためのシードデータを用意します。コミットします。

ステップ2:垂直スライス

recon マップ上のコアループを、他の何よりも先にエンドツーエンドで実装します。予約アプリの場合:イベントタイプ作成→公開ページを開く→スロットを予約→ダッシュボードで確認。見た目は悪くても構いません。動作するのが目的です。もし replica-backend がまだ実行されていない場合は、シードデータと、同じ関数シグネチャを持つフェイクデータレイヤーを使用します。そうすれば、本物と差し替えても画面のコードを変更する必要がありません。

ステップ3:画面ごと

architecture.md の順序で作業します。各画面について:

  1. recon マップの該当行を読む:目的、コンポーネント、状態、どのフローが通過するか。
  2. レイアウトと階層を参照スクリーンショットで確認する。ピクセル単位ではなく。
  3. プリミティブを使って画面を構築する。データレイヤーからの本物のデータを使用する。
  4. すべての状態:空、ローディング(元がそうならスピナーではなくスケルトン)、データあり、エラー、権限なし、長いコンテンツ(60文字の名前など)、モバイル幅。
  5. 毎回の基本:セマンティック HTML、入力欄にラベル、キーボードで到達可能、フォーカスが見える、画像に代替テキスト。
  6. features.csv の該当行を yes または partial(注釈付き)に設定する。
  7. 参照と同じビューポートでスクリーンショットを撮り、replica/clone-screens/S07.png に保存する(replica-diff 用)。
  8. 画面ごとに1コミット:build: S07 booking page

画面ごとの完了条件

  • recon マップ上の全状態に加え、空、エラー、ローディング状態を実装していること
  • 390px と 1440px の幅で正常に動作すること
  • キーボードのみでフローを完了できること
  • コンソールエラーがないこと
  • 元のアプリから借用したベタ書きの文言がないこと
  • features.csv が更新されていること
  • 差分確認用のスクリーンショットが保存されていること

ステップ4:ビルドログ

replica/build-log.md に、画面ごとに1行:ID、日付、完了または部分的、不足しているもの、想定より難しかったこと。機能が想定より大きい場合は、ログとチャットの両方でその旨を伝える。半分だけ静かにリリースしてはいけません。

機能の動作が分からなくなったとき

ユーザーとして元のアプリに戻る:ヘルプ記事を読む、公開チュートリアルを見る、ユーザー自身のアカウントを使ってみる。コードやネットワークリクエストを調べてはいけません。その上で、自分自身の動作のバージョンを構築します。

出力

構築された画面、更新された機能マトリクス、保存されたスクリーンショット、そしてサマリー:完了した画面数/総画面数、完了した必須項目数/総必須項目数、次に行うべきこと。その後、データレイヤーがまだフェイクの場合は /replica-backend、それ以外は /replica-test を実行します。

Individual skills in this repo

This repo contains 1 individual skill — each has its own dedicated page.

関連スキル