Agent Skills by ALSEL
Anthropic ClaudeLLM・AI開発⭐ リポ 0品質スコア 50/100

swap-planner

ユーザーが「トークンをスワップしたい」「ETHをUSDCに交換したい」「Uniswapでトレードしたい」「トークンを買いたい・売りたい」「ミームコインを探したい」「おすすめのトークンは?」などと質問した際に使用するスキル。Uniswap対応チェーン上でのトークンスワップや銘柄リサーチ・ディスカバリーをサポートし(ディスカバリーはキーワード検索とWeb検索を活用)、Uniswapインターフェースでスワップを実行するためのディープリンクを生成します。

description の原文を見る

This skill should be used when the user asks to "swap tokens", "trade ETH for USDC", "exchange tokens on Uniswap", "buy tokens", "sell tokens", "convert ETH to stablecoins", "find memecoins", "discover tokens", "research tokens", "tokens to buy", "find tokens to swap", "what should I buy", or mentions swapping, trading, researching, discovering, buying, or exchanging tokens on any Uniswap-supported chain. Supports both known token swaps and token discovery workflows (discovery uses keyword search and web search — there is no live "trending" feed). Generates deep links to execute swaps in the Uniswap interface.

SKILL.md 本文

スワッププランニング

すべてのサポートされているチェーン上のUniswapでのトークンスワップを計画し、ディープリンクを生成します。

ランタイム互換性: このスキルはインタラクティブプロンプトに AskUserQuestion を使用します。ランタイムで AskUserQuestion が利用できない場合は、自然言語会話を通じて同じパラメータを収集してください。

概要

以下によってトークンスワップを計画します:

  1. スワップ意図の収集(トークン、金額、チェーン)
  2. チェーン上のトークンコントラクトの検証
  3. 必要に応じてウェブ検索経由でトークンを調査
  4. Uniswapインターフェースで開く際にパラメータが事前に入力されたディープリンクを生成

生成されたリンクは、Uniswapを開き、実行の準備ができたすべてのパラメータを表示します。

注記: ブラウザを開く (xdg-open/open) は、SSH、コンテナ化、またはヘッドレス環境で失敗する場合があります。ユーザーがURLをコピーして手動でアクセスする必要がある場合に備えて、常にURLを目立つように表示してください。

ファイルアクセス: このスキルはファイルシステムの読み取り専用アクセス権を持っています。ユーザーが明示的に要求しない限り、現在のプロジェクトディレクトリの外のファイルは読み取らないでください。

ワークフロー

ステップ0: トークン発見(必要な場合)

ユーザーが既知のトークンをスワップするのではなく、トークンを発見したい場合(例:「ミームコインを見つけてくれ」「Baseで何がトレンドになっているか」)、スワップに進む前に探索を支援してください。

オプションA: キーワードで検索

DexScreenerの検索は具体的な用語がで最適に機能します:

# 名前/カテゴリでトークンを検索(例:「degen」「pepe」「ai agent」)
curl -s "https://api.dexscreener.com/latest/dex/search?q=degen" | \
  jq '[.pairs[] | select(.chainId == "base" and .dexId == "uniswap")] |
    sort_by(-.volume.h24) | .[0:5] | map({
      token: .baseToken.symbol,
      address: .baseToken.address,
      price: .priceUsd,
      volume24h: .volume.h24,
      liquidity: .liquidity.usd
    })'

適切な検索用語: degenpepeaiagentmemedogcat、または特定のトークン名

オプションB: プロモーション対象トークンをチェック

アクティブなプロモーション(限定的な選択肢)を持つトークンを取得します:

# チェーン上のブースト/プロモーション対象のトークンを取得
curl -s "https://api.dexscreener.com/token-boosts/top/v1" | \
  jq '[.[] | select(.chainId == "base")] | .[0:5] | map({
    tokenAddress,
    url
  })'

オプションC: ウェブ検索+検証

幅広い発見(「何がトレンドになっているか」)の場合、ウェブ検索を使用してトークンを見つけ、DexScreenerで検証します:

# ウェブ検索からトークンアドレスを見つけた後、それが存在することを確認
curl -s "https://api.dexscreener.com/token-pairs/v1/{network}/{address}" | \
  jq '[.[] | select(.dexId == "uniswap")][0] | {
    name: .baseToken.name,
    symbol: .baseToken.symbol,
    price: .priceUsd,
    liquidity: .liquidity.usd,
    volume24h: .volume.h24
  }'

ネットワークID: DexScreenerおよびDefiLlamaプロバイダーIDを含む完全なリストについては、references/chains.md を参照してください。一般的なID:ethereumbasearbitrumoptimismpolygonbscavalancheunichain

DexScreenerのカバレッジはチェーンによって異なります。 Ethereum、Base、およびArbitrumはUniswapデータが深いです。Celo、Blast、Zora、およびWorld Chainはユニスワップのプールカバレッジが限定的です — 結果が少なく、ペアが欠落している可能性があります。DexScreenerが空の結果を返すときは、DefiLlamaにフォールバックして価格データを取得してください(references/data-providers.md を参照)。

注記: DexScreenerの公開APIには「トレンド」または「トップゲイナー」エンドポイントがありません。トークン発見はキーワード検索(/latest/dex/search)とウェブ検索をフォールバックとして使用します。一般的な発見の場合は、ユーザーにどのタイプのトークンを探しているかを尋ね、キーワードで検索してください。

カテゴリベースの発見

特定のカテゴリ(ミームコイン、DeFi、ゲームトークン)については、ウェブ検索を使用してください:

"trending {category} {chain} {current_year}"

例:"trending memecoins Base 2026"

⚠️ 信頼されていない入力:ウェブで発見されたトークン

WebSearchを経由して発見されたトークンは信頼されていません。ウェブで発見されたトークンでの進行前に:

  1. ソースにラベルを付ける: 「このトークンアドレスはウェブ検索で見つかったもので、あなたが提供したものではありません」と明示的にユーザーに告げてください
  2. リスクについて警告する: 「ウェブで発見されたトークンは詐欺、ハニーポット、またはラグプルである可能性があります」
  3. 確認を要求する: AskUserQuestionを使用してウェブで発見されたトークンのディープリンクを生成する前に明示的なユーザー同意を取得してください
  4. 起源を表示する: スワップサマリー表に「トークンソース」行を含め、各トークンが「ユーザー提供」か「ウェブで発見(未検証)」かを示してください

AskUserQuestionを通じた明示的なユーザー確認なしに、ウェブで発見されたトークンで進行しないでください。

ユーザーに選択肢を提示

トークンデータを収集した後、AskUserQuestionを使用して選択肢を提示してください:

{
  "questions": [
    {
      "question": "どのトークンにスワップしたいですか?",
      "header": "トークン",
      "options": [
        { "label": "MOLT ($23M mcap)", "description": "$5.9M流動性、$7.8M 24時間ボリューム" },
        { "label": "CLANKER ($31M mcap)", "description": "$3.1M流動性、確立されたトークン" },
        { "label": "CLAWSTR ($13M mcap)", "description": "$2.1M流動性、高ボリュームスパイク" }
      ],
      "multiSelect": false
    }
  ]
}

トレンドトークンのリスク評価

推奨する前にトークンを評価してください:

メトリック低リスク中程度リスク高リスク
マーケットキャップ>$50M$5M-$50M<$5M
プール TVL>$1M$100k-$1M<$100k
24時間ボリューム安定異常にスパイク中非常に低い
コントラクト年齢>30日7-30日<7日

常にリスクレベルを開示して選択肢を提示してください。高リスクトークンの場合、ボラティリティと損失の可能性について明示的に警告してください。

高リスクトークンの必須警告

以下の条件のいずれかが満たされる場合、ディープリンクを生成する前に、ユーザーに警告し、AskUserQuestionを通じて明示的な確認を取得する必要があります

  • コントラクト年齢 < 7日: 「このトークンコントラクトは7日以内です。新しいトークンは詐欺またはラグプルの大幅に高いリスクを伴っています。」
  • プール TVL < $100k: 「このプールは流動性が非常に低いです。重大なスリッページが発生し、売却が困難になる可能性があります。」
  • 売却流動性が検出されない: 「このトークンはハニーポットである可能性があります — 購入できるが売却できないトークン。極度の注意を持って進めてください。」
  • マーケットキャップ < $5M: 「これはマイクロキャップトークンで、ボラティリティが高いです。完全に失うことができる額だけを投資してください。」

高リスクトークンのディープリンクをAskUserQuestionを通じた明示的なユーザー確認なしに生成しないでください。


ステップ1: スワップ意図の収集

ユーザーのリクエストから抽出します:

パラメータ必須
入力トークンはいETH、USDC、トークンアドレス
出力トークンはいUSDC、WBTC、トークンアドレス
金額はい1.5 ETH、$500相当
チェーンはい(デフォルト:Ethereum)Base、Arbitrumなど

必須パラメータが欠落している場合は、構造化オプションでAskUserQuestionを使用してください:

チェーン不足の場合:

{
  "questions": [
    {
      "question": "どのチェーンでスワップしたいですか?",
      "header": "チェーン",
      "options": [
        { "label": "Base (推奨)", "description": "低ガス代、高速トランザクション" },
        { "label": "Ethereum", "description": "メインネットワーク、より高いガス代" },
        { "label": "Arbitrum", "description": "低手数料、Ethereum L2" },
        { "label": "Optimism", "description": "低手数料、Ethereum L2" }
      ],
      "multiSelect": false
    }
  ]
}

出力トークン不足(入力がETHの場合):

{
  "questions": [
    {
      "question": "どのトークンを受け取りたいですか?",
      "header": "出力",
      "options": [
        { "label": "USDC", "description": "USDステーブルコイン" },
        { "label": "USDT", "description": "Tetherステーブルコイン" },
        { "label": "DAI", "description": "分散型ステーブルコイン" },
        { "label": "WBTC", "description": "Wrapped Bitcoin" }
      ],
      "multiSelect": false
    }
  ]
}

金額不足の場合:

{
  "questions": [
    {
      "question": "どのくらいスワップしたいですか?",
      "header": "金額",
      "options": [
        { "label": "0.1 ETH", "description": "~$320" },
        { "label": "0.5 ETH", "description": "~$1,600" },
        { "label": "1 ETH", "description": "~$3,200" },
        { "label": "カスタム金額", "description": "特定の金額を入力" }
      ],
      "multiSelect": false
    }
  ]
}

より良いUXのためにプレーンテキスト質問の代わりにフォームを常に使用してください。

ステップ2: トークンアドレスの解決

トークンシンボルについては、既知のトークンまたはウェブ検索を使用してアドレスに解決してください:

ネイティブトークン: アドレスパラメータとして NATIVE を使用します。

チェーン別の共通トークン — 完全なリストについては ../../references/chains.md を参照してください:

トークンEthereumBaseArbitrum
USDC0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB480x833589fCD6eDb6E08f4c7C32D4f71b54bdA029130xaf88d065e77c8cC2239327C5EDb3A432268e5831
WETH0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc20x42000000000000000000000000000000000000060x82aF49447D8a07e3bd95BD0d56f35241523fBab1
WBTC0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599N/A0x2f2a2543B76A4166549F7aaB2e75Bef0aefC5B0f

不明なトークンについては、ウェブ検索を使用してコントラクトアドレスを見つけ、チェーン上で検証してください。

ステップ3: トークンコントラクトの検証(基本)

入力検証(任意のシェルコマンド前に必須):

ユーザー提供の値をシェルコマンドに補間する前に、すべての入力を検証してください:

  • トークンアドレス は以下に一致する必要があります^0x[a-fA-F0-9]{40}$
  • チェーン/ネットワーク名../../references/chains.md の許可リストからである必要があります
  • 金額 は有効な10進数である必要があります(一致:^[0-9]+\.?[0-9]*$
  • シェルメタ文字を含む入力は拒否してください;|$`&()><\'"、改行)

curleを使用してチェーン上のトークンコントラクトを検証(RPCコール):

# eth_getCodeを使用してアドレスがコントラクトであるかを確認
# 重要:使用前にtoken_addressが^0x[a-fA-F0-9]{40}$に一致することを検証してください
curl -s -X POST "$rpc_url" \
  -H "Content-Type: application/json" \
  -d "$(jq -n --arg addr "$token_address" '{"jsonrpc":"2.0","method":"eth_getCode","params":[$addr,"latest"],"id":1}')" \
  | jq -r '.result'

結果が 0x または空の場合、アドレスは有効なコントラクトではありません。

castを使用した代替案(オプション、Foundryが必要):

# 使用前にtoken_addressが^0x[a-fA-F0-9]{40}$に一致することを検証してください
cast code "$token_address" --rpc-url "$rpc_url"

注記: 上記のcurl/RPCメソッドは、より広い互換性のために優先されます。環境で既に利用可能な場合のみ cast を使用してください。このスキルはコントラクト検証のために cast code のみを使用します。他のcastサブコマンドを使用しないでください。.claude/hooks/validate-forge-cast.sh のPreToolUseフックがこれをプログラムで強制します。

チェーン別のRPC URL — 完全なリストについては ../../references/chains.md を参照してください。

ステップ4: 調査(必要な場合)

不慣れなトークンについては、ウェブ検索を使用して調査してください:

  • トークンの正当性とプロジェクト情報
  • 最近のニュースまたはセキュリティ上の懸念
  • Uniswapでの流動性の可用性

関連する調査結果をサマリーに含めてください。

ステップ5: 価格データを取得

ディープリンクを生成する前に、現在の価格を取得してスワップ出力を推定してください。完全なAPIの詳細については、references/data-providers.md を参照してください。

DexScreenerを使用したクイック価格検索:

# トークン価格とプール流動性を取得
curl -s "https://api.dexscreener.com/token-pairs/v1/{network}/{address}" | \
  jq '[.[] | select(.dexId == "uniswap")][0] | {
    price: .priceUsd,
    liquidity: .liquidity.usd,
    volume24h: .volume.h24
  }'

ネットワークID: ethereumbasearbitrumoptimismpolygonbscavalancheunichain

流動性の警告:

プール TVLリスクレベルアクション
> $1M通常通り進める
$100k - $1M中程度潜在的なスリッページを注記
< $100kスリッページリスクについて警告

APIが利用できない場合は、DefiLlamaまたはウェブ検索にフォールバックして価格推定を取得してください。

ステップ6: ディープリンクを生成

UniswapスワップURLを構築します:

https://app.uniswap.org/swap?chain={chain}&inputCurrency={input}&outputCurrency={output}&value={amount}&field=INPUT

URLパラメータ:

パラメータ説明
chainネットワーク名ethereumbasearbitrumoptimismpolygonbnbavalancheceloblastzoraunichainworldchain
inputCurrency入力トークンアドレスまたは NATIVE
outputCurrency出力トークンアドレスまたは NATIVE
value金額10進数(例:1.5
fieldどのフィールド値を適用するかINPUT または OUTPUT

ステップ7: 出力を提示してブラウザを開く

以下でレスポンスをフォーマットしてください:

  1. スワップパラメータのサマリー
  2. ディープリンク URL(参考のため表示)
  3. リスクまたは考慮事項に関する注記
  4. システムコマンドを使用してブラウザを自動的に開く

出力形式の例:

## スワップサマリー

| パラメータ        | 値                      |
| ------------------ | ----------------------- |
| From             | 1 ETH                   |
| To               | USDC                    |
| Chain            | Base                    |
| Current Rate     | ~ETHあたり3,200 USDC    |
| Estimated Output | ~3,200 USDC             |
| Pool Liquidity   | $15.2M (スリッページリスク低) |

### 注記

- 最終金額は現在の市場価格によって異なります
- デフォルトスリッページは0.5% — 必要に応じてUniswapで調整してください
- 確認する前にUniswapですべての詳細を確認してください

ブラウザでUniswapを開いています...

サマリーを表示した後、ブラウザでURLを開きます:

# Linux
xdg-open "https://app.uniswap.org/swap?chain=base&inputCurrency=NATIVE&outputCurrency=0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913&value=1&field=INPUT"

# macOS
open "https://app.uniswap.org/swap?..."

環境の制限: ブラウザを開く際にリモートSSH、コンテナ化、またはヘッドレス環境で失敗する場合があります。xdg-open/open が失敗する場合は、ユーザーが手動でコピーして貼り付けられるように完全なURLを目立つように表示してください:

**[Uniswapで開くにはここをクリック](https://app.uniswap.org/swap?...)**

またはこのURLをコピー:`https://app.uniswap.org/swap?...`

ユーザーが確認して実行できるように常にサマリーとURLを提示してください。

重要な考慮事項

スリッページ

ディープリンクはUniswapのデフォルトスリッページ(0.5%)を使用します。ボラティリティの高いトークンまたは大きなトレードの場合は、ユーザーにインターフェースでスリッページを調整するようアドバイスしてください。

ガス推定

ガスコストはチェーンとネットワーク混雑によって異なります。BaseとArbitrumは通常、Ethereumメインネットより低いガスを持っています。

トークン検証

ディープリンクを生成する前に常にトークンコントラクトを検証してください。詐欺トークンは正当なトークンに似た名前をよく使用します。

価格への影響

大きなトレードの場合、潜在的な価格への影響についてユーザーに警告してください。影響が重大な場合は、より小さなトレードに分割することを提案してください。

サポートされているチェーン

Uniswapインターフェースでサポートされているすべてのチェーン:

  • Ethereum Mainnet (ethereum)
  • Base (base)
  • Arbitrum One (arbitrum)
  • Optimism (optimism)
  • Polygon (polygon)
  • BNB Chain (bnb)
  • Avalanche (avalanche)
  • Celo (celo)
  • Blast (blast)
  • Zora (zora)
  • World Chain (worldchain)
  • Unichain (unichain)

追加リソース

リファレンスファイル

  • ../../references/chains.md — チェーンID、RPC URL、ネイティブトークン、共通トークンアドレス
  • references/data-providers.md — 価格と流動性用のDexScreenerおよびDefiLlama API

一般的なスワップシナリオ:

  • Ethereum上のETH → USDC
  • Base上のETH → USDC(ガス低減)
  • Arbitrum上のUSDC → WBTC

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

詳細情報

作者
uniswap
リポジトリ
uniswap/uniswap-ai
ライセンス
MIT
最終更新
不明

Source: https://github.com/uniswap/uniswap-ai / ライセンス: MIT

関連スキル

OpenAILLM・AI開発⭐ リポ 6,054

agent-browser

AI エージェント向けのブラウザ自動化 CLI です。ウェブサイトとの対話が必要な場合に使用します。ページ遷移、フォーム入力、ボタンクリック、スクリーンショット取得、データ抽出、ウェブアプリのテスト、ブラウザ操作の自動化など、あらゆるブラウザタスクに対応できます。「ウェブサイトを開く」「フォームに記入する」「ボタンをクリックする」「スクリーンショットを取得する」「ページからデータを抽出する」「このウェブアプリをテストする」「サイトにログインする」「ブラウザ操作を自動化する」といった要求や、プログラマティックなウェブ操作が必要なタスクで起動します。

by JimmyLv
汎用LLM・AI開発⭐ リポ 1,982

anyskill

AnySkill — あなたのプライベート・スキルクラウド。GitHubを基盤としたリポジトリからエージェントスキルを管理、同期、動的にロードできます。自然言語でクラウドスキルを検索し、オンデマンドでプロンプトを自動ロード、カスタムスキルのアップロードと共有、スキルバンドルの一括インストールが可能です。OpenClaw、Antigravity、Claude Code、Cursorに対応しています。

by LeoYeAI
汎用LLM・AI開発⭐ リポ 1,982

engram

AIエージェント向けの永続的なメモリシステムです。バグ修正、意思決定、発見、設定変更の後はmem_saveを使用してください。ユーザーが「覚えている」「記憶している」と言及した場合、または以前のセッションと重複する作業を開始する際はmem_searchを使用します。セッション終了前にmem_session_summaryを使用して、コンテキストを保持してください。

by LeoYeAI
汎用LLM・AI開発⭐ リポ 21,584

skyvern

AI駆動のブラウザ自動化により、任意のウェブサイトを自動化できます。フォーム入力、データ抽出、ファイルダウンロード、ログイン、複数ステップのワークフロー実行など、ユーザーがウェブサイトと連携する必要があるときに使用します。Skyvernは、LLMとコンピュータビジョンを活用して、未知のサイトも自動操作可能です。Python SDK、TypeScript SDK、REST API、MCPサーバー、またはCLIを通じて統合できます。

by Skyvern-AI
汎用LLM・AI開発⭐ リポ 1,149

pinchbench

PinchBenchベンチマークを実行して、OpenClawエージェントの実世界タスクにおけるパフォーマンスを評価できます。モデルの機能テスト、モデル間の比較、ベンチマーク結果のリーダーボード提出、またはOpenClawのセットアップがカレンダー、メール、リサーチ、コーディング、複数ステップのワークフローにどの程度対応しているかを確認する際に使用します。

by pinchbench
汎用LLM・AI開発⭐ リポ 4,693

openui

OpenUIとOpenUI Langを使用してジェネレーティブUIアプリを構築できます。これらはLLM生成インターフェースのためのトークン効率的なオープン標準です。OpenUI、@openuidev、ジェネレーティブUI、LLMからのストリーミングUI、AI向けコンポーネントライブラリ、またはjson-render/A2UIの置き換えについて述べる際に使用します。スキャフォルディング、defineComponent、システムプロンプト、Renderer、およびOpenUI Lang出力のデバッグに対応しています。

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