ウェブサイトスキル: 手順
このスキルは、1つのブリーフから1つのクライアントウェブサイトを作成します。各クライアントには、承認された計画、1つのコードベース、および1つのチェックスクリプトがあります。承認された計画が、ルート、タイトル、説明、見出し、およびサイトマップを制御します。
このドキュメントでは、<skill-dir> はこのファイルを含むフォルダ、<client-folder> はこのクライアント用のフォルダです。ユーザーがフォルダの規則を持っていない場合は、clients/<client>/ を使用してください。
事前要件
- このクライアントのメモ(存在する場合)を読んでください。該当するルールを2、3行でユーザーに伝えてください。
- ブリーフ、会社概要、ロゴ、写真を見つけてください。
- Node.js、Python 3、および
rsyncが利用可能であることを確認してください。
警告: ブリーフに記載されていない事実をサイトに記載しないでください。架空の証明書、クライアント名、数値、またはお客様の声は、クライアントにとって法的および信頼のリスクとなります。
フェーズ 1: 事実
references/brief-intake.mdを読んでください。- 各ソースファイルをすべて読んでください。
<client-folder>/site-brief/facts.mdを作成してください。- クライアントが現在のサイトを持っている場合は、クロールしてください。リダイレクトマップ用に各URLを記録してください。
- 事実が不足している場合は、
<client-folder>/site-brief/questions-for-client.mdを作成してください。
ゲート 1. ユーザーに事実シートの要約と不足事項のリストを表示してください。ユーザーが返信するまで停止してください。ユーザーが同意した場合にのみ、不足事項を続行してください。不足している事実を必要とするページは、計画から除外されるか、その事実なしで残ります。
フェーズ 2: サイト計画
references/site-plan.mdを読んでください。- クライアントの市場向けにキーワードリサーチを実施してください。
<skill-dir>/assets/site-plan.template.jsonを<client-folder>/site-brief/site-plan.jsonにコピーしてください。- 各ページに1つのエントリを入力してください。
- 提案書が存在する場合は、計画と比較してください。スコープ内の各項目には、ページまたは機能が必要です。スコープ内のフォームには、
serverホスティング、または合意された代替手段が必要です。 - 計画ゲートを実行してください。各 FAIL を修正してください。
python3 <skill-dir>/scripts/site_gate.py plan <client-folder>/site-brief/site-plan.json
ゲート 2. ユーザーに以下の列を含むテーブルを表示してください: URL、プライマリキーワード、月間ボリューム、タイトル。また、ホスティングの選択も明記してください。ユーザーが承認するまで停止してください。その後、計画に "approved_by" と "approved_on" として承認を記入してください。これらのフィールドがないと、ビルドゲートは失敗します。
フェーズ 3: スキャフォールド
- フォルダ
<client-folder>/website/を選択してください。 - スキャフォールドスクリプトを実行してください。このスクリプトはパスにスペースや大文字が含まれていても動作します。
bash <skill-dir>/scripts/scaffold.sh "<client-folder>/website" static
- 計画がサーバー機能を必要とする場合のみ(
references/launch.mdを参照)、staticの代わりにserverを使用してください。 - 承認された
site-plan.jsonをsrc/lib/site-plan.jsonにコピーしてください。 src/lib/site.ts内の各__FILL値を事実シートの値で置き換えてください。node_modules/next/dist/docs/01-app/にあるメタデータ、画像、フォント、静的エクスポートのガイドを読んでください。
注: Next.js はメジャーバージョン間で変更されます。node_modules 内のガイドはインストールされているバージョンに一致します。あなたのトレーニングデータは一致しません。
フェーズ 4: デザイン方針
references/design-and-copy.mdを読んでください。- ロゴからカラーとタイプのトークンを作成し、
globals.cssに配置してください。 - ロゴから
public/logo.webp、public/og.webp(1200 x 630 ピクセル)、およびsrc/app/icon.pngを作成してください。 - ヘッダー、フッター、およびホームページのみを構築してください。
- プレビューを開始してください。静的サイトの場合は、ビルド後に
npx serve out -l 3210を使用してください。サーバーサイトの場合はnpm run devを使用してください。 - ブラウザで
http://127.0.0.1:3210を開いてください。375、768、1280 ピクセルでページを確認してください。
注: 埋め込みブラウザは localhost に対して HTTP 431 を返す可能性があります。アドレス 127.0.0.1 にはこの問題はありません。
ゲート 3. ユーザーにホームページを表示してください。ユーザーがデザインを承認するまで停止してください。他のすべてのページはこのデザインを使用します。
注意: ゲート 3 の前に他のページを構築しないでください。後でデザインが変更されると、すべてのページの移行が発生します。
フェーズ 5: ページ
references/seo-build-spec.mdを読んでください。- コンテンツを
src/lib/の型付きデータファイル(例:services.ts)に配置してください。ページファイルは薄く保ってください。 - 繰り返しのページタイプごとに、
generateStaticParamsを使用した1つの動的ルートを使用してください。 pageMetadata()とgetPage()を使用して、各タイトル、説明、H1 を計画から取得してください。- クライアントの声で、購入者向けのコピーを作成してください。
facts.mdからの事実のみを使用してください。 - 仕様に従って内部リンクを追加してください。
- サイトをビルドしてください。
npm run build
- ビルドゲートを実行してください。各 FAIL をその原因で修正してください。パスを得るためにゲートを変更しないでください。
python3 <skill-dir>/scripts/site_gate.py build <client-folder>/website
npx tsc --noEmitとnpm run lintを実行してください。
フェーズ 6: レビュー
- 各ページタイプをブラウザで 375、768、1280 ピクセルで確認してください。
- 各CTA(電話、WhatsApp、メール、フォーム)を確認してください。
- ユーザーが要求する場合は、クライアント向けのページコピーを1つのドキュメントにまとめてください。
references/design-and-copy.mdに従ってください。 - ユーザーが指示した場合にのみ、プレビューをデプロイしてください。プレビュービルドはインデックス可能ではありません。
ゲート 4. ユーザーにプレビューURLとゲート結果を提供してください。ユーザーがローンチを承認するまで停止してください。
フェーズ 7: ローンチ
references/launch.mdを読んでください。SITE_INDEXABLE=1を指定してビルドしてください。--releaseを指定してビルドゲートを実行してください。ゲートは合格する必要があります。references/launch.mdのローンチ手順を実行してください。
警告: 現在のセッションで承認がないまま、ドメインを接続したり、本番環境にプッシュしたりしないでください。ライブドメインはクライアントのビジネスに影響を与えます。
クローズアウト
- ユーザーに残っているクライアントアクションのリストを提供してください。
- このクライアントのメモに、パス、決定事項、教訓を記録してください。
- サイトがSEOコンテンツ作業の準備ができていることをユーザーに伝えてください。
固定ルール
| ルール | 理由 |
|---|---|
| 各サービスに1つのURL | 1ページのサイトではサービスにランク付けできるURLが与えられない |
| 各URLに1つのプライマリキーワード | 1つのキーワードに2つのページがあると、互いに競合する |
| 計画がタイトルとルートの唯一の情報源 | ゲートはビルドされたHTMLを計画と比較する |
| アニメーション付き統計カウンターの禁止 | スクリプトが実行される前にHTMLに0が表示される |
| ゲートはスクリプト | スクリプトがキャッチする各欠陥は、先に人間の目をすり抜けたものだ |
参考文献
| ファイル | 参照フェーズ |
|---|---|
references/brief-intake.md | フェーズ 1 |
references/site-plan.md | フェーズ 2 |
references/design-and-copy.md | フェーズ 4 および フェーズ 6 |
references/seo-build-spec.md | フェーズ 5 |
references/launch.md | フェーズ 2(ホスティング)および フェーズ 7 |