datocms-content-modeling について
要件や既存スキーマをもとに、再利用しやすく編集者に配慮した DatoCMS のコンテンツモデルを設計するエージェントスキルです。ページ表示とコンテンツを分けて考え、実装やクエリは関連ツールやスキルに振り分けます。
主な機能
- 01意味を重視した再利用可能なスキーマ設計
- 02編集者向けフィールドヒントの提案
- 03モデル、ブロック、フィールドの選択支援
- 04実装・クエリツールへの案内
- 05参照資料に基づくモデリング判断
活用シーン
- 01新しい DatoCMS コンテンツモデルの設計
- 02既存スキーマの重複確認
- 03モデル、ブロック、構造化テキストの選択
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ datocms/ agent-skills --skill datocms-content-modelingインストール後、Claude Code で/datocms-content-modelingを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
agents/openai.yamlreferences/block-fields-and-structured-text.mdcontent-reuse.mdfield-configuration.mdmodel-configuration.mdmodels-vs-blocks.mdseparation-of-concerns.mdtaxonomy-classification.mdui-organization.md詳細
DatoCMS コンテンツモデリング
再利用しやすく、編集者にとって扱いやすい DatoCMS スキーマを設計します。アドバイスに CLI、MCP、ログイン、セットアップは不要です。指定された要件やスキーマを使用し、必要な場合に限り、利用可能で承認済みの経路を通じて実際のスキーマを確認します。ここで構造を決定し、実装方法は以下のルーティングを参照してください。
基本原則
- コンテンツはページではなくデータです。 表現ではなく意味に基づいて構造化します。
- 信頼できる唯一の情報源にします。 コンテンツの重複を避けます。
- 組み込み機能を再現しないでください。 レコードのメタデータ(
created_at、published_at、…)、アセットのメタデータ(alt、title、custom_data、focal_point)、並び順(position)はすでに存在します。レコードにもブロックにも、対応するフィールドを追加しないでください。references/separation-of-concerns.mdとreferences/model-configuration.mdの「Behaviour — ordering」を参照してください。 - 将来に備えます。 未知のチャネルやリデザインにも対応できるよう設計します。
- 編集者を中心に考えます。 開発者ではなく編集者の使いやすさを最適化します。明らかな場合を除き、フィールド、フィールドセット、モデルには必ずヒントを追加してください。スキーマは編集者が使う 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、カラーのプリセット)。
コメント
Markdown 対応