agentleFS
SELAT-AISELAT-AI/selat-openclaw-skills/skills/selat-capabilities-for-metamask/SKILL.md

selat-capabilities-for-metamask

Skill2 starsChanged 4 months agoMITView on GitHub

SELAT's capability layer for agents on a MetaMask Agent Wallet — tool use beyond the agent's native abilities, paid per call. Strongest for trading decision support on perpetuals and tokenized stocks (\"what are funding rates saying\", \"pull Polymarket candles\", \"quote and technicals for this tokenized equity's underlying\", \"news and social sentiment on this ticker\", \"macro regime check\") — research data only, never order execution or financial advice — and for any capability the agent lacks (web search, scraping, enrichment, real-time data, media generation). Discovers paid APIs by intent across SELAT's federated catalog and buys across rails the wallet's native x402 payer does not cover (Gateway-batched x402, routed MPP); also funds a Circle Gateway budget gaslessly and reports spend. Pays in USDC from the user's own self-custodial MetaMask Agent Wallet; every signature stays in the wallet's mm CLI; no API keys, no signups. Probe first to see live prices — nothing is signed until the user approves.

  • Installs packages

The file

We split this skill into the rules it gives an agent

5 rules. About 0 are common, 3 are distinctive, and 2 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈3

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 2

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    SELAT's capability layer, wired to a MetaMask Agent Wallet: When a task needs tool use beyond the agent's native abilities — web search, …

    line 24
  2. Distinctive:

    Every purchase is real USDC from the user's own self-custodial MetaMask Agent Wallet and its Circle Gateway balance.

    line 55
  3. Distinctive:

    Follow the upstream confirmation pattern: purchases above the session threshold are always shown for approval with amount, merchant, and …

    line 64
  4. Very specific:

    Never ask for, paste, or handle a private key.

    line 70
  5. Very specific:

    The wallet stays the authority: Every signature and transaction goes through the mm CLI.

    line 156

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

selat-capabilities-for-metamask

SELAT's capability layer, wired to a MetaMask Agent Wallet. When a task needs tool use beyond the agent's native abilities — web search, scraping, data enrichment, real-time market data, media generation, on-chain reads — this skill turns "I can't do that" into a purchasable capability: discover paid APIs by intent across SELAT's federated catalog, buy them on any rail SELAT routes (including Gateway-batched x402 and MPP, which the wallet's native x402 payer cannot sign), fund a Circle Gateway purchasing budget gaslessly, run declarative skill manifests, and report spend. Side-effecting — it spends real money once the user opts in; discovery and probing are free.

Where it shines for MetaMask Agent Wallet users: decision support for trading — perpetuals and tokenized stocks. The catalog carries the reads a trading decision leans on: perp funding rates and venue context, prediction market candles, equity quotes and technical indicators for a tokenized stock's underlying, earnings and news sentiment, social chatter, and macro regime data. This skill buys research data only — it never places, cancels, or manages orders, and its output is never financial advice; the decision and any trade stay with the user, on their own venue.

It wraps the selat-purchasing skill from SELAT-AI/selat-metamask-skills.

How this wrapper differs from the others in this repo: it does not install the selat CLI or any SELAT plugin, and it does not wrap a selat-skills recipe. Its engine is the MetaMask Agent Wallet CLI (mm) plus the upstream skill's Python scripts (standard library only — no third-party packages). SELAT is used keylessly as the catalog and payment router; custody stays entirely with the MetaMask wallet.

Cost — read this first

  • Every purchase is real USDC from the user's own self-custodial MetaMask Agent Wallet and its Circle Gateway balance. SELAT never holds keys or funds; every signature and on-chain action goes through the mm CLI — the upstream scripts never touch key material.
  • Prices live in the live 402 quotes, not here. Probe first (Step 1 — free, nothing signed), show the user the quoted prices, and get their OK. A refused or expired quote charges nothing.
  • It's a menu, not a pipeline. Discovery, funding, paying, manifests, and spend reports are independent operations — run only what the request needs.
  • Follow the upstream confirmation pattern: purchases above the session threshold are always shown for approval with amount, merchant, and network; a manifest is many purchases, so always dry-run it and show the quoted total before executing.
  • The Gateway deposit is the purchasing cap — nothing this skill does can spend more than the user deposited plus what the wallet's own policy allows.
  • Never ask for, paste, or handle a private key. Wallet auth is the mm CLI's sign-in flow.

Step 0 — get the tooling (free, no funds)

No selat CLI needed. If mm isn't on PATH, install the MetaMask Agent Wallet CLI, then fetch the upstream skill (text plus stdlib-only scripts) into the workspace:

mm --version || npm install -g @metamask/agent-wallet@latest
npx skills add SELAT-AI/selat-metamask-skills

Installing creates nothing money-related — no wallet, no account, no keys. Note the upstream repo is a prototype from a live 2026-08 integration spike: proven against mainnet, not yet hardened — review before large budgets.

Step 1 — probe first, before any wallet setup

Do this before authenticating a wallet or asking the user to fund anything. Discovery and probing are free and sign nothing:

python3 skills/selat-purchasing/scripts/discover.py "<intent>"
python3 skills/selat-purchasing/scripts/routed_pay.py "<merchant-url>" GET --probe-only
python3 skills/selat-purchasing/scripts/run_manifest.py <manifest.json> --dry-run

discover.py searches the federated catalog by intent; --probe-only and --dry-run print each step's real quoted price from the live 402 challenge. Show the user these prices and get their OK before wallet setup. If they decline, stop — nothing has been spent or created.

Step 2 — wallet setup (only after the user opts in)

Authenticate the wallet, verify it, then fund a purchasing budget gaslessly:

mm doctor
python3 skills/selat-purchasing/scripts/eco_fund.py <usdc-amount>

Funding gotcha that matters: each mm sign-in method (Google, email, MetaMask Mobile QR) loads a different wallet address. Fund the wallet of the sign-in method the agent actually uses, and keep using that method. When the wallet escalates a signature to the user, the approval arrives on that sign-in method's channel (email link, or push for Mobile QR) — tell the user where to look and wait; an approval that lands after a quote expires must be discarded and re-quoted, never submitted.

Step 3 — run

Route the request to the operation it needs:

User intentRun
Find a paid capability by intentscripts/discover.py "<intent>" (free)
Quote a merchant without payingscripts/routed_pay.py "<url>" GET --probe-only (free)
Pay a merchant, any railscripts/routed_pay.py "<url>" [METHOD] [BODY]
Native payer failed ("expected 402, got 403")retry via scripts/routed_pay.py
Run a skill manifest (fixed paid sequence)scripts/run_manifest.py <manifest.json> --dry-run, show the total, then --yes
Run a vetted selat-skills recipe on this walletinstall it from SELAT-AI/selat-skills, substitute scripts/selat_pay.py wherever it says selat-pay
Show purchases and spendscripts/spend_report.py

(All paths relative to the installed upstream skill directory; the upstream SKILL.md and its references/ are the authoritative per-operation docs.)

Routing trading decision-support intents (the common case on this wallet): discover by the read the decision needs, not by venue — "perp funding rates for <asset>", "prediction market candles", "equity quote and RSI/MACD for <tokenized stock's underlying>", "news sentiment on <ticker>", "social chatter on <ticker>", "macro regime data". Probe each candidate, buy the few reads that actually move the decision, and synthesize a brief: what the data says, what would invalidate it, and what it cost. Present it as research with sources — never as advice, a prediction, or a signal to execute — and if the user asks this skill to place a trade, decline that part: it buys data only.

Each call returns raw JSON — distill it into a plain-language answer with the dollar cost, and keep merchant URLs and raw JSON out of what you relay. After any paid run, report what was actually spent (scripts/spend_report.py).

Why this is safe to install

  • This wrapper is text-only — installing it writes one markdown file; the upstream scripts it defers to are Python standard library only.
  • The wallet stays the authority. Every signature and transaction goes through the mm CLI; the scripts never see or handle key material.
  • Payments are quote-pinned through the SELAT router, so the EIP-712 domain the wallet signs is always the router's (pinned to Circle's Gateway Wallet), never one a merchant chose.
  • The Gateway deposit is the hard spending cap, and a refused or expired quote charges nothing.

Beyond this skill

The other wrappers in this repo run vetted selat-skills recipes via the selat CLI and a Circle Agent Wallet — use those when the user isn't on a MetaMask Agent Wallet. Vetted recipes themselves are portable: this skill can run them too (see the routing table above).

Docs: https://github.com/SELAT-AI/selat-skills

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.