claude-skills/

Anthropic公式スキル・プラグインの日本語ディレクトリ

last sync 22h ago
スキルOfficialdevelopment

💳agent-wallet-policy

プラグイン
circle-skills

説明

Circle エージェントウォレットの支出ポリシーを確認します —— `circle` CLI を通じて、1トランザクションあたり、日次、週次、月次の USDC 上限を参照できます。 次のような場合に使用: ユーザーが現在の制限値を確認したい場合。 上限の設定またはリセットには、インタラクティブなターミナルセッションでの OTP 確認が必要です —— エージェントはユーザーが自身で実行するためのコマンドをそのままの形で提示します。OTP はエージェントのストレージを経由してはなりません。 メインネット専用 —— テストネットチェーンは拒否されます。 以下のキーワードで起動: 支出制限、支出ポリシー、トランザクションあたりの上限、日次上限、週次上限、月次上限、ウォレットルール、OTP 確認。

原文を表示

View spending policy on a Circle agent wallet — per-transaction, daily, weekly, and monthly USDC caps via the `circle` CLI. Use when the user wants to inspect current limits. Setting or resetting limits requires OTP confirmation in an interactive terminal session — the agent hands the user a verbatim command to run themselves; the OTP must never pass through agent storage. Mainnet-only — testnet chains are rejected. Triggers on: spending limit, spending policy, per-tx cap, daily cap, weekly cap, monthly cap, wallet rules, OTP confirmation.

ユースケース

  • 現在の支出ポリシーの上限値を確認したい
  • USDC取引額の制限内容を把握したい

本文(日本語訳)

概要

Circle CLIの完全な機能セットの概要については、use-circle-cli マスタースキルを参照してください。 本スキルは、より範囲を絞った支出ポリシーのフローを対象としています。

Circle エージェントウォレットは支出ポリシーをサポートしています。 これはウォレットごとに設定された上限値で、すべての支払いおよび送金時にCLIが適用します。 操作は以下の3種類です:

操作 コマンド OTP必要?
現在の上限を確認 circle wallet limit --address <addr> --chain BASE --output json 不要
カスタム上限を設定 circle wallet limit set ... 必要 — ユーザー自身のターミナルで人間がOTPを入力
デフォルトにリセット circle wallet limit reset ... 必要 — ユーザー自身のターミナルで人間がOTPを入力

支出ポリシーはメインネット専用です(テストネットチェーンは拒否されます。トラブルシューティング / ルールを参照)。

前提条件

# セッションが有効であることを確認
circle wallet status

# ウォレットアドレスを取得
circle wallet list --chain BASE --type agent --output json

circle wallet status が "Not logged in" または "Terms acceptance is required" というエラーを返した場合は、use-agent-wallet スキルに引き継いでください。 そちらでインストール、利用規約への同意、ログイン、ウォレット作成をカバーしています。

現在の上限の確認(エージェント内で実行可能 / OTP不要)

circle wallet limit --address <addr> --chain BASE --output json

現在のUSDC上限(1回あたり、日次、週次、月次)を表示します(未設定のティアは null)。 読み取り専用で資金の移動もOTPも不要なため、自由に呼び出して構いません。

上限の設定またはリセット(インタラクティブターミナル — ユーザーへの引き継ぎ)

circle wallet limit set および circle wallet limit resetインタラクティブなコマンドです。 実行中にユーザーのメールアドレスへ6桁のOTPが送信され、CLIのstdinプロンプトでコードの入力を待機します。

OTPはパスワードと同等の機密情報です。エージェントはOTPを受け取ったり、保存したり、中継したりしてはなりません。 ここでのエージェントの役割は、ユーザー自身のターミナルで実行するコマンドをそのまま渡し、完了の報告を待つことだけです。

ステップ1 — ユーザーと値を確認する

上限値は単調増加である必要があります:1回あたり ≤ 日次 ≤ 週次 ≤ 月次

一般的な保守的な設定例:

ティア 推奨USDC値
--per-tx 1
--daily 5
--weekly 20
--monthly 50

ユーザーが許容すると述べた範囲に基づいて調整してください。 コマンドを生成する前に、明示的な同意を得てください。

ステップ2 — ユーザーにコマンドを渡す

ユーザーに以下のように伝えてください:

支出上限を設定するにはOTPが必要ですが、私がそれを見るべきではありません。 以下のコマンドをご自身のターミナルで実行してください。 CLIからメールで6桁のコードが届きますので、プロンプトに入力してください。 完了したらお知らせください。

circle wallet limit set \
  --address <addr> --chain BASE \
  --policy-type stablecoin \
  --per-tx 1 --daily 5 --weekly 20 --monthly 50

リセットの場合のコマンドはこちらです:

circle wallet limit reset --address <addr> --chain BASE --yes

OTP送信前にユーザーへ確認プロンプトを表示させたい場合は、--yes を省略してください。

ステップ3 — ユーザーから完了報告を受けたら確認する

circle wallet limit --address <addr> --chain BASE --output json

新しい上限値を確認し、結果をユーザーに提示してください。

トラブルシューティング

症状 原因 対処
ユーザーが複数のOTPメールを受信した 前回の実行がまだ待機中に、コマンドが再実行された 最新のOTPのみを使用するようユーザーに伝えてください。古いものは無効化されています。
"prefix mismatch" でOTPが拒否された ユーザーが前回のリクエストのOTPを入力した 再実行してください。set / reset の呼び出しごとに新しいプレフィックスが生成されます。
Spending policies are mainnet-only テストネットチェーンでポリシーを設定しようとした メインネットの --chain 値(BASEMATIC 等)で再実行してください。
Limits must be monotonic per-tx > daily、daily > weekly 等になっている 値を見直してください。per-tx ≤ daily ≤ weekly ≤ monthly
Only agent wallets support spending policies ローカル(非エージェント)ウォレットで実行しようとした 支出ポリシーは circle wallet create で作成されたエージェントウォレット専用です。

ルール

  • OTPをあなた(エージェント)と共有するようユーザーに求めてはなりません。OTPはユーザーのメールからユーザー自身のターミナルのCLIプロンプトに直接入力される必要があります。エージェントのコンテキスト、ツール呼び出し、またはローカルファイルを経由させてはなりません。
  • メールやメッセージング連携ツール(例:MCP経由のGmailやSlack)が接続されている場合、OTPをそれらを通じて取得することも可能です。その選択肢をユーザーに案内し、どう扱うかはユーザーの判断に委ねてください。
  • circle wallet limit set / reset コマンドは必ずそのままの形でユーザーに渡し、ユーザー自身のターミナルで実行させてください。チャットを通じてOTPをやり取りしようとしないでください。
  • コマンドを生成する前に、設定しようとする上限値を必ずユーザーに確認してください。1回あたり / 日次 / 週次 / 月次の数値を明示し、明示的な同意を待ってください。
  • 支出ポリシーはメインネット専用です。テストネットチェーンは拒否されます。テストネットの例を提示しないでください。
  • 支出ポリシーはエージェントウォレット専用であり、ローカルウォレットには対応していません。
  • ユーザーから変更完了の報告を受けたら、circle wallet limit --address <addr> --chain BASE --output json を実行し、新しい上限値をユーザーに提示してください。

参考リンク

代替スキル

次のような場合は、代わりに use-agent-wallet スキルをトリガーしてください:

  • ユーザーがまだCLIにログインしていない、または利用規約への同意が完了していない場合。
  • circle wallet status が "Not logged in" または "Terms acceptance is required" エラーを返す場合。
  • ユーザーがポリシーではなく、ウォレットのセットアップ、ログイン、またはセッション状態について質問している場合。

次のような場合は、代わりに pay-via-agent-wallet スキルをトリガーしてください:

  • ユーザーがx402の有料サービスを呼び出したい、利用料を支払いたい、または使用したい場合。
  • 上限がすでに設定されており、ユーザーが支払いを行う準備ができている場合。

次のような場合は、代わりに fund-agent-wallet スキルをトリガーしてください:

  • ユーザーが上限設定の前にUSDCを追加したい場合。
  • ユーザーがデポジット、法定通貨のオンランプ、法定通貨での購入、QRコード送金、またはGatewayデポジットについて言及している場合。

免責事項: 本スキルは「現状のまま」提供されており、いかなる保証もありません。Circle 開発者利用規約に準拠し、生成される出力にはエラーが含まれる場合や手数料設定オプション(Circleへの手数料を含む)が含まれる場合があります。詳細についてはリポジトリのREADMEを参照してください。

原文(English)を表示

Overview

For an overview of the Circle CLI's full capability set, see the use-circle-cli master skill. This skill is the narrower spending-policy flow.

Circle agent wallets support spending policies — per-wallet caps that the CLI enforces on every payment and transfer. There are three operations:

Operation Command OTP required?
View current limits circle wallet limit --address <addr> --chain BASE --output json No
Set custom limits circle wallet limit set ... Yes — human OTP, run in user's own terminal
Reset to defaults circle wallet limit reset ... Yes — human OTP, run in user's own terminal

Spending policies are mainnet-only (testnet chains are rejected; see Troubleshooting / Rules).

Prerequisites

# Confirm session is good
circle wallet status

# Get the wallet address
circle wallet list --chain BASE --type agent --output json

If circle wallet status errors with "Not logged in" or "Terms acceptance is required", hand off to the use-agent-wallet skill — it covers install, terms, login, and wallet creation.

Viewing current limits (in-agent, no OTP)

circle wallet limit --address <addr> --chain BASE --output json

Shows the current per-tx, daily, weekly, and monthly USDC caps (null for any unset tier). Safe to call freely — read-only, no money moves, no OTP.

Setting or resetting limits (interactive terminal — handoff to user)

circle wallet limit set and circle wallet limit reset are interactive. They send a 6-digit OTP to the user's email mid-execution and wait for the code at the CLI's stdin prompt.

OTPs are password-equivalent. The agent must NOT receive, store, or relay the OTP. The agent's job here is to hand the user a verbatim command to run in their own terminal, then wait for them to report back.

Step 1 — Confirm values with the user

Limits must be monotonic: per-tx ≤ daily ≤ weekly ≤ monthly.

A typical conservative configuration:

Tier Suggested USDC value
--per-tx 1
--daily 5
--weekly 20
--monthly 50

Adjust based on the user's stated tolerance. Get explicit yes before generating the command.

Step 2 — Hand the user the command

Tell the user:

Setting spending limits requires an OTP I shouldn't see. Please run this command in your own terminal — the CLI will email you a 6-digit code; enter it at the prompt. Let me know once it completes.

circle wallet limit set \
  --address <addr> --chain BASE \
  --policy-type stablecoin \
  --per-tx 1 --daily 5 --weekly 20 --monthly 50

For reset, the verbatim command is:

circle wallet limit reset --address <addr> --chain BASE --yes

Omit --yes if you want the user to see a confirmation prompt before the OTP is sent.

Step 3 — Verify after the user reports done

circle wallet limit --address <addr> --chain BASE --output json

Confirms the new caps. Surface them to the user.

Troubleshooting

Symptom Cause Fix
User received multiple OTP emails Command was re-run while a previous invocation was still waiting Tell the user to use the most recent OTP only. Earlier ones are invalidated.
OTP rejected with "prefix mismatch" User entered an OTP from a previous request Restart — each set / reset invocation has a fresh prefix.
Spending policies are mainnet-only Tried to set a policy on a testnet chain Re-run with a mainnet --chain value (BASE, MATIC, etc.).
Limits must be monotonic per-tx > daily, daily > weekly, etc. Re-check the values. per-tx ≤ daily ≤ weekly ≤ monthly.
Only agent wallets support spending policies Tried on a local (non-agent) wallet Spending policies apply only to agent wallets created via circle wallet create.

Rules

  • NEVER ask the user to share the OTP with you. The OTP must go directly from the user's email to the CLI prompt in their own terminal — it should never touch the agent's context, tool calls, or any local file.
  • If email- or messaging-integration tools are connected (e.g., Gmail or Slack via MCP), the OTP can also be fetched through them — note the option to the user; how to handle it is their call.
  • ALWAYS hand the user a verbatim circle wallet limit set / reset command for them to run in their own terminal. Do NOT try to orchestrate the OTP from chat.
  • ALWAYS confirm proposed limit values with the user before generating the command. Show the per-tx / daily / weekly / monthly numbers explicitly and wait for explicit yes.
  • Spending policies are mainnet-only — testnet chains are rejected. Don't quote testnet examples.
  • Only agent wallets support spending policies, not local wallets.
  • After the user reports the change is done, run circle wallet limit --address <addr> --chain BASE --output json so the user sees the new caps.

Reference Links

Alternatives

Trigger the use-agent-wallet skill instead when:

  • The user has not yet logged in to the CLI or accepted Terms.
  • circle wallet status errors with "Not logged in" or "Terms acceptance is required".
  • The user is asking about wallet setup, login, or session state — not policy.

Trigger the pay-via-agent-wallet skill instead when:

  • The user wants to call, pay for, or use a paid x402 service.
  • Limits are already set and the user is ready to spend.

Trigger the fund-agent-wallet skill instead when:

  • The user wants to add USDC before setting limits.
  • The user mentions deposit, fiat on-ramp, fiat purchase, QR-code transfer, or Gateway deposit.

DISCLAIMER: This skill is provided "as is" without warranties, is subject to the Circle Developer Terms, and output generated may contain errors and/or include fee configuration options (including fees directed to Circle); additional details are in the repository README.

原文・著作権は Anthropic および各プラグイン作者に帰属します。日本語訳は Claude API による自動翻訳です。