From grimoire-vm
Fetches Aave V3 public market data using the Grimoire venue CLI. Use when you need Aave health checks, chain listings, market metadata, or reserve info.
npx claudepluginhub franalgaba/grimoire --plugin grimoire-vmThis skill uses the workspace's default tool permissions.
Use this skill to query Aave V3 metadata and reserve snapshots for strategy inputs.
Generates design tokens/docs from CSS/Tailwind/styled-components codebases, audits visual consistency across 10 dimensions, detects AI slop in UI.
Records polished WebM UI demo videos of web apps using Playwright with cursor overlay, natural pacing, and three-phase scripting. Activates for demo, walkthrough, screen recording, or tutorial requests.
Delivers idiomatic Kotlin patterns for null safety, immutability, sealed classes, coroutines, Flows, extensions, DSL builders, and Gradle DSL. Use when writing, reviewing, refactoring, or designing Kotlin code.
Use this skill to query Aave V3 metadata and reserve snapshots for strategy inputs.
Preferred invocations:
grimoire venue aave ...npx -y @grimoirelabs/cli venue aave ... (no-install)bun run packages/cli/src/index.ts venue aave ... (repo-local)grimoire-aave ... (direct binary from @grimoirelabs/venues)Recommended preflight:
grimoire venue doctor --adapter aave --chain 1 --rpc-url <rpc> --jsongrimoire venue aave health — check Aave protocol healthgrimoire venue aave chains — list supported chainsgrimoire venue aave markets --chain <id> [--user <address>] — list markets on a chain (optionally with user positions)grimoire venue aave market --chain <id> --address <market> [--user <address>] — single market detailsgrimoire venue aave reserve --chain <id> --market <address> --token <address> — single reserve detailsgrimoire venue aave reserves --chain <id> [--market <address>] [--asset <symbol|address>] — list reserves with optional filtersgrimoire venue aave reserves-snapshot --chain <id> [--market <address>] [--asset <symbol|address>] — generate spell params: block for reserves (agent-only)grimoire venue aave health
grimoire venue aave health --format table
grimoire venue aave chains
grimoire venue aave markets --chain 1 --format table
grimoire venue aave market --chain 1 --address 0x87870Bca3F3fD6335C3F4ce8392D69350B4fA4E2
grimoire venue aave reserve --chain 1 --market 0x87870Bca3F3fD6335C3F4ce8392D69350B4fA4E2 --token 0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48
grimoire venue aave reserves --chain 1 --asset USDC --format table
grimoire venue aave reserves --chain 1 --asset USDC --format spell
grimoire venue aave reserves-snapshot --chain 1 --asset USDC
Use reserves-snapshot to emit a params: block for spell inputs. This is an agent-only command (output suppressed in interactive mode).
| Chain | Market Address |
|---|---|
| Ethereum (1) | 0x87870Bca3F3fD6335C3F4ce8392D69350B4fA4E2 |
| Base (8453) | 0xA238Dd80C259a72e81d7e4664a9801593F98d1c5 |
Aave V3 actions do not currently support runtime constraints (max_slippage, min_output, etc.). The adapter handles approvals and amount conversion automatically.
aave_v3.lend(USDC, params.amount)
aave_v3.withdraw(USDC, params.amount)
aave_v3.borrow(USDC, params.amount)
aave_v3.repay(USDC, params.amount)
Aave exposes the apy metric surface for comparisons:
aave_apy = apy(aave, USDC)
aave_apy_generic = metric("apy", aave, USDC)
Use this in conditional logic (for example, compare against Morpho APY before reallocating).
The @aave/client SDK uses different amount formats per action:
| Action | Format | Example (0.1 USDC) |
|---|---|---|
| supply | value: "0.1" | Human-readable BigDecimal |
| borrow | value: "0.1" | Human-readable BigDecimal |
| withdraw | value: { exact: "100000" } | Raw amount in exact wrapper |
| repay | value: { exact: "100000" } | Raw amount in exact wrapper |
The adapter handles this conversion automatically.
reserves also supports --format spell.--format json in automation; use table for quick interactive checks.