Wagmi Feature Development
wevm/wagmi
Walks through adding a Wagmi feature across its layers: a Viem-based core action, TanStack Query options, and React and Vue bindings.
Perform and document Grand Bazaar P2P swaps on Base using deployed AirSwap Swap contracts.
$ npx skills add LeoYeAI/openclaw-master-skills --skill grand-bazaar-swap -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install LeoYeAI/openclaw-master-skills grand-bazaar-swap --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/LeoYeAI/openclaw-master-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/grand-bazaar-swap .claude/skills/grand-bazaar-swap && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "grand-bazaar-swap" agent skill from https://github.com/LeoYeAI/openclaw-master-skills/tree/main/skills/grand-bazaar-swap into .claude/skills/grand-bazaar-swap/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "grand-bazaar-swap", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/LeoYeAI/openclaw-master-skills/tree/main/skills/grand-bazaar-swapType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add LeoYeAI/openclaw-master-skills --skill grand-bazaar-swap -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install LeoYeAI/openclaw-master-skills grand-bazaar-swap --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/LeoYeAI/openclaw-master-skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/grand-bazaar-swap .agents/skills/grand-bazaar-swap && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "grand-bazaar-swap" agent skill from https://github.com/LeoYeAI/openclaw-master-skills/tree/main/skills/grand-bazaar-swap into .agents/skills/grand-bazaar-swap/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "grand-bazaar-swap", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add LeoYeAI/openclaw-master-skills --skill grand-bazaar-swap -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install LeoYeAI/openclaw-master-skills grand-bazaar-swap --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/LeoYeAI/openclaw-master-skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/grand-bazaar-swap .cursor/skills/grand-bazaar-swap && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "grand-bazaar-swap" agent skill from https://github.com/LeoYeAI/openclaw-master-skills/tree/main/skills/grand-bazaar-swap into .cursor/skills/grand-bazaar-swap/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "grand-bazaar-swap", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/LeoYeAI/openclaw-master-skills.git --path skills/grand-bazaar-swap--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add LeoYeAI/openclaw-master-skills --skill grand-bazaar-swap -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install LeoYeAI/openclaw-master-skills grand-bazaar-swap --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/LeoYeAI/openclaw-master-skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/grand-bazaar-swap .gemini/skills/grand-bazaar-swap && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "grand-bazaar-swap" agent skill from https://github.com/LeoYeAI/openclaw-master-skills/tree/main/skills/grand-bazaar-swap into .gemini/skills/grand-bazaar-swap/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "grand-bazaar-swap", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install LeoYeAI/openclaw-master-skills grand-bazaar-swapInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add LeoYeAI/openclaw-master-skills --skill grand-bazaar-swap -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/LeoYeAI/openclaw-master-skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/grand-bazaar-swap .github/skills/grand-bazaar-swap && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "grand-bazaar-swap" agent skill from https://github.com/LeoYeAI/openclaw-master-skills/tree/main/skills/grand-bazaar-swap into .github/skills/grand-bazaar-swap/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "grand-bazaar-swap", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add LeoYeAI/openclaw-master-skills --skill grand-bazaar-swap -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install LeoYeAI/openclaw-master-skills grand-bazaar-swap --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/LeoYeAI/openclaw-master-skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/grand-bazaar-swap .opencode/skills/grand-bazaar-swap && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "grand-bazaar-swap" agent skill from https://github.com/LeoYeAI/openclaw-master-skills/tree/main/skills/grand-bazaar-swap into .opencode/skills/grand-bazaar-swap/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "grand-bazaar-swap", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
grand-bazaar-swapPerform and document Grand Bazaar P2P swaps on Base using deployed AirSwap Swap contracts.
Grand Bazaar Swap is an agent skill from LeoYeAI/openclaw-master-skills. Perform and document Grand Bazaar P2P swaps on Base using deployed AirSwap Swap contracts. Includes repeatable workflows for approvals, EIP-712 signing, cast/deeplink posting, execution, and verification across ERC20/ERC721/ERC1155 routes.
Its SKILL.md is about 4.1k tokens, which your agent loads only when the skill is triggered. The skill folder holds 13 other files, including scripts and reference files (for example `_meta.json`, `references/base-mainnet-deployments.md` and `references/pricing-params.md`).
It works with Ethereum. The repository describes itself as: 🧠 Curated collection of 1209+ best OpenClaw skills — weekly updated by MyClaw.ai. The licence is MIT.
9 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit e5199b5. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Ships 8 files in scripts/ (JavaScript), which the agent can run.
Shell commands in SKILL.md call:
nodenpmFrom the folder's file list and the shell code blocks in SKILL.md.
Hosts in commands or code, which the agent is likely to contact:
basescan.orgFrom URLs in SKILL.md, links to its own repository left out.
Names these keys or tokens, usually read from environment variables:
SENDER_PRIVATE_KEYFrom names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Grand Bazaar Swap loads about 4.1k tokens when it runs, and up to ~4.9k if it reads all its reference files. Until then it costs about 64 tokens; SKILL.md has 2,117 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.
The full file from LeoYeAI/openclaw-master-skills at commit e5199b5, republished under its MIT licence (© LeoYeAI). 2,117 words, ~4,132 tokens.
.claude/skills/grand-bazaar-swap/SKILL.md (or your agent's skills folder). This skill also uses 11 other files; get the full folder from GitHub.This skill documents how to execute agent-to-agent swaps on Base mainnet using deployed AirSwap Swap contracts.
Sender-side token standard is routed to the matching Swap contract:
SwapERC20 on Base 0x95D598D839dE1B030848664960F0A20b848193F4The sender is still the submitting wallet, and must satisfy the selected Swap's sender-kind requirement.
Read: references/base-mainnet-deployments.md
When someone offers a swap and the price is clearly good value for you, default to taking it quickly with safety checks.
Use this fast path:
GBZ1:<compressedOrder>order + signatureThanks for the swap 🤝https://basescan.org/tx/<txHash>This applies especially to direct offer replies where speed matters but safety preflight is still mandatory.
When negotiating with other users or agents, proactively make favorable outbound offers to improve fill probability.
Default outbound behavior:
Swap.check(senderWallet, orderWithSignature) on the target swap contractnonceUsed(signer, nonce) === falseSenderAllowanceLow on maker flow, since sender approves on taker side after cast discoverySenderAllowanceLowGBZ1:<compressedOrder>mentions, mentions_positions)/c/<step1CastHash>Outbound offer loop:
Guardrails:
Read: references/pricing-params.md
Use that reference file as the source of truth for pricing thresholds, impact capture, negotiation steps, and execution safety limits.
This is a two party protocol. One agent acts as the signer. A different agent acts as the sender.
swap onchain and pays the sender ERC20 amount plus protocol fee.Because each deployed Swap has immutable requiredSenderKind, sender leg must match the routed contract kind.
Signer responsibilities
Mandatory maker approval rule
SwapERC20, signer required amount is signerAmount + signer protocol fee because fee is transferred from signer token side.SenderAllowanceLow in maker validation gates.Protocol fee side semantics
Sender responsibilities
swap transaction.Critical preflight before any sender execution
order.signer.amount.order.signer.amount.order.sender.amount + protocol fee + affiliateAmount.MAX_GAS_LIMIT.maxPriorityFeePerGas to 10% of current gas price.Temporary execution override
eth_call / staticCall) or eth_estimateGas with execution reverted and TransferFailed(from,to) but still execute successfully onchain.650000.Gas safety policy for all agents
gasPrice, maxPriorityFeePerGas, maxFeePerGas, estimate status, and chosen gas limit before broadcast.650000, then investigate root cause.If signer balance or allowance is missing, sender execution will revert onchain.
Swap to spend the sender ERC20.Swap to spend the signer asset.Order fields:
nonce: unique per signerexpiry: unix secondsprotocolFee: must match Swap.protocolFee() at execution timesigner: Party structsender: Party structaffiliateWallet, affiliateAmount: optional, set to zero for nowUse protocol-specific domain/types based on routed swap contract.
Legacy Swap v4.2
SWAP4.28453Order(uint256 nonce,uint256 expiry,uint256 protocolFee,Party signer,Party sender,address affiliateWallet,uint256 affiliateAmount)Party(address wallet,address token,bytes4 kind,uint256 id,uint256 amount)SwapERC20 v4.3
SWAP_ERC204.384530x95D598D839dE1B030848664960F0A20b848193F4OrderERC20(uint256 nonce,uint256 expiry,address signerWallet,address signerToken,uint256 signerAmount,uint256 protocolFee,address senderWallet,address senderToken,uint256 senderAmount)Sender calls:
swap(recipient, maxRoyalty, order)Recommended defaults:
recipient = sender for testingmaxRoyalty = 0 unless the signer asset is an ERC2981 NFTFarcaster mention and recipient rules
@username text will create a mention.mentions: array of target FIDsmentions_positions: UTF-8 byte offsetsmakeCastAdd mention fields, do not duplicate the handle in text manually at the same position. The client can render duplicated handles if both are present.mentions.length === mentions_positions.length@handle token in textverified_addresses.primary.eth_address when available.Long-cast link budget rules
Strict cast-parse format for cast-hash based loading
GBZ1:<compressedOrder>GBZ1: must be uppercase and start at line start.<compressedOrder>.GBZ1: line per cast.NFT cast metadata and embed rules
Human-readable cast line templates (context-dependent)
I offer <signer-leg text> for <sender-leg text><amount> <symbol><symbol> #<tokenId><qty>x <symbol> #<tokenId>I offer 12 USDC for 0.005 WETHI offer PFP #176 for 200 USDCI offer 200 USDC for PFP #176I offer PFP #176 for PFP #174I offer 3x GAMEITEM #42 for 10 USDCPrivate offer • expires in <human-duration>Open offer • expires in <human-duration>GBZ1:<compressedOrder>mentions and mentions_positions aligned to UTF-8 byte offsets.ERC721 order and allowance handling (legacy Swap)
id and amount must be 0.amount = 1 when ERC721 is on the sender leg. This can trigger AmountOrIDInvalid in onchain check(...).id=<tokenId>, amount=0.ERC721 approvals (security + compatibility)
approve(swapContract, tokenId)setApprovalForAll for ERC721 in this flow.getApproved(tokenId) == swapContract.isApprovedForAll alone can still show SignerAllowanceLow in check(...).getApproved(tokenId).ERC1155 approvals
setApprovalForAll(swapContract, true).Kind routing guard
Royalty-bearing NFT handling (ERC2981)
supportsInterface(0x2a55205a) on signer tokenroyaltyInfo(signerTokenId, senderAmountRaw)senderAmount + protocolFee + affiliateAmount + royaltyAmountmaxRoyalty >= computed royalty amount, else revert RoyaltyExceedsMax(...).For social posting and agent handoff, use the compressed ERC20 full-order format used by AirSwap Web. This is a URL-safe compressed payload, not a keccak hash. This payload is often too large for legacy cast limits. Use long casts when posting full compressed orders in one message.
Encoded fields
chainIdswapContractnonceexpirysignerWalletsignerTokensignerAmountprotocolFeesenderWalletsenderTokensenderAmountvrssigner_make_order.js now writes
airswapWeb.compressedOrderairswapWeb.orderPath as /order/<compressedOrder>make_cast_payload.js writes
airswapWeb.orderUrl with URL-encoded compressed order for reliable clickable linkscompressedOrder remains unencoded for machine parsing and executionIf you receive only the compressed order blob from a cast
decompressFullOrderERC20(compressedOrder)If you receive the structured cast payload from make_cast_payload.js
payload.airswapWeb.compressedOrderfeeAmount = order.sender.amount * order.protocolFee / 10000totalRequired = order.sender.amount + feeAmount + order.affiliateAmountThen execute with sender flow
SENDER_PRIVATE_KEYnode scripts/sender_execute_order.jsSender execution script already enforces
Scripts are under scripts/.
These scripts are reference implementations. They can be run by one operator with both keys for testing. In a real agent to agent swap, the signer and sender should run their parts separately.
Recommended setup
npm i ethers@5 lz-stringThen run one of these
node scripts/signer_make_order.jsnode scripts/sender_execute_order.jsnode scripts/make_cast_payload.js to generate both human-readable cast text and machine-readable payloadscripts/post_cast_farcaster_agent.js is intentionally disabled for security hardeningFor a single machine end to end test
node scripts/test_weth_usdc_swap.jsFor details and parameters
Read scripts/README.md
© LeoYeAI, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 11 other files (scripts, references) in skills/grand-bazaar-swap of LeoYeAI/openclaw-master-skills.
Open the folder on GitHubat commit e5199b5
Grand Bazaar Swap next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Grand Bazaar Swap this skillLeoYeAI/openclaw-master-skills | 2.2k | — | ~4.1k | Automated safety check: Pass | MIT | |
| Wagmi Feature Developmentwevm/wagmi | 6.8k | — | ~3.8k | Automated safety check: Pass | MIT | |
| Release Roundethereumjs/ethereumjs-monorepo | 2.8k | — | ~2k | Automated safety check: Pass | None | |
| Update Est Fixturesethereumjs/ethereumjs-monorepo | 2.8k | — | ~3.3k | Automated safety check: Pass | None | |
| Swapper Depositswapperfinance/swapper-toolkit | 852 | — | ~1.8k | Automated safety check: Pass | MIT | |
| BNB Chain MCP Serverinternet-court/internet-court-skill | 6.6k | 1 repos | ~1.7k | Automated safety check: Pass | MIT |
wevm/wagmi
Walks through adding a Wagmi feature across its layers: a Viem-based core action, TanStack Query options, and React and Vue bindings.
ethereumjs/ethereumjs-monorepo
Runs a coordinated EthereumJS npm release round in six human-gated phases — intent and readiness, CHANGELOG, version bump, publish (human executes), post-publish verification, and announcements.
ethereumjs/ethereumjs-monorepo
Updates EthereumJS execution-spec test fixtures from an ethereum/execution-specs release, then (after a human merge) points the monorepo submodule, updates VM npm scripts, reports a first test run…
swapperfinance/swapper-toolkit
Deposit and bridge funds into a wallet or protocol using Swapper Finance.
internet-court/internet-court-skill
Connects an agent to the BNB Chain MCP server to read blocks and contracts, move tokens and NFTs, register ERC-8004 agents and use Greenfield storage.
Minara-AI/minara-skills
Drives the Minara CLI for crypto swaps, perps, limit orders, wallet transfers, deposits and withdrawals, plus AI market analysis.
LeoYeAI/openclaw-master-skills
Manages pipelines on a DevOps quality and efficiency platform through its OpenAPI: list workspaces and templates, create, update, run and cancel pipelines, and read run records.
LeoYeAI/openclaw-master-skills
Patches OpenClaw's Feishu extension so an edited document triggers an isolated agent session that reads the doc and replies inline, turning it into a live chat space.
LeoYeAI/openclaw-master-skills
Multi-context memory management system for OpenClaw agents with group-isolated storage, global shared memory, workspace organization, and group-specific skills isolation.
LeoYeAI/openclaw-master-skills
Runs a brand's AI-search visibility work end to end: diagnosing how AI platforms represent it, repositioning it, producing AI-optimized content and monitoring ongoing mentions.
LeoYeAI/openclaw-master-skills
Installs and authenticates the gws CLI, then automates Gmail, Drive, Sheets, Calendar, Docs, Chat and Tasks with ready-made recipes, persona bundles and security audits.
LeoYeAI/openclaw-master-skills
Runs four advisor roles, a fitness coach, nutritionist, data analyst and TCM practitioner, to build a health profile and track workouts, diet and wellness over time.
Works with
Perform and document Grand Bazaar P2P swaps on Base using deployed AirSwap Swap contracts. Grand Bazaar Swap is an agent skill from LeoYeAI/openclaw-master-skills. Perform and document Grand Bazaar P2P swaps on Base using deployed AirSwap Swap contracts.
Run `npx skills add LeoYeAI/openclaw-master-skills --skill grand-bazaar-swap -a claude-code`. Or copy the skill folder (skills/grand-bazaar-swap in LeoYeAI/openclaw-master-skills) into .claude/skills/grand-bazaar-swap in your project. Claude Code loads it when a task matches its description.
Run `npx skills add LeoYeAI/openclaw-master-skills --skill grand-bazaar-swap -a codex`. Or copy the skill folder (skills/grand-bazaar-swap in LeoYeAI/openclaw-master-skills) into .agents/skills/grand-bazaar-swap in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add LeoYeAI/openclaw-master-skills --skill grand-bazaar-swap -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/grand-bazaar-swap, .gemini/skills/grand-bazaar-swap, .github/skills/grand-bazaar-swap and .opencode/skills/grand-bazaar-swap in your project.
Going by SKILL.md and its folder, Grand Bazaar Swap needs JavaScript for the scripts in its folder, the command-line tools its instructions call (node and npm) and credentials named SENDER_PRIVATE_KEY. Our summary lists: Node.js.
SKILL.md names 1 domain. In commands or code: basescan.org; the agent is likely to contact it when it follows the instructions. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
Grand Bazaar Swap is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 4.1k tokens (SKILL.md is roughly 17k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 761 tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Grand Bazaar Swap: Wagmi Feature Development (wevm/wagmi, 6.8k stars), Release Round (ethereumjs/ethereumjs-monorepo, 2.8k stars), Update Est Fixtures (ethereumjs/ethereumjs-monorepo, 2.8k stars) and Swapper Deposit (swapperfinance/swapper-toolkit, 852 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
LeoYeAI (a GitHub user) maintains it in LeoYeAI/openclaw-master-skills, which has 2,161 GitHub stars. The repository holds 1,235 skills in this directory. The repository was last updated on July 20, 2026.
Source: LeoYeAI/openclaw-master-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.