Communitygithub.com

app-platform-publish

WebサイトやアプリをDigitalOcean App Platformに公開し、公開URLを返します。ユーザーが作成したものを公開、デプロイ、配信、ホスティング、公開するよう依頼したときに使用します。

app-platform-publish とは?

このスキルは、DigitalOcean App Platformを使用してWebサイトやアプリケーションを公開するためのエージェント機能です。Dockerを必要とする他の公開スキルとは異なり、このスキルはサンドボックス環境内で動作し、コードのビルドとテスト、GitHubへのプッシュ、App Platformアプリの作成、デプロイの完了待機、ビルドログからの障害修正を一貫して行います。サポートするプラットフォームはDigitalOcean App PlatformとGitHubで、共有認証情報(digitalocean、github、github-git)を介してAPIにアクセスします。静的サイト、サーバーサイドアプリケーション、Postgresデータベースを使用するアプリなど、さまざまなタイプのアプリをデプロイできます。重要なのは、ユーザーが明示的に承認するまで、リポジトリの作成やプッシュ、アプリの作成・更新・削除を行わないことです。すべての操作は共有GitHubアカウント`jnaidu-do`の下で行われ、ユーザー自身のアカウントは使用されません。

対応~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/jnaidu-do/qm-appplatform-skills/tree/main/app-platform-publish

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

App Platform に公開する

フロー: サンドボックスでビルド&テスト → デプロイ可能にする → 計画を提案して承認を得る → GitHub にプッシュ → App Platform アプリを作成 → ACTIVE を待つ → URL を報告する。

ステップ 2 でユーザーが計画を承認するまで、リポジトリの作成、プッシュ、アプリの作成/更新/削除を決して行わないでください。 「公開して」のようなリクエストはその承認ではありません。サンドボックスでのビルドとテストは承認を必要としません。

apps アクション publish、docker、doctl は絶対に使用しないでください。これらはこのコンピュータでは動作しません。すべての操作は2つの共有認証情報を通じて行われ、コアの認証情報ブローカーを介して呼び出します。トークンが表示されることはありません。

すべてのコマンドに明示的な sandbox_id を使用し、ブローカーを呼び出すコマンド(digitalocean、github、github-git)には execute.credentials で認証情報を選択してください。コアはそれらのコマンドにのみ AGENT_CREDENTIAL_TOKEN を提供します。rm -rf は使用せず、代わりに mktemp -d で新しいディレクトリを作成してください。

コンピュータにあるもの

Node 24 + npm、Python 3.12 + pip、git、gh(ログインしていません。使用しないでください)、curl、gcc、make。 docker、doctl、jq、wget、unzip はありません。 JSON の解析は node -e または python3 -c を使用してください。

認証情報(それぞれできること)

認証情報ホスト許可されている操作
digitaloceanapi.digitalocean.com/v2/apps および /v2/regions 下の GET/POST/PUT/DELETE
githubapi.github.com/user および /repos/jnaidu-do 下の GET/POST/PATCH
github-gitgithub.com(git push/clone)/jnaidu-do/ 下の GET/POST

すべては共有 GitHub アカウント jnaidu-do(デプロイメント全体の認証情報であり、ユーザー自身のアカウントではありません)の下に作成されます。これを計画に記載してください。ユーザーが自分のアカウントを希望する場合は、まだ設定されていないことを伝えてください。403 path_not_allowed / method_not_allowed はリクエストが許可範囲外であることを意味します。バリエーションを試さず、許可されていないことをユーザーに伝えてください。

ブローカーヘルパー

これをコマンドごとに一度貼り付けてください(シェル状態は保持されません)。HTTP ステータスを stderr に、レスポンスボディを stdout に出力します:

bk() { # bk <credential> <METHOD> <url> [json-body]
  p=$(node -e 'const [c,m,u,b]=process.argv.slice(1);console.log(JSON.stringify({credential:c,method:m,url:u,headers:{accept:

関連スキル