skills/apeworx/uniswap/SKILL.md
Trade and interact with Uniswap in Python using Ape and the uniswap-sdk package.
npx skillsauth add aiskillstore/marketplace uniswapInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
This skill describes when and how to the uniswap-sdk to interact and trade with the Uniswap protocol on various blockchains with Ape.
The user provides a network they wish to interact with uniswap on, which tokens they want to index, and what actions they want to do: get prices, search for routes, make trades.
CRITICAL: Before writing any code with this SDK, you MUST:
web_fetch to retrieve the latest documentation from https://github.com/ApeWorX/uniswap-sdk/blob/main/README.mdweb_fetch to retrieve the latest Ape documentation from https://docs.apeworx.io/ape/stableweb_fetch to retrieve the latest ape-tokens documentation from https://github.com/ApeWorX/ape-tokens/blob/main/README.mdape-tokens: https://github.com/ApeWorX/ape-tokens/blob/main/README.md#quick-usageDO NOT rely on general knowledge about Ape - always fetch the current documentation first to ensure accuracy.
Before writing any code with the SDK, understand which network the user wishes to interact with Uniswap on,
which tokens they might wish to swap or measure price information, and which tokens might be best used as intermediate steps in efficient routing.
Typically, native token wrappers like WETH, and highly liquid stablecoins like USDC and USDT are best used as intermediate steps in routes,
but it depends on which chain you want to work with as different tokens are deployed on different networks.
CRITICAL: Ensure the Uniswap class has indexed the proper pairs using either uni.index or uni.install (when using Silverback).
Overall, while performing a trade with the uniswap-sdk can potentially be risky,
the SDK makes it safer as it indexes relevant pairs, finds sufficient liquidity for routes, and handles human-readable conversions for you.
Still, trading is a risky activity, and you should always query the price first and ask the user if the price seems right to them.
Also, when performing a new trade or a large one, you should swap a small amount first in order to make sure it works correctly and the user gets what they wanted.
This SDK was specifically designed for use within a bot: https://github.com/ApeWorX/uniswap-sdk/blob/main/README.md#silverback
It streamlines the integration of Uniswap into a Silverback bot, and should always be preferred to use instead of writing custom logic for Uniswap. The benefits are that it makes integration with Uniswap a lot simpler, by handling things like indexing pools and liquidity internally, and also uses graph algorithms in order to find optimal routes for swaps. One trick it uses is by live-indexing everything relevant that is occuring with the Uniswap protocol (other users' swaps, new pairs, etc.), which allows the SDK keep a copy all relevant on-chain information in-memory in order to make faster work of common queries like pairings, routes, and pair liquidity.
development
Apple Human Interface Guidelines for content display components. Use this skill when the user asks about charts component, collection view, image view, web view, color well, image well, activity view, lockup, data visualization, content display, displaying images, rendering web content, color pickers, or presenting collections of items in Apple apps. Also use when the user says how should I display charts, what's the best way to show images, should I use a web view, how do I build a grid of items, what component shows media, or how do I present a share sheet. Cross-references: hig-foundations for color/typography/accessibility, hig-patterns for data visualization patterns, hig-components-layout for structural containers, hig-platforms for platform-specific component behavior.
tools
Automate HelpDesk tasks via Rube MCP (Composio): list tickets, manage views, use canned responses, and configure custom fields. Always search tools first for current schemas.
testing
Expert Haskell engineer specializing in advanced type systems, pure functional design, and high-reliability software. Use PROACTIVELY for type-level programming, concurrency, and architecture guidance.
tools
GraphQL gives clients exactly the data they need - no more, no less. One endpoint, typed schema, introspection. But the flexibility that makes it powerful also makes it dangerous. Without proper controls, clients can craft queries that bring down your server. This skill covers schema design, resolvers, DataLoader for N+1 prevention, federation for microservices, and client integration with Apollo/urql. Key insight: GraphQL is a contract. The schema is the API documentation. Design it carefully.