mcpField
C
custom-post-type-architect

custom-post-type-architect

github.com/respira-press開発4998 回インストール1 週間前に更新
リポジトリ

custom-post-type-architect について

custom-post-type-architect は、要件に基づいて WordPress のカスタム投稿タイプ、タクソノミー、ACF フィールドグループを設計・作成するスキルです。サンプル投稿を用意し、利用中のページビルダーに応じた個別テンプレートも提案します。

主な機能

  1. 01カスタム投稿タイプの設計と作成
  2. 02関連タクソノミーと ACF フィールドグループの作成
  3. 03サンプル投稿の生成
  4. 04ビルダー別テンプレートの提案
  5. 05作成前の案の提示と確認

活用シーン

  1. 01ポートフォリオや事例紹介のコンテンツ設計
  2. 02ポッドキャストやイベント用の投稿タイプ作成
  3. 03カスタムフィールド中心の内容を専用投稿タイプへ移行
  4. 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 を使用します。

出力されるのは、すぐに使えるよう設定が一通り整ったコンテンツアーキテクチャです。

  1. CPT 本体(ラベル、サポート機能、公開/非公開、アーカイブの有無、REST への公開)
  2. 関連タクソノミー(例:事例の業種、ポッドキャストのエピソードのシーズン)
  3. CPT に紐付けられた ACF フィールドグループ(エディターに表示されるカスタムフィールド)
  4. エージェントがレンダリングを確認できるサンプル投稿 1〜2 件
  5. 有効なビルダーに対応したシングルテンプレートの提案

使用する場面

  • ポートフォリオ、事例、チームメンバー、イベント、ポッドキャストのエピソード、レシピ、物件、場所、WooCommerce を使わない商品、FAQ、お客様の声、コース、レッスンなど、構造化されたコンテンツタイプを設定する場合
  • 投稿にカスタムフィールドを追加する運用から、適切なコンテンツタイプに移行する場合
  • ブログ以外のコンテンツを標準の「投稿」タイプに詰め込みすぎている既存サイトを監査する場合

トリガーフレーズ

  • 「カスタム投稿タイプを作成して」
  • 「ポートフォリオを作って」
  • 「事例用の投稿タイプを設定して」
  • 「チームメンバーのセクションを追加して」
  • 「CPT のひな形を作って」
  • 「ポッドキャスト用の投稿タイプを作成して」
  • 「イベントのセクションを作って」
  • 「新しいコンテンツタイプが必要です」

実行ワークフロー

ステップ 1 — サイトとビルダーを確認する

respira_get_active_site と respira_get_builder_info を呼び出します。ビルダーの選択はステップ 6 のテンプレート提案に影響します。

ステップ 2 — 要望を把握する

ユーザーの依頼だけでは明確でない場合、次の 3 つの質問を簡潔に尋ねます。

  1. どのようなコンテンツですか?(事例、ポッドキャストのエピソード、チーム、イベントなど)
  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 とタクソノミーを作成する

確認後、作成処理を実行します。

  1. respira_create_post_type — 提案した構成で CPT を作成します
  2. respira_create_taxonomy — 関連タクソノミーごとに 1 回実行し、CPT に紐付けます
  3. 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

コメント