Communitygithub.com

diegosouzapw/service-website-generator

サービス事業者向けのローカルSEO最適化されたウェブサイトを自動生成します。並列エージェントを使用して200以上のサービス+ロケーションページを作成し、Unsplash画像、NextJSの動的ルーティング、PostgreSQLデータベースを統合します。配管工、電気工、高圧洗浄、HVACなど、複数の地域をターゲットとするサービスビジネスのウェブサイト構築に使用します。

service-website-generator とは?

このスキルは、サービス事業者向けの包括的なウェブサイトを数百のローカルSEOページとともに自動的に生成する、完全自動化ワークフローを提供します。配管工事、電気工事、高圧洗浄、HVACなどのニッチに対応し、NextJS 14、TypeScript、Tailwind CSS、PostgreSQL、Prisma ORM、Jina AI、Unsplashを統合スタックとして使用します。プロセスは、ユーザー入力収集(サービスニッチ、エリア、ビジネス名、Jina APIキー)から始まり、デザイン生成、ロケーション発見、サービースキーマ作成、データベース設定、並列ページ生成(最大60エージェントを同時起動)、NextJSサイトビルド、Playwrightテスト、GitHubデプロイまでを自動で実行します。特筆すべきは、サービス数×ロケーション数の全組み合わせを並列エージェントで生成することで、数百ページの大規模サイトも短時間で構築できる点です。デザイン面では「frontend-aesthetics」スキルのガイドラインに従い、AI特有の「スロップ」を避け、業界特化のカラーパレット・フォント・アニメーションを適用します。結果として、クリック・トゥ・コール、見積もりフォーム、信頼シグナル、Before/Afterギャラリーを備えた、コンバージョン率の高いサービスサイトが得られます。

対応~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/diegosouzapw/awesome-omni-skill/tree/HEAD/skills/backend/service-website-generator

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

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

ドキュメント

Service Website Generator (サービスウェブサイトジェネレーター)

数百のローカルSEOページを持つ、完全なサービス事業者向けウェブサイトを1つの自動化ワークフローで構築します。

スタック: NextJS 14 + TypeScript + Tailwind CSS + PostgreSQL + Prisma ORM + Jina AI + Unsplash

クイックスタート

ステップ0: ユーザー入力の収集(必須)

作業を開始する前に、以下の入力を収集してください:

  1. サービスニッチ: どのサービス業種ですか?(例:「配管工」「高圧洗浄」「HVAC」)
  2. サービスエリア: 主要都市/地域(例:「ポートオレンジ、フロリダ」「ゴールウェイ、アイルランド」)
  3. ビジネス名(任意): パーソナライズ用(例:「マーフィー配管サービス」)
  4. Jina APIキー: リサーチとUnsplash画像収集に必須
  5. HTML/CSS/JSデザイン(任意): ユーザー提供 または システム生成

以下の確認が完了するまで進めないでください: サービスニッチ、サービスエリア、Jina APIキー

ステップ1: デザイン生成

重要: デザイン生成時は frontend-aesthetics スキルのガイドラインに従ってください!

ユーザーがデザインを提供しなかった場合:

Invoke: design-generator agent
Input:
  - サービスニッチ
  - ターゲットオーディエンス(地域の顧客)
  - 必ず frontend-aesthetics スキルガイドラインに従う:
    - タイポグラフィ: 特徴的なフォントを使用(Plus Jakarta Sans、Space Grotesk、Cabinet Grotesk)
    - カラー: 業界固有のパレット、紫色のグラデーションは不可
    - モーション: 見た目を楽しくするCSSアニメーション
    - 背景: レイヤーグラデーション、繊細なパターン
    - Tailwind v4: space-x-* ではなく gap-* を使用、カスタムCSSリセットは禁止
Output: /design/index.html、/design/styles.css、/design/script.js

ユーザーがデザインを提供した場合: デザインを /design/ フォルダに保存します。

ステップ2: ロケーション発見

Invoke: location-generator agent
Input: サービスエリア、サービスニッチ、Jina APIキー
Output: /locations.json(メタデータ付き20~50以上のロケーション)

サービスの到達範囲(通常、地理条件に応じて15~50マイル)内のすべての町、郊外、近隣を発見します。

ステップ3: サービススキーマ作成

Invoke: service-schema-creator agent
Input: サービスニッチ、Jina APIキー、サンプルロケーション
Output: /service-schema-template.json(包括的なスキーマを持つ5~15のサービス)

ステップ4: データベース設定

Invoke: database-agent agent
Input: プロジェクトディレクトリ、サービスニッチ、サービスエリア
Output: PostgreSQL + Prisma ORM 設定完了

作成されるテーブル: ContactForm、QuoteRequest、CallbackRequest、PageView、EmailSubscriber、ServiceAreaLead

ステップ5: ページ生成戦略の計算

総ページ数 = サービス数 × ロケーション数
必要なエージェント数 = 総ページ数 ÷ 12(エージェントあたりの平均ページ数)

例: 15サービス × 48ロケーション = 720ページ → 60エージェント

ステップ6: ページジェネレーターの起動(並列)

重要:すべてのエージェントを同時に起動し、順次実行しないでください!

Invoke: service-page-generator agents(Nエージェントを並列実行)
Input per agent:
  - サービススキーマテンプレートのパス
  - 割り当てられたサービス+ロケーションの組み合わせ(10~15ページ)
  - Jina APIキー(Unsplash画像スクレイピング用)
  - サービスニッチのコンテキスト
Output: /pages/*.json(エージェントあたり10~15ファイル)

各エージェントは:

  • Jina経由でUnsplashを検索し、関連画像を取得
  • サービスの説明、メリット、プロセス、FAQを生成
  • すべてのデータと画像を含む完全なJSONファイルを作成

ステップ7: NextJSサイトビルド

Invoke: nextjs-builder agent
Input: デザインファイル、全JSONページ、サービススキーマ、ロケーション
Output: /website/ フォルダ(完全なNextJSアプリ)

作成されるもの:

  • サービス概要を表示するホームページ
  • メインのサービスページ
  • メインのロケーションページ
  • 個別のサービス+ロケーションページ(例:/emergency-plumber-athenry)
  • サービスカテゴリページ
  • ロケーションページ
  • クリック・トゥ・コール機能
  • 信頼シグナルとCTA

ステップ8: Playwrightテスト

# 開発サーバーをバックグラウンドで起動
cd [プロジェクト]/website && npm run dev &

# playwright-tester エージェントを呼び出し
# すべてのページをテスト、SEOを検証、画像をチェック

# テスト終了後に開発サーバーを停止
kill [PID]

ステップ9: GitHubデプロイ

cd [プロジェクトディレクトリ]
git init
git add -A
git commit -m "Initial commit: [サービスニッチ] in [サービスエリア] website"
gh repo create [リポジトリ名] --public --source=. --push

gh CLIが利用できない場合は、手動での手順を提供します。

利用可能なエージェント

エージェント目的呼び出しタイミング
business-researcher特定のビジネスを調査(名前が提供された場合)1回、ステップ1
design-generatorHTML/CSS/JSデザインを生成1回、ステップ1
location-generatorサービスエリア内のロケーションを発見1回、ステップ2
service-schema-creatorサービスリストとスキーマを作成1回、ステップ3
database-agentPostgreSQL + Prismaを設定1回、ステップ4
service-page-generator画像付き10~15ページを生成Nエージェント、並列
nextjs-builder完全なNextJSウェブサイトを構築1回、ステップ7
playwright-tester全ページと機能をテスト1回、ステップ8

デザインとスタイルのガイドライン

重要: frontend-aesthetics スキルに従い、「AIスロップ」を回避してください!

タイポグラフィ(frontend-aestheticsより)

  • 使用禁止: Inter、Roboto、Open Sans、Lato、Arial、システムフォント
  • 推奨: Plus Jakarta Sans、Space Grotesk、Cabinet Grotesk、Outfit、Bricolage Grotesque
  • 極端な差を活用: 100/200のウェイトと800/900のウェイト、サイズ差は3倍以上

サービス別カラースキーム

  • 高圧洗浄/クリーニング: 強めの青 (#1e40af) + オレンジ (#ea580c) + グリーン (#059669)
  • 配管工: 水色 (#0284c7) + 緊急赤 (#dc2626) + エコグリーン (#16a34a)
  • HVAC: クールブルー (#0369a1) + 暖かみのあるオレンジ (#ea580c) + グリーン (#059669)
  • 電気工事: イエロー (#eab308) + プロフェッショナルブルー (#1e40af) + レッド (#dc2626)
  • 造園: ナチュラルグリーン (#15803d) + アースブラウン (#92400e) + ブルー (#0284c7)
  • マーケティング/B2B: ネイビー (#0A66C2) + パープルアクセント (#8B5CF6) + サクセスグリーン (#10B981)

Tailwind v4互換性(重要)

  • 使用禁止: space-x-*、space-y-*(v4で削除されました)
  • 常に使用: flex/gridコンテナでは gap-*
  • 追加しない: カスタム * { margin: 0 } リセット(mx-autoを壊します)
  • 追加する: 設定ファイルを使用する場合、CSSに @config "../tailwind.config.ts" を追加

サービスウェブサイトの要件

  • 強力なCTA(今すぐ電話ボタン、見積もりフォーム)
  • モバイルでのクリック・トゥ・コール機能
  • 信頼シグナル(資格認定、保証、レビュー)
  • 地元の電話番号を目立つように表示
  • サービスエリアの範囲を明確に表示
  • Before/After画像ギャラリー
  • ページ読み込みとインタラクションのモーション/アニメーション

ファイル構成

project-root/
├── design/
│   ├── index.html
│   ├── styles.css
│   └── script.js
├── pages/
│   └── [service]-[location].json(200ファイル以上)
├── website/
│   ├── app/
│   │   ├── [slug]/page.tsx
│   │   ├── services/page.tsx
│   │   ├── locations/page.tsx
│   │   └── ...
│   ├── components/
│   └── package.json
├── prisma/
│   └── schema.prisma
├── locations.json
├── service-schema-template.json
└── business-profile.json(ビジネス名が提供された場合)

ワークフロー例

ユーザー: 「ポートオレンジ、フロリダの高圧洗浄サービスサイトを作って」

  1. 入力を収集(ニッチ: 高圧洗浄、エリア: ポートオレンジFL、Jinaキー)
  2. 信頼シグナル、CTA、青/オレンジのカラースキームでデザインを生成
  3. 15マイル圏内の48のロケーションを発見
  4. 15の高圧洗浄サービススキーマを作成
  5. 6つのリードキャプチャテーブルを持つPostgreSQLを設定
  6. 計算: 15 × 48 = 720ページ → 約60のエージェントを起動
  7. Unsplash画像付きのすべてのサービス+ロケーションJSONファイルを生成
  8. 214以上のページを持つNextJSサイトを構築
  9. Playwrightテストを実行(目標: 80%以上の合格率)
  10. GitHubにプッシュ
  11. 報告: リポジトリURL、実行手順、デプロイ手順

重要なルール

必ず行うこと:

  • 開始前にすべての入力を収集する
  • デザインが提供されていない場合は最初に生成する
  • ページを作成する前にロケーションを発見する
  • ページを生成する前にサービススキーマを作成する
  • すべてのページ生成エージェントを同時に起動する
  • デプロイ前にPlaywrightでテストする
  • 明確なデプロイ手順を提供する

絶対にしないこと:

  • 入力収集フェーズをスキップする
  • Jina APIキーなしで進める
  • エージェントを順次実行する(並列であること!)
  • 全ページの準備ができる前にNextJSサイトを構築する
  • Playwrightテストをスキップする
  • ユーザーを次のステップなしで放置する

成功基準

  • デザインが存在する(生成されたもの、またはユーザー提供)
  • 20~50以上のロケーションが発見された
  • スキーマに5~15のサービスが含まれる
  • 200以上のサービス+ロケーションページが生成された
  • すべてのページにUnsplash画像がある
  • NextJSウェブサイトが構築され、動作している
  • Playwrightテストに合格(80%以上の合格率)
  • コードがgitにコミットされている
  • ユーザーにデプロイ手順が提供されている

Individual skills in this repo

This repo contains 17 individual skills — each has its own dedicated page.

diegosouzapw/awesome-omni-skill

Skill for discovering and researching autonomous AI agents, tools, and ecosystems using the AgentFolio directory.

diegosouzapw/awesome-omni-skill

Factor modeling and portfolio construction (Markowitz, Black-Litterman, constraints, turnover).

diegosouzapw/awesome-omni-skill

Analyze the CustomGPT.ai Labs Innovation workbook and cost tracking data to surface portfolio-level insights, trends, and recommendations for where to focus Innovation efforts.

diegosouzapw/awesome-omni-skill

Optimize project portfolio selection under constraints using mathematical optimization

diegosouzapw/awesome-omni-skill

Rapidly build, prototype, and deploy full-stack software using AI "text-to-app" tools. Use this when you need to create a greenfield application, build a high-fidelity working prototype for user testing, or bypass traditional engineering bottlenecks for internal tools.

diegosouzapw/awesome-omni-skill

Expert in building portfolios that actually land jobs and clients - not just showing work, but creating memorable experiences. Covers developer portfolios, designer portfolios, creative portfolios,...

diegosouzapw/awesome-omni-skill

Minimalist, typography-focused portfolio design system inspired by neo-brutalist and Swiss design principles. Emphasizes bold typography, generous whitespace, monochromatic color schemes, and elegant simplicity for developer/designer portfolios.

diegosouzapw/awesome-omni-skill

Review UI code for Web Interface Guidelines compliance. Use when asked to "review my UI", "check accessibility", "audit design", "review UX", or "check my site against best practices".

diegosouzapw/awesome-omni-skill

High-converting landing pages. Copy + design + implementation. Triggers: landing page, conversion page.

diegosouzapw/awesome-omni-skill

Portfolio allocation and rebalancing optimizer. Manages asset allocation across stocks/cash/bonds, performs periodic rebalancing, and ensures diversification according to market regime and risk tolerance.

diegosouzapw/awesome-omni-skill

Detect and explain risk drift in lending portfolios over time using vintage analysis, migration matrices, and concentration metrics. Use when monitoring portfolio credit quality trends, preparing board risk reports, conducting stress testing, or when risk metrics deviate from appetite thresholds.

diegosouzapw/awesome-omni-skill

Review UI code for Web Interface Guidelines compliance. Use when asked to "review my UI", "check accessibility", "audit design", "review UX", or "check my site against best practices".

diegosouzapw/awesome-omni-skill

Review UI code for Web Interface Guidelines compliance. Use when asked to "review my UI", "check accessibility", "audit design", "review UX", or "check my site against best practices".

diegosouzapw/awesome-omni-skill

Index-based file discovery using ABOUTME headers. Use INSTEAD of grep or Explore agent when searching for files by purpose or feature. Faster and more accurate than scanning code. Invoke this skill when user asks "which files handle X", "where is Y implemented", or when you need to find files related to a feature or task.

diegosouzapw/awesome-omni-skill

Index-based file discovery using ABOUTME headers. Use INSTEAD of grep or Explore agent when searching for files by purpose or feature. Faster and more accurate than scanning code. Invoke this skill when user asks "which files handle X", "where is Y implemented", or when you need to find files related to a feature or task.

diegosouzapw/awesome-omni-skill

Automate Klipfolio tasks via Rube MCP (Composio). Always search tools first for current schemas.

diegosouzapw/awesome-omni-skill

Build a GitHub portfolio that gets you hired — curate 3-5 polished projects, craft compelling READMEs, deploy live demos, tell a coherent story across your repos, and align everything to AI-native development roles. Use when preparing your GitHub for job searches, deciding what to pin, or auditing your public presence.

関連スキル