
This skill should be used when the user asks about "Aave V3 architecture", "Pool contract", "PoolAddressesProvider", "PoolConfigurator", "Aave lending", "Aave borrowing", or needs a high-level understanding of how Aave V3 works.
This skill should be used when the user asks about "Voter", "vote", "voting", "gauge creation", "emissions distribution", "bribes", "whitelistToken", or needs to understand Aerodrome's voting mechanics.
Run local Ethereum nodes with Anvil. Use when setting up local development environments, forking mainnet for testing, or running integration tests against a local node.
This skill should be used when the user asks about "Balancer V3 architecture", "Vault design", "transient accounting", "unlock pattern", "credit/debt system", "Balancer V3 overview", or needs high-level understanding of how Balancer V3 works.
This skill should be used when the user asks about "natspec", "documentation", "include-tag", "selector", "cast", "@custom:signature", "@custom:selector", "@custom:topiczero", "@custom:interfaceid", "AsciiDoc", or needs guidance on documenting Crane contracts with NatSpec and AsciiDoc include-tags.
Layer composition patterns for dependency injection. Use when composing providers, signers, and crypto services.
Property-based testing with Foundry's fuzzer. Use when writing fuzz tests, invariant tests, or testing edge cases. Covers fuzz test structure, input constraints, fixtures, and invariant testing patterns.
Solidity contract implementation for permitWitnessTransferFrom. Use when writing Solidity contracts that receive Permit2 signatures.
This skill should be used when the user asks about "swap", "trade", "zeroForOne", "sqrtPriceLimitX96", "price impact", "tick crossing", "swap step", or needs to understand how swaps work in concentrated liquidity pools.
Debug transactions with EVM tracing, gas profiling, and error handling. Use when investigating contract behavior or test failures.
This skill should be used when the user asks about "UniswapV3Pool", "pool contract", "slot0", "pool state", "pool liquidity", "pool initialization", or needs to understand the core pool mechanics.
This skill should be used when the user asks about "NonfungiblePositionManager", "NFT positions", "position NFT", "ERC721 positions", "mint position", "increase liquidity", "decrease liquidity", or needs to understand the NFT wrapper for V3 positions.
This skill should be used when the user asks about "positions", "Position.Info", "fee growth", "tokensOwed", "liquidity positions", "mint", "burn", "collect fees", or needs to understand position management and fee accumulation.
This skill should be used when the user asks about "ticks", "tick spacing", "TickMath", "tick bitmap", "price levels", "tick crossing", or needs to understand the tick system and price discretization.
This skill should be used when the user asks about "fees", "LP fee", "dynamic fees", "protocol fees", "fee override", "LPFeeLibrary", or needs to understand the V4 fee system.
This skill should be used when the user asks about "flash accounting", "settle", "take", "sync", "transient storage", "currency deltas", "unlock pattern", or needs to understand the deferred settlement mechanism.
This skill should be used when the user asks about "hooks", "beforeSwap", "afterSwap", "hook permissions", "BaseHook", "hook callbacks", "HookMiner", or needs to understand the V4 hook system.
This skill should be used when the user asks about "PoolKey", "PoolId", "Slot0", "pool state", "pool initialization", "Currency", or needs to understand pool identification and state management.
This skill should be used when the user asks about "voltaire-effect crypto", "KeccakService", "Secp256k1", "BLS12-381", "AES-GCM", "HDWallet", "BIP-39", "CryptoLive", "CryptoTest", "keccak256 Effect", "ECDSA Effect", "voltaire hashing", "voltaire signing", or needs to understand the cryptographic services in voltaire-effect.
Typed error handling with Effect Schema and services. Use when handling parse errors, network failures, or contract reverts.
Type-safe Ethereum library with Effect.ts integration. Use when building TypeScript Ethereum apps with typed errors, composable operations, and full type safety.
This skill should be used when the user asks about "voltaire branded types", "Effect Schema Ethereum", "Address schema", "Hash schema", "Uint8Array branded", "S.decode address", "ParseError", "voltaire primitives", "type safety Ethereum", or needs to understand how voltaire-effect handles type-safe Ethereum data.
This skill should be used when the user asks about "ProviderService", "SignerService", "TransportService", "HttpTransport", "WebSocketTransport", "JSON-RPC Effect", "getBalance", "getBlock", "getBlockNumber", "sendTransaction", "voltaire-effect provider", "Layer.provide", or needs to understand the voltaire-effect service system.
Transaction signing with local keys or wallets. Use when sending transactions or signing messages.
Wallet connectors for MetaMask, WalletConnect, injected, and more. Use when setting up wallet connections.
HTTP and WebSocket transports for blockchain connectivity. Use when configuring network connections.
This skill should be used when the user asks about "ReserveConfiguration", "interest rate strategy", "DefaultReserveInterestRateStrategyV2", "reserve factor", "LTV", "liquidation threshold", "caps", "PoolConfigurator", or needs to understand Aave V3 reserve configuration.
This skill should be used when the user asks about "flash loan", "flashLoan", "flashLoanSimple", "FlashLoanLogic", "IFlashLoanReceiver", "flash borrower", or needs to understand Aave V3 flash loan functionality.
This skill should be used when the user asks about "Aave supply", "Aave borrow", "Aave repay", "Aave withdraw", "Aave liquidation", "Pool.sol", "SupplyLogic", "BorrowLogic", "LiquidationLogic", or needs to understand core Aave V3 Pool operations.
This skill should be used when the user asks about "StataToken", "static aToken", "ERC4626", "ERC-4626", "StataTokenV2", "StataTokenFactory", "wrapped aToken", "yield-bearing vault", or needs to understand Aave V3's ERC4626 wrapper.
This skill should be used when the user asks about "aToken", "AToken.sol", "VariableDebtToken", "debt tokens", "scaled balance", "liquidity index", "ScaledBalanceTokenBase", or needs to understand Aave V3 token implementations.
This skill should be used when the user asks about "dynamic configuration", "dynamic risk configuration", "configKey", "collateral factor", "config snapshot", "rebinding", or needs to understand Aave V4's dynamic risk parameter system.
This skill should be used when the user asks about "risk premium", "collateral risk", "user risk premium", "premium debt", "premium shares", "collateral quality", or needs to understand Aave V4's risk-based interest system.
This skill should be used when the user asks about "Spoke contract", "Spoke.sol", "Aave V4 supply", "Aave V4 borrow", "Aave V4 repay", "Aave V4 withdraw", "reserve", "user position", or needs to understand Spoke operations.
This skill should be used when the user asks about "Aerodrome", "ve(3,3)", "Solidly", "Velodrome", "protocol overview", or needs to understand Aerodrome's architecture and tokenomics.
This skill should be used when the user asks about "Minter", "emissions", "rebases", "RewardsDistributor", "tail emissions", "nudge", "weekly decay", or needs to understand Aerodrome's emission schedule.
This skill should be used when the user asks about "gauge", "staking", "LP staking", "deposit", "emissions", "getReward", or needs to understand Aerodrome's gauge mechanics.
This skill should be used when the user asks about "pool", "AMM", "swap", "liquidity", "stable pool", "volatile pool", "sAMM", "vAMM", "constant product", or needs to understand Aerodrome's pool mechanics.
This skill should be used when the user asks about "rewards", "bribes", "fees", "VotingReward", "BribeVotingReward", "FeesVotingReward", "ManagedReward", or needs to understand Aerodrome's reward distribution system.
Run local Ethereum nodes with Anvil. Use when setting up local development environments, forking mainnet for testing, or running integration tests against a local node.
This skill should be used when the user asks about "Gyro pool", "2-CLP", "E-CLP", "concentrated liquidity", "sqrtAlpha", "sqrtBeta", "ellipse curve", "Gyroscope", "pricing range", or needs to understand Balancer V3 Gyro Pool implementations.
This skill should be used when the user asks about "CoW pool", "CoW AMM", "MEV protection", "CowPoolFactory", "CowRouter", "trusted router", "batch auction", or needs to understand Balancer V3 CoW Pool implementation for MEV-protected trading.
This skill should be used when the user asks about "StablePool", "StablePoolFactory", "amplification parameter", "StableMath", "Curve-style pool", "stableswap", "correlated assets", "like-kind swaps", or needs to understand Balancer V3 Stable Pool implementation.
This skill should be used when the user asks about "Balancer Router", "IRouter", "RouterHooks", "swapSingleTokenExactIn", "addLiquidityProportional", "removeLiquidityProportional", "Permit2 Balancer", "wethIsEth", or needs to understand how users interact with Balancer V3 via routers.
This skill should be used when the user asks about "Compound V3", "Comet", "protocol architecture", "monolithic", or needs a high-level understanding of the Compound V3 Comet protocol.
This skill should be used when the user asks about "collateral", "collateral factor", "borrowCollateralFactor", "liquidateCollateralFactor", "assetsIn", "supplyCap", or needs to understand Comet's collateral system.
Interact with EVM chains using Cast CLI. Use when querying blockchain data, sending transactions, calling contracts, or converting between formats. Cast is the Swiss Army knife for chain interaction.
This skill should be used when the user asks about "supply", "withdraw", "borrow", "repay", "transfer", "supplyTo", "withdrawFrom", or needs to understand Comet's core user operations.
This skill should be used when the user asks about "interest rates", "APR", "APY", "utilization", "kink", "supply rate", "borrow rate", "accrueInternal", or needs to understand Comet's interest rate model.
This skill should be used when the user asks about "liquidation", "absorb", "absorbInternal", "buyCollateral", "quoteCollateral", "protocol reserves", "storeFrontPriceFactor", or needs to understand Comet's liquidation mechanics.
This skill should be used when the user asks about "rewards", "COMP", "claim", "CometRewards", "baseTrackingAccrued", "trackingIndex", or needs to understand Comet's reward distribution system.
This skill should be used when the user asks about "Aerodrome integration", "Aerodrome swap", "Aerodrome liquidity", "volatile pool", "stable pool", "Slipstream", "concentrated liquidity on Aerodrome", or needs to interact with Aerodrome DEX on Base using Crane's service libraries.
This skill should be used when the user asks about "facet", "target", "repo", "diamond pattern", "storage slot", "guard function", "DFPkg", "AwareRepo", "Service pattern", "Modifiers", "ERC2535", or needs guidance on Crane's core architectural patterns for building modular, upgradeable smart contracts.
This skill should be used when the user asks about "Balancer V3 integration", "Balancer pool", "weighted pool", "constant product pool", "BPT token", "Balancer vault", "rate provider", or needs to create or interact with Balancer V3 pools using Crane's DFPkg and service libraries.
This skill should be used when the user asks about "create3", "deploy", "diamond factory", "package", "deterministic deployment", "cross-chain", "DiamondPackageCallBackFactory", "FactoryService", or needs guidance on deploying Diamond proxies and facets using Crane's factory system.
This skill should be used when the user asks about "Uniswap integration", "Uniswap V2 swap", "Uniswap V2 liquidity", "UniswapV2Service", "Uniswap V3", "Uniswap V4", "concentrated liquidity", or needs to interact with Uniswap DEX using Crane's service libraries.
This skill should be used when the user asks about "set collections", "AddressSet", "Bytes32Set", "math utilities", "ConstProdUtils", "AMM math", "hash functions", "BetterMath", "pagination", "EIP-712", "cryptography", or needs utility libraries for Crane Diamond development.
This skill should be used when the user asks about "EVC", "Ethereum Vault Connector", "sub-accounts", "collateral", "controller", "batch", "permit", "status checks", or needs to understand Euler's foundational infrastructure.
This skill should be used when the user asks about "EVK", "Euler Vault Kit", "EVault", "modular vault", "dispatch pattern", "vault modules", or needs to understand Euler's vault architecture.
This skill should be used when the user asks about "borrow", "repay", "debt", "pullDebt", "dToken", "owed", "interest accrual", "debtOf", or needs to understand EVault borrowing operations.
This skill should be used when the user asks about "LTV", "loan-to-value", "collateral factor", "supply cap", "borrow cap", "IRM", "interest rate model", "oracle", "risk parameters", or needs to understand EVault risk configuration.
Deploy and verify smart contracts with Foundry. Use when deploying contracts, writing deployment scripts, verifying on block explorers, or managing multi-chain deployments.
Sign messages with Foundry cheatcodes for testing signature verification. Use when testing EIP-712 signatures, Permit2, or any signed data verification.
Complete approval flow with reset-to-zero pattern. Use when implementing full ERC20 and Permit2 approval workflow.
Uniswap Permit2 SDK for gasless token transfers in IndexedEx. Use when implementing swap/deposit/withdraw with signature-based or allowance-based authorization.
````skill --- name: permit2-router-witness description: This skill should be used when the user asks about Permit2 witness signatures for Balancer V3 router swaps, typed-data construction, nonce/deadline handling, or needs the router’s canonical witness type string/typehash. license: MIT --- # Permit2 Router Witness (Balancer V3) Use this skill for signed swap flows that call: - `swapSingleTokenExactInWithPermit(...)` - `swapSingleTokenExactOutWithPermit(...)` Both routes use Permit2 `permitW
TypeScript type references for Permit2 SDK. Use when writing TypeScript code with Permit2.
Integration patterns for Permit2 with wagmi hooks. Use when building UI components that interact with Permit2.
This skill should be used when the user asks about "Reliquary", "maturity-based incentives", "Relic NFT", "level", "curve multiplier", "rolling rewarder", or needs to understand how Reliquary's ERC-721 position management and time-weighted reward system works.
This skill should be used when the user asks to "deploy Reliquary", "add a Reliquary pool", "set up rolling rewarder", "create relic", "deposit into Reliquary", "withdraw from Reliquary", or needs practical guidance on deploying and interacting with Reliquary smart contracts.
This skill should be used when the user asks about "governance", "Voter contract", "proposals", "DAO voting", "execute proposal", "governance operators", "protocol governance", or needs to understand Resupply's governance system.
This skill should be used when the user asks about "ResupplyPair", "lending pair", "borrow reUSD", "add collateral", "remove collateral", "repay debt", "interest rates", "leveraged positions", or needs to understand Resupply's core lending mechanics.
This skill should be used when the user asks about "rewards", "RewardHandler", "claim rewards", "RSUP emissions", "reward distribution", "multi-epoch rewards", "protocol emissions", or needs to understand Resupply's reward system.
This skill should be used when the user asks about "staking RSUP", "GovStaker", "voting power", "cooldown period", "stake tokens", "unstake", "staking rewards", or needs to understand Resupply's governance staking system.
This skill should be used when the user asks about "Slipstream", "concentrated liquidity", "CL pool", "tick", "tick spacing", "sqrtPrice", "Q64.96", or needs to understand the core Slipstream architecture.
This skill should be used when the user asks about "fees", "fee tier", "swap fee", "unstaked fee", "staked fee", "fee growth", "gaugeFees", "split fees", or needs to understand how fees work in Slipstream.
This skill should be used when the user asks about "oracle", "TWAP", "observe", "observation", "price history", "cardinality", "tickCumulative", or needs to understand the oracle system.
This skill should be used when the user asks about "mint", "burn", "position", "liquidity", "provide liquidity", "add liquidity", "remove liquidity", "CLPool", or needs to understand pool-level liquidity operations.
This skill should be used when the user asks about "NonfungiblePositionManager", "NFT", "tokenId", "mint position", "increase liquidity", "decrease liquidity", "multicall", or needs to understand the NFT position wrapper.
This skill should be used when the user asks about "SwapRouter", "exactInput", "exactOutput", "Quoter", "quote", "slippage", "multi-hop", "path", or needs to understand the trading interface.
Get and set account state including balances, nonces, and storage. Use when manipulating EVM state for testing.
Deploy contracts using ethers ContractFactory with Tevm. Use when deploying contracts in tests or local development.
Local Multi-L2 Development Environment for simulating the Superchain. Use when testing cross-chain applications, OP Stack deployments, or L1/L2 message passing locally.
EVM step-by-step tracing for debugging contract execution. Use when debugging contracts or profiling gas usage.
This skill should be used when the user asks about "factory", "createPool", "pool deployment", "fee tiers", "tick spacing", "pool creation", or needs to understand how pools are deployed and configured.
This skill should be used when the user asks about "Uniswap V3 architecture", "protocol overview", "V3 vs V2 differences", "concentrated liquidity introduction", or needs a high-level understanding of how Uniswap V3 works.
This skill should be used when the user asks about "Uniswap V4 architecture", "V4 overview", "singleton pattern", "V3 vs V4 differences", or needs a high-level understanding of how Uniswap V4 works.
This skill should be used when the user asks about "liquidity", "modifyLiquidity", "positions", "ERC6909", "add liquidity", "remove liquidity", "LP tokens", or needs to understand position management.
This skill should be used when the user asks about "swap", "SwapParams", "exactInput", "exactOutput", "BeforeSwapDelta", "swap routing", or needs to understand swap execution in V4.
Wagmi createConfig setup with chains and transports. Use when configuring multi-chain support and network connections.
Vanilla JS Ethereum library built on viem. Use for wallet connections, contract interactions, and blockchain queries.
This skill should be used when the user asks about "voltaire-effect testing", "CryptoTest", "TestTransport", "mock provider", "test layers", "layer swap testing", "Effect test patterns", "deterministic crypto", or needs to understand how to test programs built with voltaire-effect.
Wallet connection hooks for React. Use when connecting wallets and managing connection state.
React hooks library for Ethereum built on viem and TanStack Query. Use when building React apps with wallet connections and contract interactions.
WagmiProvider and QueryClientProvider setup for React. Use when configuring the React context for wallet and blockchain data.
Read contract data with type-safe ABI. Use when querying smart contract view/pure functions.
Write to contracts and send transactions. Use when executing state-changing contract functions.
This skill should be used when the user asks about "swap", "SwapRouter", "exactInput", "exactOutput", "multi-hop", "swap callback", "sqrtPriceLimit", or needs to understand swap execution and routing.
This skill should be used when the user asks about "liquidate", "liquidation", "unhealthy", "underwater", "violator", "seize", "discount", "bad debt", or needs to understand EVault liquidation mechanics.
useWriteContract hook for sending transactions. Use when executing state-changing contract functions in React.
useReadContract hook for reading smart contract data. Use when querying contract view/pure functions in React.
React hooks for blockchain queries and mutations. Use when reading/writing contracts or querying chain data.
This skill should be used when the user asks about "voltaire-effect streaming", "watchBlocks", "block streaming", "event streaming", "reorg detection", "BlockStream", "TransactionStream", "subscribe", "real-time blockchain", or needs to understand how voltaire-effect handles real-time blockchain data.
JSON-RPC provider operations with Effect.ts. Use when reading blockchain data, making contract calls, or estimating gas.
Type-safe contract interaction with Contract factory. Use when reading or writing to smart contracts.
This skill should be used when the user asks about "voltaire-effect architecture", "voltaire-effect overview", "how does voltaire-effect work", "what is voltaire-effect", "Effect.ts Ethereum library", "Voltaire Effect layers", "decode use provide pattern", "voltaire-effect vs viem", "voltaire-effect vs ethers", "voltaire-effect getting started", or needs a high-level understanding of how voltaire-effect integrates Voltaire Ethereum primitives with Effect.ts.
React and Next.js performance optimization guidelines from Vercel Engineering. This skill should be used when writing, reviewing, or refactoring React/Next.js code to ensure optimal performance patterns. Triggers on tasks involving React components, Next.js pages, data fetching, bundle optimization, or performance improvements.
This skill should be used when the user asks about "PoolManager", "unlock", "unlockCallback", "singleton", "pool operations", or needs to understand the core PoolManager contract.
This skill should be used when the user asks about "oracle", "TWAP", "time-weighted average price", "observations", "observe", "price oracle", "tick cumulative", or needs to understand the on-chain oracle system.
Initialize Tevm clients for in-memory or fork mode. Use when setting up Tevm for testing or local development.
Lightweight EVM that runs in the browser. Use for local blockchain testing, contract debugging, and fork testing.
Core Tevm actions for contract calls, mining, and state manipulation. Use when executing EVM operations with Tevm.
This skill should be used when the user asks about "gauge", "CLGauge", "stake", "deposit", "reward", "AERO", "emissions", "getReward", or needs to understand gauge staking and reward distribution.
This skill should be used when the user asks about "redemption", "redeem collateral", "RedemptionHandler", "redemption fees", "dynamic fees", "arbitrage reUSD", or needs to understand Resupply's collateral redemption mechanism.
This skill should be used when the user asks about "liquidation", "LiquidationHandler", "liquidate position", "bad debt", "underwater position", "liquidation fee", "collateral seizure", or needs to understand how Resupply handles undercollateralized positions.
This skill should be used when the user asks about "insurance pool", "reIP", "InsurancePool", "protocol insurance", "bad debt coverage", "exit delay", "insurance vault", or needs to understand Resupply's insurance mechanism.
This skill should be used when the user asks about "Resupply architecture", "Resupply protocol overview", "ResupplyRegistry", "Core contract", "operator pattern", "Resupply system design", or needs to understand how the Resupply protocol components connect together.
Uses permitWitnessTransferFrom for gasless token transfers with EIP-712 signatures. Use when implementing swap/deposit/withdraw with Permit2 signature-based authorization.
Bitmap nonce patterns for Permit2 signature replay protection. Use when generating nonces for SignatureTransfer permits.
Uses AllowanceTransfer for persistent token approvals. Use when user grants recurring spend authority to the protocol.
Canonical Permit2 contract addresses by chain. Use when configuring multi-chain support.
Set up and configure Foundry projects. Use when initializing new projects, configuring foundry.toml, managing dependencies, or structuring Solidity codebases.
Write and run Solidity tests with Foundry. Use when writing unit tests, integration tests, or debugging test failures. Covers test structure, assertions, cheatcodes, and running tests with forge test.
This skill should be used when the user asks about "Perspective", "vault validation", "Lens", "Swapper", "SwapVerifier", "IRM Factory", "Governor", "Snapshot", or needs to understand Euler's peripheral infrastructure.
This skill should be used when the user asks about "oracle", "EulerRouter", "price feed", "Chainlink", "Uniswap TWAP", "Pyth", "Chronicle", "adapter", "quote", "bid/ask", or needs to understand Euler's modular oracle infrastructure.
This skill should be used when the user asks about "deposit", "withdraw", "mint", "redeem", "eToken", "shares", "assets", "ERC-4626", "vault shares", or needs to understand EVault supply-side operations.
This skill should be used when the user asks to "deploy an ERC20 token", "create a token", "implement ERC20", "add permit to token", "mint/burn functionality", "ERC4626 vault", "tokenized vault", "ERC721 NFT", or needs guidance on token standards implementation with Crane's Diamond Factory Packages.
This skill should be used when the user asks about "testbase", "behavior library", "invariant test", "handler", "fuzz test", "test pattern", "Behavior_", "TestBase_", or needs guidance on Crane's testing infrastructure for writing comprehensive smart contract tests.
This skill should be used when the user asks about "code style", "naming convention", "imports", "section headers", "slot naming", "viaIR", "stack too deep", "formatting", or needs guidance on Crane's code conventions and style requirements.
This skill should be used when the user asks about "Camelot integration", "Camelot swap", "Camelot liquidity", "Camelot V2", "fee-on-transfer tokens", "asymmetric fees", "directional fees", or needs to interact with Camelot DEX on Arbitrum using Crane's service library.
This skill should be used when the user asks about "access control", "onlyOwner", "onlyOperator", "ownership transfer", "MultiStepOwnable", "ERC8023", "operable pattern", "function-level permissions", "reentrancy protection", "reentrancy lock", or needs to restrict function access in Crane Diamond contracts.
This skill should be used when the user asks about "Configurator", "governance", "governor", "setConfiguration", "deploy", "CometFactory", "market admin", or needs to understand Comet's governance and upgrade system.
This skill should be used when the user asks about "Bulker", "batch operations", "invoke", "native token", "wrap ETH", "multicall", or needs to understand Comet's batching functionality.
This skill should be used when the user asks about "WeightedPool", "WeightedPoolFactory", "normalized weights", "WeightedMath", "weighted pool invariant", "constant product AMM", or needs to understand Balancer V3 Weighted Pool implementation.
This skill should be used when the user asks about "Balancer V3 swap", "add liquidity Balancer", "remove liquidity Balancer", "VaultSwapParams", "AddLiquidityParams", "RemoveLiquidityParams", "settlement", "unlock callback", or needs to understand the core Vault operations.
This skill should be used when the user asks about "Balancer V3 swap", "add liquidity Balancer", "remove liquidity Balancer", "VaultSwapParams", "AddLiquidityParams", "RemoveLiquidityParams", "settlement", "unlock callback", or needs to understand the core Vault operations.
This skill should be used when the user asks about "RECLAMM", "ReClammPool", "regenerating concentrated liquidity", "virtual balances", "price range tracking", "centeredness", "dailyPriceShiftExponent", "price ratio update", or needs to understand Balancer V3 RECLAMM Pool implementation.
This skill should be used when the user asks about "register pool Balancer", "pool initialization", "TokenConfig", "PoolRoleAccounts", "LiquidityManagement", "BasePoolFactory", "pool configuration", or needs to understand how pools are registered and initialized in Balancer V3.
This skill should be used when the user asks about "Balancer hooks", "IHooks", "BaseHooks", "onBeforeSwap", "onAfterSwap", "dynamic swap fee", "hook adjusted amounts", "pool customization", or needs to understand the Balancer V3 hooks system.
This skill should be used when the user asks about "VotingEscrow", "veAERO", "veNFT", "lock", "createLock", "merge", "split", "permanent lock", "managed NFT", or needs to understand Aerodrome's vote-escrow system.
This skill should be used when the user asks about "router", "swap", "addLiquidity", "removeLiquidity", "zap", "multi-hop", or needs to understand Aerodrome's Router operations.
This skill should be used when the user asks about "position manager", "gateway", "NativeTokenGateway", "SignatureGateway", "onBehalfOf", "meta-transactions", or needs to understand Aave V4's gateway contracts.
This skill should be used when the user asks about "liquidation", "liquidationCall", "target health factor", "liquidation bonus", "Dutch auction", "close factor", or needs to understand Aave V4's redesigned liquidation engine.
This skill should be used when the user asks about "Hub contract", "Hub.sol", "liquidity hub", "add liquidity", "draw liquidity", "restore", "asset management", or needs to understand Aave V4 Hub operations.
This skill should be used when the user asks about "Aave V4 architecture", "hub-and-spoke", "Hub contract", "Spoke contract", "unified liquidity layer", or needs a high-level understanding of how Aave V4 works.
This skill should be used when the user asks about "eMode", "efficiency mode", "correlated assets", "liquid eModes", "collateralBitmap", "borrowableBitmap", "EModeCategory", or needs to understand Aave V3 Efficiency Modes.
Review UI code for Web Interface Guidelines compliance. Use when asked to "review my UI", "check accessibility", "audit design", "review UX", or "check my site against best practices".