Agent Skills by ALSEL
Anthropic ClaudeDevOps・インフラ⭐ リポ 0品質スコア 60/100

r2-push

Cloudflare R2ストレージにファイルをアップロードします。ユーザーがファイルをアップロードしたい、ディレクトリを同期したい、またはアセットをR2に公開したい場合に使用します。

description の原文を見る

Push files to Cloudflare R2 storage. Use when the user wants to upload files, sync a directory, or publish assets to R2.

SKILL.md 本文

AWS CLIと S3互換エンドポイントを使用して、Cloudflare R2ストレージにファイルをプッシュします。

  • ソース: $ARGUMENTS[0] (必須 — ファイルパス、ディレクトリ、またはglob パターン)
  • 宛先: $ARGUMENTS[1] (オプション — bucket-name/prefix。バケット名のみの場合、ファイルはルートに配置されます。省略した場合、ユーザーに入力を促します。)

前提条件

このスキルは AWS CLI (aws) と R2 の S3互換 API を使用します。以下の環境変数が設定されている必要があります:

変数目的
R2_ENDPOINT_URLR2エンドポイント。例: https://<account-id>.r2.cloudflarestorage.com
R2_ACCESS_KEY_IDR2 API トークンアクセスキー
R2_SECRET_ACCESS_KEYR2 API トークンシークレットキー

いずれかが不足している場合は、ユーザーに通知して停止します。対話的認証やデフォルト認証情報へのフォールバックは行わないでください。

手順

  1. 前提条件の確認: aws CLI がインストールされており、3つの R2_* 環境変数が設定されていることを確認します。何か不足している場合は、ユーザーにインストール方法またはエクスポート方法を指示して停止します。

  2. ソースの解決: ソースパスが存在することを確認します。glob の場合は展開します。マッチするものがない場合は、ユーザーに通知して停止します。

  3. 宛先の解析: 宛先をバケット名とオプションのプレフィックスに分割します。宛先が指定されていない場合は、ユーザーにバケット名を入力するよう求めます。

  4. アップロード:

    • 単一ファイルの場合:
      aws s3 cp <file> s3://<bucket>/<prefix>/<filename> \
        --endpoint-url "$R2_ENDPOINT_URL" \
        --region auto
      
    • ディレクトリの場合:
      aws s3 sync <directory> s3://<bucket>/<prefix> \
        --endpoint-url "$R2_ENDPOINT_URL" \
        --region auto
      

    常にコマンドで環境変数を介して認証情報を渡します:

    AWS_ACCESS_KEY_ID="$R2_ACCESS_KEY_ID" \
    AWS_SECRET_ACCESS_KEY="$R2_SECRET_ACCESS_KEY" \
    aws s3 ...
    
  5. 確認: アップロードされたファイルとそのS3 URI を表示します。パブリックバケット URL がわかっている場合はそれも表示します。

オプション

ユーザーがこれらをリクエストすることがあります — リクエストがあった場合のみ適用します:

  • --delete: s3 sync--delete を渡して、ローカルに存在しないリモートファイルを削除します。
  • --dry-run: --dryrun を渡して、実際にアップロードせずに何がアップロードされるかをプレビューします。
  • --content-type: --content-type <type> を渡して、MIME タイプをオーバーライドします。
  • --cache-control: --cache-control <value> を渡してキャッシュヘッダーを設定します。

エラーハンドリング

  • 認証情報が無効な場合 (403): ユーザーに R2 API トークンの確認を指示します。
  • バケットが存在しない場合 (404/NoSuchBucket): ユーザーに通知し、最初にバケットを作成することを提案します。
  • その他の理由でアップロードが失敗した場合は、エラー出力を表示して再試行を提案します。

ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ

詳細情報

作者
bwks
リポジトリ
bwks/dotfiles
ライセンス
MIT
最終更新
2026/5/2

Source: https://github.com/bwks/dotfiles / ライセンス: MIT

本サイトは GitHub 上で公開されているオープンソースの SKILL.md ファイルをクロール・インデックス化したものです。 各スキルの著作権は原作者に帰属します。掲載に問題がある場合は info@alsel.co.jp または /takedown フォームよりご連絡ください。
原作者: bwks · bwks/dotfiles · ライセンス: MIT