Skip to content

記事を対話形式で公開する

CLI を使って記事を1本公開するまでの手順です。 フィールド定義を先に確認してから入力を進めるのがポイントです。

事前準備

APIキーとスペースのスラッグが必要です。まだ取得していない場合は CLI の使いかた を参照してください。

手順

1. スペース情報を確認する

APIベースURLとスペース名を確認します。

Terminal window
supacms space info --space <your-space-slug> --api-key <your-api-key> --pretty

出力例:

{
"slug": "supa-media",
"name": "Supa Media",
"apiBaseUrl": "https://supacms-website-prod-xxxx.supacms.workers.dev"
}

2. フィールド定義を確認する

どんなフィールドがあるか、型は何かを確認します。この手順を省略すると media 型の誤処理が起きやすいので必ず確認してください。

Terminal window
supacms field list \
--space <your-space-slug> \
--content-type <contentTypeApiId> \
--api-key <your-api-key> \
--pretty

各フィールドの config.type を見て、入力形式を把握します。

3. media 型フィールドがある場合はアップロードする

type: "media" のフィールドがある場合、先に画像をアップロードしてIDを取得します。

Terminal window
supacms media upload \
--space <your-space-slug> \
--file ./cover.webp \
--alt "カバー画像" \
--api-key <your-api-key> \
--pretty

返ってきた id を次のステップで使います。

{
"id": "01abc123...",
"url": "/api/media/supa-media/01abc123...",
"filename": "cover.webp"
}

4. エントリを作成する

Terminal window
export SUPACMS_API_KEY=<your-api-key>
supacms entry create \
--space <your-space-slug> \
--content-type <contentTypeApiId> \
--data '{
"title": "記事タイトル",
"body": "本文テキスト",
"coverImage": "01abc123..."
}' \
--pretty

media 型フィールドには文字列ではなくメディアのIDを文字列として渡します。

返ってきた id を控えておきます。

5. 内容を確認して公開する

Terminal window
supacms entry publish \
--space <your-space-slug> \
--content-type <contentTypeApiId> \
--id <entryId>

公開後に取り消す場合は entry unpublish を使います。

フィールド型ごとのデータ形式

type--data に渡す値
short_text / long_text"文字列"
rich_text"文字列" (Markdown 可)
booleantrue / false
integer42
decimal3.14
datetime"2026-08-06T09:00:00.000Z"
media"01abc123..." (メディアの id)

Claude Code スキルとして使う

このガイドの手順は supacms-publish スキル として Claude Code に登録できます。 スキルを使うと、Claude が対話形式でフィールドを1つずつ確認しながら公開作業を進めます。

セットアップ

このリポジトリには .claude/skills/supacms-publish/SKILL.md が含まれています。 Claude Code はプロジェクトルートの .claude/skills/ を自動で読み込むため、追加の設定は不要です。

プロジェクトルート/
└── .claude/
└── skills/
└── supacms-publish/
└── SKILL.md ← このファイルがスキル定義

使い方

Claude Code のチャット欄で以下のように話しかけるだけです。

/supacms-publish

または自然文でも起動します。

supa-media スペースの article コンテンツタイプで記事を公開したい

Claude がスキルを検出し、スペース情報の確認 → フィールド一覧の取得 → 1フィールドずつ対話 → 公開 の順で進めます。

スキルが行うこと

  1. supacms space info でスペースと API ベース URL を確認
  2. supacms field list でフィールド定義を取得
  3. media 型があれば supacms media upload でアップロード → ID を取得
  4. フィールドを 1つずつ 質問して値を収集
  5. supacms entry create でエントリを作成(draft)
  6. 内容を確認してから supacms entry publish で公開

AI エージェント向けのより詳細な設定は AI エージェントからの操作 も参照してください。