mcpField
D
datocms-content-modeling

datocms-content-modeling

github.com/datocmsデータ・データベース3152 回インストール5 日前に更新
リポジトリ

datocms-content-modeling について

要件や既存スキーマをもとに、再利用しやすく編集者に配慮した DatoCMS のコンテンツモデルを設計するエージェントスキルです。ページ表示とコンテンツを分けて考え、実装やクエリは関連ツールやスキルに振り分けます。

主な機能

  1. 01意味を重視した再利用可能なスキーマ設計
  2. 02編集者向けフィールドヒントの提案
  3. 03モデル、ブロック、フィールドの選択支援
  4. 04実装・クエリツールへの案内
  5. 05参照資料に基づくモデリング判断

活用シーン

  1. 01新しい DatoCMS コンテンツモデルの設計
  2. 02既存スキーマの重複確認
  3. 03モデル、ブロック、構造化テキストの選択

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/datocms/agent-skills --skill datocms-content-modeling

インストール後、Claude Code で/datocms-content-modelingを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

agents/
openai.yaml
references/
block-fields-and-structured-text.md
content-reuse.md
field-configuration.md
model-configuration.md
models-vs-blocks.md
separation-of-concerns.md
taxonomy-classification.md
ui-organization.md

詳細

DatoCMS コンテンツモデリング

再利用しやすく、編集者にとって扱いやすい DatoCMS スキーマを設計します。アドバイスに CLI、MCP、ログイン、セットアップは不要です。指定された要件やスキーマを使用し、必要な場合に限り、利用可能で承認済みの経路を通じて実際のスキーマを確認します。ここで構造を決定し、実装方法は以下のルーティングを参照してください。

基本原則

  1. コンテンツはページではなくデータです。 表現ではなく意味に基づいて構造化します。
  2. 信頼できる唯一の情報源にします。 コンテンツの重複を避けます。
  3. 組み込み機能を再現しないでください。 レコードのメタデータ(created_at、published_at、…)、アセットのメタデータ(alt、title、custom_data、focal_point)、並び順(position)はすでに存在します。レコードにもブロックにも、対応するフィールドを追加しないでください。references/separation-of-concerns.md と references/model-configuration.md の「Behaviour — ordering」を参照してください。
  4. 将来に備えます。 未知のチャネルやリデザインにも対応できるよう設計します。
  5. 編集者を中心に考えます。 開発者ではなく編集者の使いやすさを最適化します。明らかな場合を除き、フィールド、フィールドセット、モデルには必ずヒントを追加してください。スキーマは編集者が使う UI です。references/separation-of-concerns.md の「Hints」を参照してください。

ルーティング

モデリングの方針を決めたら、次のとおりです。

  • 実装 — datocms-cli(マイグレーション、デフォルト)または datocms-cma(ユーザーがマイグレーションを使用しない、またはスキーマを即時変更したい場合)。
  • クエリ/レンダリング — GraphQL の読み取りと Structured Text のクエリフラグメントには datocms-cda、フレームワークでのレンダリングには datocms-frontend-integrations を使用します。
  • バリデーターとカスケード戦略の仕組み — datocms-cma/references/schema.md(リンク/Structured Text のバリデーター、on_reference_delete_strategy など)。
  • DAST の構築、編集、検証 — datocms-structured-text:[ドキュメントモデル](../datocms-structured-text/references/document-model.md)、[編集](../datocms-structured-text/references/editing.md)。ソースのインポート/エクスポートについては、[変換](../datocms-structured-text/references/conversion.md)を参照してください。CMA が完成したペイロードを永続化します。

関連する参照資料がない場合でも、ここでのモデリングに関するアドバイスは有効です。実装の仕組みについては、datocms/agent-skills から該当スキルをインストールするか、バンドル全体を更新してください。

参照資料

必須 — モデル、ブロック、フィールドを記憶だけで提案してはいけません。構造に関する質問やスキーマの提案を行う前に、判断の対象となる参照資料をすべて読み込んでください。

判断内容 → ファイル:

  • references/separation-of-concerns.md — 見た目ではなく意味に基づく命名と構成、再設計テスト、record-meta と file/gallery-meta と position の重複に関するアンチパターン。
  • references/models-vs-blocks.md — モデルとブロックの使い分け、構造上のルール(孤立要素を作らない、リンクフィールド参照を使わない、ロケールの継承)、レコードごとの上限(300 KB/500 ブロック/5 階層)、ロケール倍率。
  • references/block-fields-and-structured-text.md — single_block と rich_text(Modular Content)と structured_text の使い分け、インライン・ブロック・itemLink・インライン item の対応表、ネイティブノードのモデリング方法、ネイティブノード(blockquote、code、list、heading、thematicBreak、link)はブロックとして再作成しないこと、画像・ギャラリー・動画ブロックの構成(caption を兄弟要素として追加しない)。
  • references/content-reuse.md — リンクフィールド、プロジェクトレベルの Blocks Library、組み込みの seo、フレームなしの単一ブロック、フィールドセットによるグループ化、ブロックライブラリの管理。
  • references/taxonomy-classification.md — フラットなタグ、ツリーモデル、複数リンクによるファセット分類、カスケード方式。
  • references/ui-organization.md — Content タブの menu_item(編集者向け)、Schema タブの schema_menu_item(開発者向け)、item_type_filter による保存済みビュー、絵文字の慣例、情報アーキテクチャのヒューリスティック。
  • references/model-configuration.md — シングルトン、下書きモード、all_locales_required、並べ替え/ツリー/順序付け、inverse_relationships_enabled、presentation_title_field、presentation_image_field、collection_appearance、CDA の SEO フォールバック、作成後に関連付ける仕組み。
  • references/field-configuration.md — バリデーター(enum、format、length、unique、slug_title_field、required_alt_title、required_seo_fields、transformable_image、寸法、構造化テキストのサイズ)、appearance エディター(string_select+enum、markdown/wysiwyg/textarea、フレームあり・なしの single_block、link_select と link_embed の使い分け、structured_text のノード/マーク/heading_levels、SEO プレビュー、スラッグの url_prefix、カラーのプリセット)。

コメント