datocms-setup について
DatoCMS Setupは、既存または新規サイトのリポジトリでDatoCMSを設定するための、エージェント向けガイドスキルです。リポジトリを確認して範囲を定めた計画を示し、実装は関連するDatoCMSスキルに引き継ぎます。
主な機能
- 01リポジトリの読み取り専用調査
- 02計画を先行するセットアップ手順
- 03範囲とユーザー同意の管理
- 04実装スキルへの引き継ぎ
- 05新規サイトのセットアップ案内
活用シーン
- 01リポジトリへのDatoCMS導入計画
- 02プレビューやコンテンツ描画の追加
- 03スキーマ移行やインポートの準備
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ datocms/ agent-skills --skill datocms-setupインストール後、Claude Code で/datocms-setupを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
agents/openai.yamlreferences/project.mdwebsite.md詳細
DatoCMS のセットアップ
ガイド付きのセットアップです。このスキルが会話を主導します。目標、質問、計画、順序、同意、引き継ぎを担います。実装は兄弟関係にある DatoCMS スキルで行います。各プレイには、従うべき正確なファイルとセクションへのリンクがあります。それらを読み込み、記憶を頼りに独自の判断で進めないでください。兄弟スキルが見つからない場合は、完全な datocms/agent-skills バンドルをインストールするようユーザーに依頼してください。
ルール
- まず計画を立てる:セットアップを開始したターンでは編集しません。 読み取り専用で調査してから、計画(または計画に必要な質問)を返信し、そこで止めてください。何を作るかについて、ファイル、パス、手順、「X はそのままにする」といった指示がどれほど具体的でも、それは依頼であり、計画を省略してよいという許可ではありません。ユーザー自身の言葉で計画を明示的に免除(「確認せずに進めて」「計画は省略して」)した場合に限り、同じターンで作業できます。その場合も、まず計画を伝え、その範囲内で進めてください。それ以外は、ユーザーが同意して返信した後に作業します。実際の変更には、その都度、別途承認が必要です。
- スコープを固定します。 合意した計画の範囲内でのみ作業します。新たな要件が生じた場合は、停止して説明し、確認してください。
- 実際の変更。 DatoCMS プロジェクト(プラグイン、Webhook、ビルドトリガー、ロール、トークン、検索インデックス、マイグレーションの実行、環境のフォーク/昇格/破棄、メンテナンスモード、インポート)または外部サービス(デプロイ、クロール)への書き込みは、計画内またはその場で、ユーザーが対象と操作を明示して承認した場合にのみ実行します。それ以外は、レビュー可能なコード(マイグレーション、スクリプト)またはダッシュボードの手順として残してください。ルートと認証には datocms-cma と datocms-cli を使用します。動作するルート(MCP 接続またはリンク済み CLI)がない状態で、承認された実際の読み取りまたは書き込みを行う必要がある場合は、「リポジトリを接続」をキューに追加してください。
- 推測せずに尋ねます。 作業を開始する前の返信はすべて、ユーザーが回答する必要のある質問で終えてください。成果を中心に話します。このスキルのプレイ名、参照ファイル、手順番号は内部情報として扱います(計画にはリポジトリ内のファイルを記載します)。
フロー
- 調査(読み取り専用、報告なし)。
package.json(フレームワーク:next、nuxt、@sveltejs/kit、astro;DatoCMS パッケージ;datocmsCLI)、ロックファイルからパッケージマネージャーを確認(pnpm-lock.yaml→ pnpm、yarn.lock→ yarn、bun.lock/bun.lockb→ bun、それ以外は npm)、ソースの構成(src/、Nuxt のapp/)、環境変数ファイル(名前のみ、値は決して表示しない)、datocms.config.jsonとマイグレーションディレクトリ、既存の DatoCMS コード(クエリヘルパー、下書き/プレビュールート、Webhook ハンドラー、CI ジョブ)を調べます。リポジトリを確認すれば分かることを尋ねてはいけません。 - 目標。
package.jsonがなく、目標がウェブサイトの場合は、まず以下の 新規サイト に進みます。依頼が明確ならステップ 3 へ進みます。「DatoCMS をセットアップして」のように不明確な場合は、何をしたいのか尋ねます。リポジトリに合った成果を 2~4 個提示し、それぞれ一文で結果を説明します。目標が未回答の場合、既定値はありません。回答を待ちます。 - プレイ。 以下の表から選び、プレイファイルの該当セクションだけを読みます。リポジトリにまだない各プレイの 必要なもの をキューに追加します。共通項目は一度だけ追加します。
- 質問。 調査後も未解決の 質問項目 と、ユーザー自身の言葉にある内容だけを対象にします。質問はまとめて一度に行い、推奨案を最初に示し、省略した場合にどうなるかを伝えます。実装に関する質問が省略された場合は、推奨する既定値を採用し、引き継ぎに記録します。
- 計画を提示して停止。 プレイの順序、追加または修正するファイル、パッケージ、環境変数、DatoCMS または外部サービスへの変更(変更ごとに個別に記載)、プレースホルダーのままにする項目を示します。作業を進めてよいか、変更したい点があるかを尋ねて、そのターンを終えます。
- 合意後に構築。 計画の順序に従い、各プレイの 構築 リンクを確認します。既存コードをその場で修正し、手順を ToDo として管理します。
- 引き継ぎ。 実際の値が設定され、結果を最初から最後まで検証できた場合に限り、
production-readyとします(ウェブサイトの場合は、ビルドだけでなく、実際のページとプレビューフローを配信して読み込みます)。それ以外はscaffoldedとします。未解決の値はすべて 未解決のプレースホルダー に列挙します(または「なし」と記載します)。変更内容を要約し、テスト方法 として、実際のルートと環境変数名を使用する、プレイの 検証 に基づく具体的な手順を 1~3 個示します。次に取れる選択肢を平易な言葉で提示します。
達成項目
| 成果 | 達成項目 | ファイル |
|---|---|---|
| サイトがDatoCMSのコンテンツを読み込む。必要に応じて型付きクエリも使用します | サイトを接続する | website.md |
| 下書きプレビュー、DatoCMS内でのプレビュー、クリックして編集、ライブ更新 | プレビューとビジュアル編集 | website.md |
| コンテンツが変更されると公開済みページが更新される | 公開コンテンツを最新に保つ | website.md |
| DatoCMSの画像、Structured Text、動画をレンダリングする | コンテンツをレンダリングする | website.md |
| SEOタグ、正規URL、robots.txt、サイトマップ | SEOとクロール | website.md |
| DatoCMS Site Searchを利用した検索ページ | サイト内検索 | website.md |
| CLIをインストールし、リポジトリをプロジェクトにリンクする | リポジトリを接続する | project.md |
| 型付きCMAコードとプレビュールートのマッピング | 型付きCMAコード | project.md |
| バージョン管理されたスキーマ変更 | スキーママイグレーション | project.md |
| スキーマ変更を本番環境にリリースする | マイグレーションをリリースする | project.md |
| 1つのリポジトリで複数のDatoCMSプロジェクトを動かす | 複数のプロジェクト | project.md |
| DatoCMSから他のシステムを呼び出す、またはデプロイを開始する | Webhookとビルドトリガー | project.md |
| WordPressまたはContentfulからコンテンツを移行する | インポート | project.md |
スキーマ設計(モデル、フィールド、ブロック)は datocms-content-modeling を使って決定し、マイグレーションまたは datocms-cma を通じて実装します。セットアップ時にスキーマを新たに考案することはありません。
新しいサイト
まだアプリがなく(package.json がなく)、Webサイトを作成することが目的で、どの達成項目にも着手していない場合:
-
フレームワークが不明 → Next.js、Nuxt、SvelteKit、Astroのどれを使うか尋ねます。
-
スキャフォールディングと並べて、常に公式スターターを提示します。新規プロジェクトには公式スターターを推奨します。スターターには、下書きモード、Web Previews、Content Link、リアルタイム更新、型付きクエリが含まれています。Marketplaceページを使うと、スターターのスキーマとサンプルコンテンツを備えた新しいDatoCMSプロジェクトを作成でき(デプロイも可能です)、コードはGitHubリポジトリにあります。独自のスキーマを持つ既存プロジェクトの場合、スターターのクエリはそのスキーマと一致しないことを伝え、スターターは参考として利用します。
-
スターターを選んだ場合 → Marketplaceページから作成する方法(またはMarketplaceページから作成したプロジェクトに対してリポジトリをクローンする方法)と、環境変数を設定する方法を案内します。達成項目は必要ありません。
-
スキャフォールディングを選んだ場合 → 計画に合意してから、フレームワーク独自のジェネレーターでアプリを作成し、その後サイト関連の達成項目に進みます。
プロジェクト
実装にDatoCMSプロジェクトが必要で、既知のプロジェクトがない場合 → 質問(ヘッダー「プロジェクト」):「すでにDatoCMSプロジェクトをお持ちですか?それとも新しく作成しますか?」選択肢:既存プロジェクトをリンク(最初)、新規作成。どちらも推奨しません。作成する場合 → ユーザーが https://dashboard.datocms.com/ でプロジェクトを作成して確認した後、リポジトリを接続する、次にスキーマを設計し、その後サイト関連の達成項目に進みます。
質問
利用可能で、かつ使用が許可されている場合は、ハーネスの構造化質問ツールを使い、実際のスキーマと制限に従います。短いヘッダー、各選択肢に1文で結果を記載し、正当な場合にのみ (Recommended) を付け、複数選択は互換性のある選択肢に限ります。ツールがない場合 → 番号付きのプレーンテキストリストを使います。質問できない場合(非対話型の実行)→ 回答に依存しない作業だけを行い、不足している情報を報告します。