作成日: 2026-08-28 / シンオン株式会社
対象: つくる人(非エンジニア社員)/ 用意する人(情シス・エンジニア)/ 決める人(経営)
題材: 顧客問い合わせの受付台帳 / 日報の集計ダッシュボード
対になる資料: プランA(Codespaces)・プランB(ローカル)・Cloudflare OS — 第 III 部で比較します
| あなたの立場 | 読むところ | 所要 |
|---|---|---|
| 決める人(経営・情シス) | 第 I 部(1〜4章)と 第 III 部(17〜22章) | 15 分 |
| 用意する人(エンジニア) | 第 I 部 → 第 II 部の Step 0(6章)→ 第 III 部 | 40 分 |
| つくる人(非エンジニア) | 第 II 部(7〜16章)だけで足ります。Step 0 は自分ではやりません | 作りながら |
Cloudflare が GitHub で公開している cloudflare/skills リポジトリのことです。AI コーディングエージェント(Claude Code など)に「Cloudflare の作り方」を教え込むための スキル 13 本・スラッシュコマンド 2 本・公式 MCP サーバー 5 本が入った、無料の公式パッケージです。
社内向けに Cloudflare が作ったものではなく、世界中の開発者向けの汎用パッケージです。ここが後述するリスクの出どころなので、最初に押さえてください。
本文中の手順・コマンド・スキル名は、2026-08-28 時点の公式リポジトリと公式ドキュメントの実物に基づいています。ただし cloudflare/skills は更新の速いリポジトリで、README の表とリポジトリの実体がすでに一致していません(2-3 に実測差分)。
確認できなかった項目は 21 章に正直に列挙しました。そこを読まずに稟議へ回さないでください。
wrangler が配信路になります。この 3 点セットが最初から揃うので、試行錯誤が激減します。プランA/B が「エンジニアの承認を通して 1 本ずつ本番に出す」仕組み、Cloudflare OS が「ブラウザだけで作って即共有する」仕組みなのに対し、公式スキル方式は「非エンジニアが、エンジニアと同じ道具・同じ本番環境を、承認なしで使う」仕組みです。
速さと引き換えに関門を捨てた方式だと理解してください。捨てた分は Access と Cloudflare 側の設定で埋めます。
スキル = AI に読ませる説明書のまとまりです。プログラムではありません。SKILL.md という Markdown ファイルと、その参照資料(references)のフォルダでできています。
AI は会話の内容を見て、関係するスキルだけを自動で読み込みます。つくる人が「今から D1 を使うのでスキルを読んで」と指示する必要はありません。
素の AI は Cloudflare の最新仕様を知りません。学習データが古いからです。公式スキルは冒頭で AI にこう命じています。
つまり公式スキルの本体は知識そのものではなく、「知ったかぶりをせず、公式を見に行け」という規律です。非エンジニアにとっては、これがでたらめなコードを掴まされない保険になります。
skills/ フォルダの実体)| スキル | 何を教えるか | つくる人に関係するか |
|---|---|---|
cloudflare | 中核。Workers / Pages / KV・D1・R2 / Workers AI・Vectorize / Tunnel / WAF / Terraform まで全域。参照資料 63 製品分 | ◎ 常に効く |
wrangler | 配信コマンド(deploy, dev, KV・R2・D1・Secrets の操作) | ◎ 配信で効く |
workers-best-practices | 本番に出す前の品質レビュー(秘密情報の置き方、グローバル変数、ログ設定などの定番事故) | ◎ 公開前に効く |
durable-objects | 状態を持つ処理(チャット・予約・同時編集) | △ 必要なときだけ |
agents-sdk | AI エージェント(状態・スケジュール・WebSocket・ストリーミング) | △ |
cloudflare-email-service | メール送信・受信(SPF/DKIM/DMARC 含む) | ○ 通知系で使う |
turnstile-spin | フォームの bot 対策(CAPTCHA)を一気通貫で組み込む | ○ 社外フォームで使う |
web-perf | 表示速度の計測と改善(Core Web Vitals) | △ |
sandbox-next / sandbox-stable / sandbox-migrate-to-next | 隔離環境でのコード実行 | × |
cloudflare-one | Zero Trust / SASE(Access・Gateway・WARP・Tunnel の設計と設定) | × 用意する人向け |
cloudflare-one-migrations | Zscaler・Palo Alto・旧 VPN からの移行計画 | × 用意する人向け |
| コマンド | 何をするか |
|---|---|
/cloudflare:build-agent | Agents SDK で AI エージェントを新規に組み立てる(雛形作成 → 設定 → 実装 → デプロイまで誘導) |
/cloudflare:build-mcp | Cloudflare 上に MCP サーバーを組み立てる |
| サーバー | できること | 危険度 |
|---|---|---|
cloudflare-docs | 最新の公式ドキュメントを検索・取得 | 低(読むだけ) |
cloudflare-bindings | KV・R2・D1・AI などの接続部品を作る | 中 |
cloudflare-builds | ビルドの状況を見る | 低 |
cloudflare-observability | ログと分析を見て不具合を追う | 低 |
cloudflare-api | アカウントの資源・ゾーン・設定を操作する | 高(6-4 で必ず制限する) |
cloudflare-api は名前のとおり Cloudflare アカウント全体を操作できます。DNS も WAF も対象になり得ます。非エンジニアの端末でこれをそのまま OAuth 承認させると、本人にその気がなくても、会話の流れで本番 DNS を触れてしまう構図になります。
Synon では 6-4 で、このサーバーを外すか、権限を絞ったトークンに差し替えます。
公式 README のスキル一覧表には building-ai-agent-on-cloudflare と building-mcp-server-on-cloudflare が載っていますが、skills/ フォルダに同名の実体はありません(この 2 つは commands/ のコマンド 2 本に相当します)。逆に、実体としてある cloudflare-email-service / turnstile-spin / workers-best-practices は README の表に載っていません。
害はありませんが、「公式ドキュメントどおりに動かない箇所がある」段階のパッケージだと認識してください。社内資料や手順書に README の記述をそのまま転記しないこと。四半期ごとに実体を再確認する運用にします(21 章 #4)。
つくる人がやることは、日本語で頼むことと、画面を見て「違う」と言うことだけです。その裏で 3 つの部品が役割分担しています(図 1)。
| 部品 | 役割 | たとえるなら |
|---|---|---|
| 公式スキル | Cloudflare の作り方の知識と、公式を見に行く規律 | 設計の教科書 |
| 公式 MCP サーバー | ドキュメント検索・資源作成・ログ確認を AI が自分でやる | AI の手 |
wrangler | 書いたものを Cloudflare に送り出す | 配送業者 |
そしてこの 3 つを動かす AI 本体が Claude Code(ターミナルで動くコーディングエージェント)です。
「Cloudflare 公式スキル方式」は Cloudflare の製品ではありません。Cloudflare が配っているのは知識だけで、作業をする AI と、その安全設定は Synon 側の責任です。
Cloudflare OS(別資料)が「Cloudflare が用意した箱の中で作る」方式なのに対し、こちらは「自分の道具に Cloudflare の知識を足す」方式です。ここが 4 方式で最も違うところです。
| いるもの | 誰が用意 | 備考 |
|---|---|---|
| Cloudflare アカウント(Workers Paid $5/月) | 用意する人 | Free で稟議を通さないこと(4-3) |
| Cloudflare Access の設定 | 用意する人 | 6-3。これが唯一の防波堤 |
| つくる人の Mac(または Windows) | 本人 | 管理者権限が 1 回だけ必要 |
| Node.js | 用意する人が同席して 1 回 | wrangler と Claude Code の前提 |
| Claude Code | 本人 | Claude の契約が別途必要 |
| 公式スキルプラグイン | 本人(コマンド 2 行) | 無料 |
| GitHub アカウント | 不要 | プランA/B との最大の違い |
Cloudflare 側の追加費用は、プランB($13/月)より安い $5/月です。ただし関門(エンジニアのレビュー)を買わない分だけ安い、という理解が正しい読み方です。
作業は Step 0 〜 Step 8 の 9 段です。Step 0 は用意する人が会社で 1 回だけ、Step 1〜3 はつくる人が自分の端末で 1 回だけ、Step 4〜8 がアプリを 1 本作るたびに繰り返す部分です。
| Step | やること | 誰が | 頻度 | 目安 |
|---|---|---|---|---|
| 0 | 会社の土台を作る(アカウント・Access 全体保護・MCP 制限・費用上限) | 用意する人 | 会社で 1 回 | 半日 |
| 1 | パソコンを準備する(Node.js・Claude Code・作業フォルダ) | つくる人+同席 | 1 人 1 回 | 30 分 |
| 2 | 公式スキルを入れる(コマンド 2 行 → 再起動) | つくる人 | 1 人 1 回 | 3 分 |
| 3 | Cloudflare とつなぐ(ブラウザで承認) | つくる人 | 1 人 1 回 | 3 分 |
| 4 | 何を作るか決める(頼み方を整える) | つくる人 | 1 本ごと | 20 分 |
| 5 | プロンプトで作る | つくる人 | 1 本ごと | 30 分〜半日 |
| 6 | 手元で動かして確かめる | つくる人 | 1 本ごと | 20 分 |
| 7 | 社内に公開する(配信 → Access を目視確認) | つくる人 | 1 本ごと | 10 分 |
| 8 | 直す・育てる | つくる人 | 随時 | — |
つくる人はこの章を読まなくて構いません。ただし「誰かがやってくれている」ことは知っておいてください。
Cloudflare ダッシュボード → Workers & Pages → プランを Workers Paid($5/月) に。理由は 4-3。
配信されたアプリの住所は https://<アプリ名>.<会社のサブドメイン>.workers.dev になります。このサブドメイン名は社名が入る前提で決めてください(例: synon)。後から変えると全アプリの URL が変わります。
Cloudflare ダッシュボード → Workers & Pages → Protect all Workers カード → Enable Access。
これで アカウント内のすべての Worker が、以後ずっと社内限定になります。新しく作られた Worker も自動で対象です。つくる人が何も設定しなくても守られます。
Cloudflare はこの機能を 「社内向けに vibe-coding されたアプリを、ワンクリックで守る」 ものとして発表しています。つまり 「非エンジニアが AI で作って事故る」という前提で作られた機能です。用途がぴったり一致しています。
ctx.access は Service Binding 経由の HTTP リクエストや RPC 呼び出しには伝わりません。単体のアプリでは問題になりませんが、アプリ同士をつなぎ始めたらエンジニアに相談してください。
cloudflare-api MCP サーバーを制限する公式プラグインをそのまま入れると、つくる人の端末から アカウント全体を操作できる MCP サーバーが有効になります。Synon では次のどちらかを、つくる人に配る前に決めてください。
| 案 | やること | 向いている場合 |
|---|---|---|
| 案 A(推奨・単純) | 配布手順から cloudflare-api を外し、cloudflare-docs / cloudflare-bindings / cloudflare-observability / cloudflare-builds の 4 本だけにする | まず展開したい |
| 案 B(厳密) | 権限を絞った API トークン(Workers 編集・D1・R2・KV のみ/DNS と WAF は付けない)を発行し、OAuth ではなくそのトークンで接続させる | 監査要件がある |
どちらも取らずに配布した場合、「DNS を消してしまった」事故の責任は用意する人にあります。
つくる人に渡すのは、この資料の第 II 部(7 章以降)と、次の 4 つの値だけです。
~/社内サービス/)ここだけは、つくる人 1 人では詰まります。用意する人(情シス・エンジニア)に同席してもらってください。以降の章は 1 人で進められます。
Cloudflare の配信ツール(wrangler)が動くための土台です。nodejs.org の LTS を入れます。入ったかどうかの確認:
node -v
v22.x のような数字が出れば成功です。何も出ない・「command not found」なら失敗なので、そこで止めて相談してください。
Anthropic の案内に従ってインストールし、ログインします。ターミナル(黒い画面)で動きます。
使うコマンドは この資料に載っている数個だけです。覚える必要はありません。この資料をコピーして貼るだけで全部済みます。「入力する」のではなく「貼る」と考えてください。
mkdir -p ~/社内サービス
cd ~/社内サービス
以後の作業は必ずこのフォルダの中で行います。ここから出ないことが、いちばん簡単な安全策です。
claude
これで対話が始まります。以降のコマンド(/plugin ...)は、このターミナルではなく Claude Code の中に打ちます。
Claude Code の中で、次の 2 行を順に打つだけです。
/plugin marketplace add cloudflare/skills
/plugin install cloudflare@cloudflare
cloudflare プラグイン(スキル 13 本+コマンド 2 本+MCP サーバー)を入れる入れ終わったら Claude Code を一度終了して、もう一度起動してください。MCP サーバーは再起動しないと読み込まれません。
再起動後、こう聞いてください。
Cloudflare のスキルは有効になっている? 使えるスキルの名前を挙げて。
cloudflare wrangler workers-best-practices などの名前が返ってくれば成功です。
スキルは自動で読み込まれます。「スキルを使って」と毎回頼む必要はありません。
逆に、明示的に呼ぶのは /cloudflare:build-agent と /cloudflare:build-mcp の 2 つだけで、この 2 つは社内の台帳アプリづくりでは使いません。忘れて構いません。
初めて Cloudflare に関わる作業を頼んだとき、ブラウザが自動で開いて「許可しますか」と聞かれます。会社の Google Workspace アカウントでログインして許可してください。これは 1 回だけです。
配信ツール側も同じように 1 回つなぎます。
npx wrangler login
画面に出ているアカウント名が会社のものかを必ず見てください。個人の Cloudflare アカウントを持っている人は、そちらを選ぶと Access の保護が効きません。会社アカウント以外が出てきたら、そこで止めて相談してください。
ここが成否の 8 割です。AI は「頼まれたとおり」に作ります。曖昧に頼むと、曖昧なものが出てきます。
社内向けの「問い合わせ受付台帳」を作ってください。
・使う人: 営業4名。Cloudflare Access でログイン済みの社内の人だけ。
・入力する項目: 会社名 / 担当者名 / 電話番号 / 問い合わせ内容 / 受付日時 /
対応状況(未対応・対応中・完了)
・受付日時は自動で入れてください。
・入力した人のメールアドレスも自動で記録してください(ctx.access から取れるはずです)。
・一覧画面は、未対応を上に、新しい順に並べてください。
・対応状況はワンクリックで変えられるようにしてください。
・スマホでも使えるようにしてください。
・データは Cloudflare D1 に保存してください。
・まず何を作るか説明してから、作り始めてください。
「まず何を作るか説明してから、作り始めてください。」
これを付けると、AI はいきなり書き始めず、日本語で計画を出してきます。そこで違和感があれば、1 行も書かれていない段階で直せます。
| 選ばない | 理由 |
|---|---|
| 請求・給与・受発注 | 間違えたときの被害が大きすぎる |
| 社外の人が使うもの | Access の外に出す判断が要る。エンジニア案件 |
| 個人情報を貯め続けるもの | 保管期間と削除の設計が要る |
| 今すぐ止まると困る業務 | 練習台に本番を使わない |
「壊れても誰も困らないが、自分は毎日使う」ものを選んでください。毎日使うから改善点が見つかり、壊れても困らないから思い切って試せます。
Claude Code に 10-2 の依頼文を貼ります。その後に起きることは、だいたい毎回同じです。
| 場面 | 言う言葉 | なぜ |
|---|---|---|
| 計画が出たとき | 「この設計だと、後から◯◯を足せますか?」 | 作り直しを避ける |
| コードを書き終えたとき | 「本番に出す前の観点でレビューして」 | workers-best-practices スキルが起動し、秘密情報の置き方・ログ設定・定番の事故を自分で洗い出します |
| よく分からない用語が出たとき | 「それを社内の非エンジニアに説明するつもりで言い直して」 | 分からないまま「はい」を押すのがいちばん危険 |
GitHub は使いません。作ったものは、あなたのパソコンの ~/社内サービス/<アプリ名>/ にファイルとして残ります。
プランB には 毎日 18 時の自動保存と work ブランチという安全網がありました。公式スキル方式にはそれがありません。パソコンが壊れたら、作ったものは消えます。
対策は 20-2・20-3 に書きます。「毎日 Time Machine(またはバックアップ)が動いていること」を最低条件にしてください。
まだ社内には出ていません。自分のパソコンの中だけで動かして確かめる段階です。AI にこう言います。
手元で動かして、ブラウザで確認できるようにしてください。
AI が起動コマンド(npm run dev または npx wrangler dev)を打ち、http://localhost:8787 のような住所が出ます。ブラウザでそこを開いてください。
| # | 見るところ | だめなときの言い方 |
|---|---|---|
| 1 | 入力して保存できるか | 「保存を押すと画面が固まります」 |
| 2 | 保存したものが一覧に出るか | 「保存したのに一覧に出ません」 |
| 3 | 並び順は指定どおりか | 「未対応が上に来ていません」 |
| 4 | 空欄のまま保存したらどうなるか | 「会社名が空でも保存できてしまいます。必須にして」 |
| 5 | 同じものを 2 回保存したらどうなるか | 「二重登録できてしまいます」 |
| 6 | スマホの幅で崩れないか(ブラウザの幅を狭める) | 「幅を狭めると表がはみ出します」 |
| 7 | 日本語がちゃんと出るか(文字化け・全角) | 「顧客名が文字化けします」 |
AI は「頼まれた動き」は作りますが、「頼まれていない使われ方」は想像しません。必ず人が見てください。
ファイルを開く必要はありません。日本語で言うだけです。
会社名が空のまま保存できてしまいます。必須にして、空なら赤字で理由を出してください。
直ったら、画面を再読み込みして、同じ 7 項目をもう一度確認します。
AI は「直しました」と言いますが、画面で見た人だけが確認したことになります。ここを省略した分は、必ず後で本番の不具合として返ってきます。
AI にこう言います。
Cloudflare に配信してください。
AI が npx wrangler deploy を実行し、数十秒で住所が返ってきます。
https://inquiry-ledger.synon.workers.dev
この時点で、もう本番です。ビルドサーバーも承認待ちもありません。
配信できたら、この 3 つを必ず自分の目で確かめてください。ここを省略した事故がいちばん多いです。
| # | やること | 期待する結果 |
|---|---|---|
| 1 | 返ってきた URL をふつうのブラウザで開く | Cloudflare のログイン画面が出る |
| 2 | シークレット(プライベート)ウィンドウで同じ URL を開く | やはりログインを求められる |
| 3 | 会社の Google アカウントでログインする | アプリが表示される |
それは全世界に公開されています。即座に Chatwork で情シスに連絡してください。自分で直そうとしないこと。(原因はほぼ 6-3 の未設定か、個人 Cloudflare アカウントでの配信です)
【新しい社内ツール】問い合わせ受付台帳
URL: https://inquiry-ledger.synon.workers.dev
・会社の Google アカウントでログインしてください(社外の人は開けません)
・スマホでも使えます
・不具合や「こうしてほしい」は 田中 まで直接どうぞ。だいたい当日中に直せます
・まだ試用中です。大事な内容は、しばらく Excel にも残しておいてください
最後の 1 行を必ず入れてください。並行運転の期間を最初に宣言しておくと、後で困りません。
URL はアプリ名がそのまま入るので、あとから変えると全員に配り直しになります。
| 良い | 悪い |
|---|---|
inquiry-ledger(問い合わせ台帳) | test, app1, new |
daily-report(日報) | tanaka-no-yatsu |
expense-check(経費チェック) | system |
英小文字とハイフンだけ。最初に決めて、変えない。
Claude Code を起動して、そのアプリのフォルダに入り、日本語で言うだけです。
cd ~/社内サービス/inquiry-ledger
claude
一覧に「先月分だけ表示」のボタンを足してください。
→ Step 6(手元で確認)→ Step 7(配信)と同じ流れを繰り返します。慣れると 1 回 10 分です。ここが公式スキル方式の最大の利点です。
本番でエラーが出ているようです。ログを見て原因を調べてください。
cloudflare-observability MCP サーバーが動き、AI が本番のログを自分で読んで原因を探します。つくる人がログ画面の見方を覚える必要はありません。
D1 のデータを CSV で書き出してください。
月に 1 回、これをやって手元に保存しておいてください。バックアップになります。
このアプリを削除したいです。データの書き出しをしてから、消す手順を教えてください。
使われていないアプリは、費用より「誰も見ていないのに動き続けている」ことがリスクです。四半期に 1 度、一覧を見て棚卸ししてください。
| # | 症状 | 原因 | 対処 |
|---|---|---|---|
| 1 | スキルが効いていない感じがする | Step 2 の再起動を飛ばした | Claude Code を終了して起動し直す |
| 2 | command not found: node | Node.js が入っていない | 7-1 に戻る。用意する人を呼ぶ |
| 3 | wrangler deploy で権限エラー | ログインしていない/別アカウント | npx wrangler login をやり直し、会社のアカウントを選ぶ |
| 4 | 配信したらログインを求められない | Access が効いていない | すぐ情シスへ連絡。自分で直さない |
| 5 | D1 が作れない・上限エラー | Free プランのまま(10 個上限) | 用意する人に Workers Paid を確認 |
| 6 | 画面が真っ白 | 静的ファイルの設定漏れ | 「画面が真っ白です。設定を見直して」と言えば直ります |
| 7 | 日本語が文字化けする | 文字コード指定漏れ | 「文字化けします。UTF-8 を明示して」 |
| 8 | AI が同じ失敗を繰り返す | 会話が長くなりすぎた | 会話を新しく始める。フォルダはそのままで良い |
| 9 | AI が「できました」と言うが動かない | 確認せずに宣言している | 必ず自分でブラウザを見る。「動いていません。画面には◯◯と出ています」と具体的に返す |
| 10 | 何を頼めばいいか分からなくなった | 目的を見失っている | 10-1 の紙に戻る。5 項目を読み直す |
会話が長くなると AI の精度は落ちます。「1 本のアプリ = 1〜3 回の会話」が目安です。会話を切っても、作ったファイルはフォルダに残っているので消えません。
公式スキル方式には、技術的な強制力がほとんどありません。以下は約束として守ってください。
| # | 禁止 | 理由 |
|---|---|---|
| 1 | ~/社内サービス/ の外で作業しない | 他のファイルを壊す事故を防ぐ |
| 2 | DNS・WAF・ゾーン設定を触らない(AI が提案しても断る) | 会社のサイトが止まります。「DNS を」と言われたら即中断して相談 |
| 3 | 個人の Cloudflare アカウントで配信しない | Access が効かず、全世界に公開されます |
| 4 | パスワード・API キーをコードに書かせない | 「秘密の値は Secrets に入れて」と言えば AI が正しく処理します |
| 5 | 社外の人が使うものを自分で公開しない | Access の外に出す判断は必ずエンジニア |
| 6 | マイナンバー・口座番号・健康情報を扱わない | 保管設計が別次元。企画段階で情シスへ |
| 7 | sudo で始まるコマンドを実行しない | 何を聞かれているか分からないまま管理者権限を渡さない |
| 8 | 本番のデータで練習しない | 1 本目は「壊れても困らないもの」(10-4) |
| 9 | 「よく分からないけど、はい」を押さない | 分からなければ 11-2 の言い換えを使う |
| 10 | 配信後の 3 つの目視確認(13-2)を省略しない | 事故はここで見つかります |
プランB には guard.sh というフックがあり、sudo や rm -rf を機械的に禁止していました。公式スキル方式にはそれがありません。公式スキルは Cloudflare の作り方を教えるものであって、社内ルールを強制する仕組みではないからです。
展開するなら、プランB の guard.sh を公式スキルと併用してください(20-2)。すでに作ってあるので、新規開発は不要です。
Synon にはこれまでに 3 つの方式の資料があり、今回で 4 つになりました。優劣ではありません。「関門の強さ」と「作り手の自立度」が違うだけです。
| 方式 | ひとことで言うと |
|---|---|
| プランA / B | エンジニアの承認を通して、部門で長く使うものを 1 本ずつ本番に出す |
| Cloudflare OS | ブラウザだけで、その日のうちに何本でも作って即共有する |
| 公式スキル方式(本資料) | 非エンジニアが、エンジニアと同じ道具・同じ本番環境を、承認なしで使う |
4 つ全部を維持する必要はありません。20 章で 3 レーンに整理します。ただし「1 つに統一する」は失敗します。社外公開が必要な案件と、個人の道具は、同じ仕組みには乗りません。
| 観点 | 公式スキル方式(本資料) | プランA(Codespaces) | プランB(ローカル) | Cloudflare OS |
|---|---|---|---|---|
| つくる人が触る道具 | Claude Code(ターミナル) | ブラウザ内の Codespace | Claude Code(ターミナル) | ブラウザだけ |
| GitHub アカウント | 不要 | 必要 | 不要 | 不要 |
| ターミナルを使うか | 使う | 使う(ブラウザ内) | 使う | 使わない |
| 端末セットアップ | 30 分/人(1 回) | 不要 | 30 分/人(1 回) | 不要 |
| 1 本目が動くまで | 半日 | 1〜2 日 | 1〜2 日 | 30 分 |
| 直して反映するまで | 10 分(本人で完結) | PR マージ待ち | PR マージ待ち | 即時 |
| 学習コスト | 中(コマンド数個) | 中 | 中 | 低 |
| 観点 | 公式スキル方式 | プランA | プランB | Cloudflare OS |
|---|---|---|---|---|
| 本番公開の関門 | なし(本人が wrangler deploy) | エンジニアの PR マージ | エンジニアの PR マージ | なし(共有=即配布) |
| 差分レビュー | なし | あり | あり | 実質不可 |
| 事前の防波堤 | Access の全 Worker 一括保護のみ | Access + 4 層ガードレール | Access + 4 層 + guard.sh | 権限ゼロ生成+観測ログ追従 |
| 誤って全世界公開 | 6-3 未設定なら起こる | 起こりにくい | 起こりにくい | 構造的に起きない(社外公開不可) |
| 危険コマンドの機械的禁止 | なし(約束のみ) | あり | あり(guard.sh) | 該当なし |
| 作業消失対策 | なし(各自のバックアップ頼み) | Codespace+GitHub | 毎日 18 時 自動保存+GitHub | サーバ側で自動 |
| 退職時の後始末 | 端末回収+Access 除名。ソース複製が残る | Codespace を削除 | Deploy key 削除。ソース複製が残る | Access 名簿から外すだけ。複製なし |
| ソース持ち出しやすさ(=リスク) | 高 | 中 | 高 | 低 |
| 監査ログ | Cloudflare 側のログ | GitHub の履歴+Cloudflare | GitHub の履歴+Cloudflare | 観測ログが成果物に追従 |
| 観点 | 公式スキル方式 | プランA | プランB | Cloudflare OS |
|---|---|---|---|---|
| 社外への公開 | 可(要エンジニア判断) | 可 | 可 | 不可 |
| 独自ドメイン | 可 | 可 | 可 | 不可 |
| D1 / R2 / KV | フルに使える | フル | フル | DO + SQLite に限定 |
| 外部 API との接続 | 自由(鍵は Secrets へ) | 自由 | 自由 | 同梱 Gatekeeper のみ。Chatwork・freee・kintone は自作=エンジニア案件 |
| 定期実行(cron) | 可(Cron Triggers) | 可 | 可 | 可 |
| 一斉更新(配った全員に反映) | 可(URL が 1 つなので配信すれば全員) | 可 | 可 | 直接共有なら可/Blueprint は不可 |
| 成熟度 | 公式・安定(Workers 自体は枯れている) | 安定 | 安定 | early-access(公式に明記) |
| 方式 | Cloudflare | GitHub | その他 | 合計(Cloudflare 側) |
|---|---|---|---|---|
| 公式スキル方式 | $5 / 月 | $0 | Claude 利用料(人数分) | $5 / 月 |
| プランA | $5 / 月 | GitHub Team + Codespaces | Claude 利用料 | $50〜80 / 月(5 人) |
| プランB | $5 / 月 | GitHub Team $4 × エンジニア 2 名 | Claude 利用料 | $13 / 月 |
| Cloudflare OS | $5 / 月 | $0 | AI トークン(要上限設定) | $5 / 月+トークン |
公式スキル方式が最安ですが、安さの理由は「エンジニアの工数を買っていない」ことです。その工数は消えたのではなく、事故が起きたときにまとめて発生します。
| 方式 | 最大の弱点 |
|---|---|
| 公式スキル方式 | 本番公開に関門がゼロ。Access の設定漏れが唯一にして最大の事故要因 |
| プランA | GitHub Team が必須で費用が高い。GitHub アカウントを配る必要がある |
| プランB | エンジニアが PR を作る手間(1 回 2 分)が毎回発生する |
| Cloudflare OS | early-access。データの一括出し入れ手段が未確認。社外公開できない |
上から順に。最初に「はい」になったところで決まりです。
| レーン | 使う方式 | 対象 | 関門 |
|---|---|---|---|
| 試すレーン | Cloudflare OS | 個人の道具・30 分の試作・「作りたいものが固まっていない」段階 | なし(社外公開も不可なので事故が小さい) |
| 育てるレーン | 公式スキル方式 ★ | 部門で使う小さな業務アプリで、作った本人が育て続けるもの | Access の全 Worker 保護+約束(16 章) |
| 守るレーン | プランB | 社外公開・基幹・個人情報・エンジニアが長く保守するもの | エンジニアの PR マージ |
プランA(Codespaces)は、GitHub アカウントを配る前提が崩れているので、当面は棚上げにします。必要になったら復活させられるよう、資料と kit は残します。
公式スキル方式に足りないものは、すでに Synon が作ってあります。新規開発は不要です。
| 借りるもの | 出どころ | なぜ必要か |
|---|---|---|
.claude/hooks/guard.sh | synon-claude-code-kit-planb.zip | sudo / rm -rf / ~/.ssh などを機械的に禁止する。16 章の「約束」を強制力に変える |
scripts/autosave.sh + launchd(毎日 18 時) | 同上 | 公式スキル方式には作業消失対策がゼロ。ここが最大の未対策項目 |
この 2 つを、公式スキル方式の配布手順(7 章)に組み込んでください。組み込まないなら展開しないでください。
この 3 つが揃うまでは、「Excel と並行運転」を解除しない(13-3 の案内文の最後の 1 行)。
| 週 | やること | 判断 |
|---|---|---|
| 1 週目 | 用意する人が Step 0 を全部やる。エンジニア自身が通しで 1 本作って本番に出す | Access の 3 つの目視確認(13-2)が全部通るか |
| 2 週目 | 意欲の高い非エンジニア 1 名に、Step 1〜7 を最後までやらせて観察する | サポートなしで、半日以内に 1 本目が本番に出せるか ← 最重要判断 |
| 3 週目 | 同じ 1 名が「直す」を 3 回やる(Step 8) | 1 回 10 分で回るか |
| 4 週目 | 20-2 の 2 つを組み込んだ配布キットを固める | — |
| 5 週目〜 | 部署展開(1 度に 2 名まで) | — |
~/社内サービス/ の外を触った事故が 1 度でも起きたら、guard.sh の導入まで展開を止める以下は 2026-08-28 時点で確認できていない項目です。1・2・6 は展開前に必ず潰してください。
| # | 未確認・リスク | なぜ効くか | 潰し方 |
|---|---|---|---|
| 1 | cloudflare-api MCP の権限範囲を実測していない | つくる人の端末からアカウント全体を触れる構図。最大のリスク | 6-4 の案 A で外してから、必要になったら案 B で絞って戻す |
| 2 | workers-best-practices スキルのレビュー精度が未知 | 「AI が自分で点検する」を関門の代わりに数えてよいかが決まらない | 2 週目の 1 本目で、エンジニアが同じコードを別途レビューして突き合わせる |
| 3 | Access が Static Assets 併用時に ctx.access を渡すか未実測 | ログインした人の記録が取れるかどうか。プランB からの積み残し | Step 0 の通しテストで実測する |
| 4 | 公式リポジトリの更新頻度が高く、README と実体が不一致(2-3) | 手順書が古くなる | 配布キットに確認日を明記し、四半期ごとに実体を再確認 |
| 5 | WebSocket は Worker 単位の Access 保護の対象外(公式記載) | リアルタイム系アプリを作ったときに穴になる | 当面リアルタイム系は作らせない。必要ならエンジニア案件 |
| 6 | 作業消失対策がゼロ | パソコンが壊れたら消える | 20-2・20-3 で潰す。潰すまで展開しない |
| 7 | 退職者の Mac にソースの複製が残る(プランB と同じ積み残し) | 情報持ち出し | 端末返却・初期化を退職手続きに紐づける |
| 8 | Claude の利用料が人数に比例する | 方式によらず発生するが、本方式は使うほど得なので増えやすい | 人ごとの上限を Claude 側で設定(6-5) |
| 9 | スキルは日本語で書かれていない(英語) | AI が読むので実用上の問題は無いはずだが、未検証 | 2 週目に日本語での指示だけで完結するか観察 |
| 10 | Workers Paid 以外の従量課金(D1 の読み書き、R2 の保存)の実額が未知 | 本数が増えたときの費用 | 月次で実額を見る(6-5) |
| ファイル | 内容 |
|---|---|
claude-code-internal-app-workflow.md | プランA(Codespaces) |
claude-code-internal-app-workflow-planb.md | プランB(ローカル・従来の本命) |
synon-claude-code-kit-planb.zip | guard.sh と自動保存の実物(20-2 で流用) |
cloudflare-os-internal-service-guide.md | Cloudflare OS |