custom-post-type-architect について
custom-post-type-architect は、要件に基づいて WordPress のカスタム投稿タイプ、タクソノミー、ACF フィールドグループを設計・作成するスキルです。サンプル投稿を用意し、利用中のページビルダーに応じた個別テンプレートも提案します。
主な機能
- 01カスタム投稿タイプの設計と作成
- 02関連タクソノミーと ACF フィールドグループの作成
- 03サンプル投稿の生成
- 04ビルダー別テンプレートの提案
- 05作成前の案の提示と確認
活用シーン
- 01ポートフォリオや事例紹介のコンテンツ設計
- 02ポッドキャストやイベント用の投稿タイプ作成
- 03カスタムフィールド中心の内容を専用投稿タイプへ移行
- 04通常の投稿に混在する非ブログコンテンツの監査
MCP 対応
Respira for WordPress プラグイン 7.1 以降と MCP サーバーが必要です。Respira の MCP ツールで投稿タイプ、タクソノミー、ACF フィールドグループ、サンプル投稿を作成します。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ respira-press/ agent-skills-wordpress --skill custom-post-type-architectインストール後、Claude Code で/custom-post-type-architectを入力して読み込まれたか確認します。
詳細
カスタム投稿タイプアーキテクト
バージョン: 1.0.0 更新日: 2026-05-24 カテゴリ: content-creation ステータス: stable 必要環境: Respira for WordPress plugin 7.1+ + MCP server
説明
「事例を掲載するポートフォリオが必要です」や「ポッドキャストを運営しており、各エピソードを個別のページにしたい」といった要望に基づき、WordPress のカスタム投稿タイプ、関連タクソノミー、ACF フィールドグループを一貫して設計・作成します。新しい v7.1 MCP ツール、respira_create_post_type、respira_create_taxonomy、respira_create_acf_field_group を使用します。
出力されるのは、すぐに使えるよう設定が一通り整ったコンテンツアーキテクチャです。
- CPT 本体(ラベル、サポート機能、公開/非公開、アーカイブの有無、REST への公開)
- 関連タクソノミー(例:事例の業種、ポッドキャストのエピソードのシーズン)
- CPT に紐付けられた ACF フィールドグループ(エディターに表示されるカスタムフィールド)
- エージェントがレンダリングを確認できるサンプル投稿 1〜2 件
- 有効なビルダーに対応したシングルテンプレートの提案
使用する場面
- ポートフォリオ、事例、チームメンバー、イベント、ポッドキャストのエピソード、レシピ、物件、場所、WooCommerce を使わない商品、FAQ、お客様の声、コース、レッスンなど、構造化されたコンテンツタイプを設定する場合
- 投稿にカスタムフィールドを追加する運用から、適切なコンテンツタイプに移行する場合
- ブログ以外のコンテンツを標準の「投稿」タイプに詰め込みすぎている既存サイトを監査する場合
トリガーフレーズ
- 「カスタム投稿タイプを作成して」
- 「ポートフォリオを作って」
- 「事例用の投稿タイプを設定して」
- 「チームメンバーのセクションを追加して」
- 「CPT のひな形を作って」
- 「ポッドキャスト用の投稿タイプを作成して」
- 「イベントのセクションを作って」
- 「新しいコンテンツタイプが必要です」
実行ワークフロー
ステップ 1 — サイトとビルダーを確認する
respira_get_active_site と respira_get_builder_info を呼び出します。ビルダーの選択はステップ 6 のテンプレート提案に影響します。
ステップ 2 — 要望を把握する
ユーザーの依頼だけでは明確でない場合、次の 3 つの質問を簡潔に尋ねます。
- どのようなコンテンツですか?(事例、ポッドキャストのエピソード、チーム、イベントなど)
- どのように整理しますか?(カテゴリー、タグ、カスタムタクソノミー。例:事例を業種とサービス種別で整理)
- 各投稿にどのようなフィールドが必要ですか?(例:事例の場合、クライアント名、ヒーロー画像、納品物、成果、導入前/導入後の指標、関連事例)
ユーザーが必要なフィールドを説明できない場合は、コンテンツタイプに基づいた標準セットを提案します。標準セットは次のとおりです。
- 事例: クライアント名、業種(タクソノミー)、サービス種別(タクソノミー)、ヒーロー画像、概要、納品物、成果、主要指標(3〜5 件)、クライアントロゴ、関連事例(リレーション)
- チームメンバー: 氏名、役職、プロフィール、顔写真、ソーシャルリンク(LinkedIn / X / 個人サイト)、部門(タクソノミー)
- イベント: タイトル、日時、場所、住所、オンライン/対面、登録 URL、定員、ヒーロー画像
- ポッドキャストのエピソード: タイトル、エピソード番号、シーズン(タクソノミー)、音声ファイルの URL、再生時間、番組の概要、ゲスト名、ゲストのリンク
- 物件(不動産): 住所、価格、寝室数、浴室数、面積(平方メートル)、ステータス(タクソノミー:販売中/売却済み/商談中)、ギャラリー、地域(タクソノミー)
- レシピ: タイトル、下ごしらえ時間、調理時間、分量、材料(リピーター)、手順(リピーター)、カテゴリー(タクソノミー)、料理の種類(タクソノミー)、難易度、食事制限タグ
ステップ 3 — CPT の構成を設計する
ユーザーが確認できるよう、提案する構成を出力します。
## Proposed CPT: `case_study`
- **Singular label:** Case Study
- **Plural label:** Case Studies
- **Menu icon:** dashicons-portfolio
- **Public:** yes
- **Has archive:** yes (URL: /case-studies/)
- **Supports:** title, editor, thumbnail, excerpt, revisions
- **REST API:** exposed (so the builder + Respira can read/write)
- **Hierarchical:** no
- **Show in admin menu:** yes, position 25 (under Pages)
## Supporting taxonomies
1. `case_study_industry` — Industries (e.g. SaaS, e-commerce, healthcare)
2. `case_study_service` — Service types (e.g. branding, website, copywriting)
## ACF field group: `Case Study Fields`
- Hero image (image, required)
- Client name (text, required)
- Brief (textarea)
- Deliverables (repeater — title + description)
- Outcomes (repeater — metric name + before + after)
- Client logo (image)
- Related case studies (relationship → case_study)
確認を待ちます。ユーザーがフィールドの追加や削除を希望する場合があります。
ステップ 4 — CPT とタクソノミーを作成する
確認後、作成処理を実行します。
respira_create_post_type— 提案した構成で CPT を作成しますrespira_create_taxonomy— 関連タクソノミーごとに 1 回実行し、CPT に紐付けますrespira_create_acf_field_group— ACF フィールドグループを作成し、ロケーションルールで CPT に紐付けます
各呼び出しの結果は、次のように報告します。「✓ CPT case_study を作成しました」/「✓ タクソノミー case_study_industry を作成しました」/「✓ case_study に紐付けた 8 個のフィールドを含む ACF フィールドグループを作成しました。」
ステップ 5 — サンプルエントリーを生成する
サンプルエントリーを 1〜2 件作成し、ユーザーが管理画面ですぐに CPT の動作を確認でき、エディターで正しく表示されることを確かめられるようにします。respira_create_custom_post を使用し、現実的でありながら汎用的な内容を設定します(実際の顧客名は使用せず、「BrandQ」や「agency-A」のような汎用的なペルソナを使用します)。
サンプルエントリーでは、すべての ACF フィールドに値を設定し、全体の構成を確認できるようにします。
ステップ 6 — ビルダーに合わせたシングルテンプレートを提案する
有効なビルダーに基づき、シングルテンプレートの作成場所を提案します。
- Bricks:「Templates → Add New → Type: Single → Conditions: Post Type = case_study でシングルテンプレートを作成します。推奨する要素:...」
- Elementor:「Templates → Theme Builder → Single → Add Conditions → Posts: case_study でシングルテンプレートを作成します。推奨するウィジェット:...」
- Divi:「Divi → Theme Builder → Add Template → Posts: case_study で Theme Builder テンプレートを作成します。推奨するモジュール:...」
- Gutenberg / FSE テーマ:「テーマ内、または Appearance → Editor → Templates → Add → Single Item: Case Study から、single-case_study.html テンプレートを作成します。」
- Oxygen / Breakdance:「case_study を対象とするシングルテンプレートを作成します。」
ユーザーが今すぐテンプレートを構築したい場合は、構築を提案します。これは別のスキルフローです(選択したビルダーのシングルテンプレート面に対して respira_build_page を使用します)。
ステップ 7 — 確認する
以下を含む概要を出力します。
- CPT のスラッグと管理画面の URL(
/wp-admin/edit.php?post_type=case_study) - フロントエンドのアーカイブ URL(
/case-studies/) - 2 件のサンプルエントリーの URL
- シングルテンプレートを構築したか、ユーザーに任せたかについての注記
厳守事項
- 作成前に必ず確認を求めます。ステップ 3 の CPT 構成プレビューは必須です。顧客はこの CPT に何年もコンテンツを書き込むことになります。最初から適切な構成にしてください。
- スラッグには snake_case(
case_study、case_study_industry)を使用し、スペースやハイフンは使用しません。WordPress の CPT スラッグには 20 文字の上限があります。 show_in_restは必ず有効にし、ビルダーと Respira が CPT を読み書きできるようにします。show_in_restが false の場合、投稿タイプは REST API から見えなくなり、ほとんどの最新ビルダーで問題が発生します。- CPT に
post、page、attachment、revision、nav_menu_item、custom_css、customize_changeset、oembed_cache、user_request、wp_block、wp_template、wp_template_part、wp_global_styles、wp_navigationという名前を付けてはいけません。これらは予約済みです。 - ACF フィールドグループのロケーションルールは、カテゴリーやテンプレートではなく、CPT(
post_type == case_study)に紐付ける必要があります。ロケーションルールが間違っていると、管理画面でフィールドが表示されません。 - サンプルエントリーでは汎用的なペルソナを使用します。記憶やその他の情報源にある実際の顧客名は、絶対に使用しないでください。
テレメトリー
記録内容:サイト URL のハッシュ、作成された CPT のスラッグ、タクソノミー数、ACF フィールド数、有効なビルダー、作成されたサンプルエントリー数、成功/失敗。CPT 名、フィールド値、コンテンツは送信されません。
エンドポイント:POST https://www.respira.press/api/skills/track-usage