Skip to main content
Skills are higher-order workflows that compose multiple atomic MCP tools into a single orchestrated call. Instead of the agent manually chaining four or five tools (quote → bytecode → quote → bytecode → verify), a skill handles the full flow deterministically and returns all transaction bytecode in execution order, plus warnings and next-step guidance. The Pods MCP ships with 4 skill tools and 2 skill prompts — collectively “the skills layer”. Skill tools execute code; skill prompts guide the agent through analytical workflows.
Every workflow skill also has a dedicated markdown documentation resource accessible at runtime via ReadMcpResource — the URIs are listed at the bottom of this page.

When to use a skill vs atomic tools


Shared features

All three workflow skills (swap_and_deposit, find_best_yield_for_asset, rebalance_position) support three capabilities that fundamentally change how agents and integrators interact with them.

dryRun: true — preview mode

When set, the skill skips bytecode generation entirely and returns only quotes + resolved strategy + estimated output. Useful for:
  • Cost/APY estimation before committing the user to sign transactions
  • UX flows that show “you will receive ~X tokens” before the confirm button
  • Analyzing rebalance viability without consuming a quote window
Example: swap_and_deposit with dryRun
Response has dryRun: true at the top level and omits swap.bytecode / deposit.bytecode.

Partial-success returns

If a later step fails after earlier bytecode was already produced, the skill returns a partial-success payload with the usable work preserved. The result carries isError: false deliberately — the MCP host should treat the partial payload as normal structured data and let the caller decide how to proceed.
Partial-success shape
Preservation boundaries per skill: Recovery pattern: sign and broadcast the preserved bytecode (e.g. the swap), then call the atomic tool for the failed step separately once the underlying issue is resolved.

Skill-level error codes

Orchestration-layer validation failures raise SkillValidationError with dedicated codes — distinct from API errors. These flow through the same McpErrorResult shape, so get_error_explanation returns resolution steps for them just like for QUOTE_EXPIRED or INSUFFICIENT_LIQUIDITY.

Workflow skills

Swaps token A into token B on the destination chain and deposits the proceeds into a yield strategy. Chains get_swap_quoteexecute_swap_bytecodeget_strategy_quoteget_deposit_bytecode internally.When to use:
  • User wants to earn yield on a token they don’t currently hold
  • You have both a swap target and a deposit target in one user intent
  • You need both transaction batches returned in guaranteed execution order
Inputs:Example response (truncated):
Execution order is mandatory — sign and broadcast all swap transactions and wait for confirmation BEFORE submitting the deposit transactions. The deposit spends the swap output; if you send deposit first it will revert on-chain.
The deposit is sized from the swap quote’s expected output (tokenOut.amount). If real swap output is lower due to slippage, the deposit may revert — warn the user about this before they sign.
Given an asset (symbol, name, or category), returns the highest-APY strategy with a deposit quote, ready-to-sign bytecode, and the top 3 alternatives.When to use:
  • User doesn’t know a specific strategyId and wants “the best yield” for USDC / ETH / etc.
  • You want to present alternatives so the user can compare before committing
  • You need a deposit bytecode produced automatically for the winner
Inputs:Example response (truncated):
Alternatives are filtered to the same assetName as the best match and exclude paused strategies. Passing a network only narrows alternatives — the best match from get_yield_by_identifier may be on a different chain.
Moves capital from one yield strategy to another (typically for better APY), returning withdraw + deposit bytecode in execution order.When to use:
  • User has an existing yield position and a better alternative exists
  • You want the skill to auto-resolve the destination to the best-APY strategy for the same asset
  • You want the full position balance used when amount is omitted
Inputs:Example response (truncated):
Execution order is mandatory — broadcast all withdraw transactions and wait for confirmation before the deposit. The deposit spends withdrawn funds.
If the auto-resolver returns a destination with worse APY than the source, a high-priority warning is prepended — the skill still produces bytecode so the caller can confirm intent.

Diagnostic skill

Runs API key validation, API health, and reachability probes on strategies and tokens endpoints in a single call. Optionally probes get_wallet_positions if a wallet is passed.When to use:
  • Before shipping an integration to production
  • When something stopped working downstream and you want a one-shot diagnosis
  • Onboarding a new developer — faster than running validate_api_key + get_health + a test call separately
Inputs:Example response (truncated):
The skill itself never returns isError: true — individual checks fail independently and the overall report captures them. A failed api_key check cascades: every subsequent check will fail until the key is fixed, so always resolve the first failing check first.

Skill prompts

Prompts guide the agent through analytical workflows where the value is in natural-language synthesis, not deterministic bytecode. Invoke them by name from your AI host.
Guides the agent to produce a briefing of a wallet’s yield portfolio: positions, recent activity, underperformers, and recommended rebalances.Inputs: wallet (required), includeHistoryDays (optional, default “7”)What the prompt instructs the agent to do:
  1. Call get_wallet_positions to snapshot current positions and total USD
  2. For each position, record strategyId, protocol, network, assetName, APY, balance
  3. Call get_wallet_history for top 2 positions (by USD value) with the configured window
  4. Call get_yield_by_identifier for each position’s asset and compare APY (~0.5pp threshold for “underperforming”)
  5. Produce a summary: total value, top performers, recent activity, underperformers, recommended actions pointing to rebalance_position or find_best_yield_for_asset
Audits the workspace’s Pods integration code against a checklist of common pitfalls. Produces a file:line-level report with concrete fixes.Inputs: workspacePath (optional), feature (optional: swap, yield, webhook, all)Checklist highlights:
  • Common: API key from env (not hardcoded), try/catch around API calls, fetch timeout, retry on QUOTE_EXPIRED/SLIPPAGE_EXCEEDED
  • Swap: quote TTL awareness, rawQuote forwarding to execute_swap_bytecode, response field is transactionData (not transactions), EIP-1193 value hex encoding, status polling uses quoteId (not bytecode id), cross-chain lifecycle assumptions
  • Yield: action="lend" (not "deposit"), wallet param (not fromAddress/owner), amount as string in smallest unit, swap→deposit ordering
  • Webhook: signature verification, idempotency via quoteId, fast 2xx ack, explicit event-type handling
The prompt does NOT auto-edit — it only produces a report. You can then request specific fixes interactively.

Runtime documentation resources

Every skill has a markdown documentation resource accessible at runtime via ReadMcpResource. Agents can load these on demand when they need fuller context than the tool description provides.

Next Steps

MCP Server Overview

What the server does, capabilities, and minimal tool set

Setup Guide

Install and configure in Claude Desktop, Cursor, Windsurf

Tools Reference

Full accordion reference for all 25 tools and 9 prompts

Error Codes

Complete error reference including skill-level codes