Nick Koutrelakos 5338d6edb6 fix(uniswap-trading): state the quoter rule, not one library's method name (#149)
* fix(uniswap-trading): state the quoter rule, not one library's method name

The v4-sdk-integration skill mandated `callStatic` for quoting. That is an
ethers v5 API, removed in ethers v6 in favour of `contract.foo.staticCall()`,
and viem has no equivalent under any name. The skill's install line never
pulls in ethers, and every other snippet in the file is viem, so an agent
following it in the stack the skill itself describes wrote a quote that threw.

Replaces the mandate with the library-neutral rule: the Quoter is not `view`
(it reverts with the result by design), so it must be simulated through
`eth_call` rather than sent as a transaction. Gives the spelling for each
library underneath, so the next SDK migration does not break the guidance
again.

Both eval rubrics graded on `callStatic` specifically, so they were rewarding
the broken call. They now grade the rule and accept any correct per-library
spelling.

Reported by @IpastorSan in #148, who verified all three spellings live against
mainnet V4Quoter and proposed this framing.

* fix(uniswap-trading): destructure the quoter's two return values

Review caught that quoteExactInputSingle returns (uint256 amountOut,
uint256 gasEstimate), verified against IV4Quoter.sol in v4-periphery. The
new snippets bound the whole tuple to `quote`, which would have told an
agent it could feed that straight into amountOutMinimum — trading one
broken quote for another.

All three snippets now destructure, with a line saying only amountOut
feeds amountOutMinimum. The correctness rubric gets the same as a failure
condition, phrased as an unsatisfied element rather than an unweighted
"penalize" (that rubric scores by counting satisfied elements and has no
penalties section, so a bare penalty had no defined magnitude).
2026-09-08 07:27:56 -07:00
2026-01-30 15:10:29 -07:00

uniswap-ai

Uniswap-specific AI tools (skills, plugins, agents) for developers and AI agents integrating the Uniswap ecosystem.

Quick Start

# Skills CLI (any agent)
npx skills add Uniswap/uniswap-ai

# Claude Code Marketplace
/plugin marketplace add uniswap/uniswap-ai

# Install individual plugins
/plugin install uniswap-hooks               # v4 hook development
/plugin install uniswap-trading             # Swap integration
/plugin install uniswap-cca                 # CCA auctions
/plugin install uniswap-driver              # Swap & liquidity planning
/plugin install uniswap-viem                # EVM integration (viem/wagmi)
/plugin install uniswap-trading-tools       # Automated trading tools (DCA, index, copy-trade)
/plugin install uniswap-permissioned-pools  # v4 Permissioned Pools reference, configurator + deployer
Skill Plugin Description
swap-integration uniswap-trading Integrate Uniswap swaps via Trading API, Universal Router, or SDKs
pay-with-any-token uniswap-trading Pay HTTP 402 challenges (MPP/x402) using tokens via Uniswap swaps
uniswap-v4-hooks uniswap-hooks Secure Uniswap v4 hook development assistant
dca-bot uniswap-trading-tools Dollar-cost-average into a token on a schedule (asset-agnostic)
index-bot uniswap-trading-tools Build and rebalance a weighted basket of assets
copy-trade uniswap-trading-tools Mirror a target wallet's trades within guardrails

Documentation

Document Description
Project Overview Plugins, architecture, development setup
Getting Started Installation and quick start guide

Contributing

See Project Overview for development setup and contribution guidelines.

License

MIT License - see LICENSE for details.

See Usage Guidelines for important information about intended use and financial information disclaimers.

S
Description
Integrate Uniswap swaps into applications. Use when user says "integrate swaps", "uniswap", "trading api", "add swap functionality", "build a swap frontend",…
Readme MIT 4.4 MiB
Languages
JavaScript 43.4%
Python 34.5%
TypeScript 12.7%
Shell 9.4%