feat: add yield-agentkit-builder skill#12
Conversation
|
Note Reviews pausedIt looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the Use the following commands to manage reviews:
Use the checkboxes below for quick actions:
📝 WalkthroughWalkthroughAdds the yield-agentkit-builder Codex plugin manifest and a complete skill definition with comprehensive reference documentation for generating production-ready Yield.xyz integrations across 12 blockchains. Includes 24 reference documents covering setup, API basics, policies, MCP tooling, transaction lifecycle, product-type integration patterns, chain-specific signing guides, output formatting, yield discovery, and common pitfalls. Also updates YieldDto risk field references in two existing skill files. Changesyield-agentkit-builder Codex Plugin & Skill
Estimated code review effort🎯 4 (Complex) | ⏱️ ~50 minutes Possibly related PRs
Suggested reviewers
Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
There was a problem hiding this comment.
Actionable comments posted: 1
🧹 Nitpick comments (4)
yield-agentkit-skills/skills/yield-agentkit-builder/SKILL.md (1)
208-231: ⚡ Quick winConsider adding explicit user confirmation for MCP auto-registration.
Lines 217 and 226–227 instruct the skill to automatically register the Yield.xyz MCP server and write to the user's
.mcp.jsonconfiguration file without asking. While this speeds up onboarding, it modifies the user's agent configuration autonomously.Best practice: Before auto-configuring critical infrastructure (MCP server, config files, etc.), at least inform the user of what will be modified and offer a chance to review or decline. For example:
"I'll now register the Yield.xyz MCP server in your
.mcp.jsonfile. This allows me to fetch the live API spec. OK to proceed?"This respects the user's agency and prevents surprises if their configuration is unexpectedly changed.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@yield-agentkit-skills/skills/yield-agentkit-builder/SKILL.md` around lines 208 - 231, The SKILL.md documentation instructs automatic MCP server registration without user confirmation, which violates best practice for modifying user configuration files. Revise the Step 0 section to add explicit user confirmation before auto-registering the yield-agentkit MCP server. Replace the instruction "Do this automatically — do not ask the user to run the command themselves" with guidance that first informs the user what will be modified (their .mcp.json file), shows them exactly what changes will be made, and obtains their explicit approval before proceeding. Include example phrasing like "I'll now register the Yield.xyz MCP server in your .mcp.json file. This allows me to fetch the live API spec. OK to proceed?" to demonstrate the expected user interaction pattern.yield-agentkit-skills/skills/yield-agentkit-builder/references/signing-patterns.md (1)
139-156: ⚡ Quick winAdd language specifier to the transaction lifecycle code block.
The code block at line 143 should have a language identifier (e.g.,
```text) for better rendering and linter compliance.📝 Proposed fix
## Transaction Lifecycle (All Chains) Regardless of chain or wallet, every transaction follows this lifecycle: -``` +```text 1. POST /v1/actions/enter (or /exit, /manage) -> Returns transactions[] with unsignedTransaction🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@yield-agentkit-skills/skills/yield-agentkit-builder/references/signing-patterns.md` around lines 139 - 156, In the Transaction Lifecycle (All Chains) section of the signing-patterns.md file, add a language specifier to the code block. Change the opening fence from ``` to ```text to provide proper language identification for the markdown renderer and ensure linter compliance. This applies to the code block containing the numbered transaction lifecycle steps starting with "1. POST /v1/actions/enter".yield-agentkit-skills/skills/yield-agentkit-builder/references/common-pitfalls.md (2)
228-268: ⚡ Quick winAdd language specifier to the React dependency code block.
The code block at line 233 should have a language identifier (
```json) for better syntax highlighting and linter compliance.📝 Proposed fix
pin React 19+: -``` +```json { "dependencies": { "react": "^19.0.0",🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@yield-agentkit-skills/skills/yield-agentkit-builder/references/common-pitfalls.md` around lines 228 - 268, The code block containing the package.json configuration structure in the common-pitfalls.md file is missing a language specifier. Add the `json` language identifier to the opening triple backticks of the code block that starts with the JSON object containing the "dependencies" and "devDependencies" sections. Change the opening fence from bare triple backticks to triple backticks followed by `json` to enable proper syntax highlighting and linter compliance.
160-178: ⚡ Quick winAdd language specifier to the error-handling code block.
The code block at line 100 should have a language identifier (
```typescript) for better syntax highlighting and linter compliance.📝 Proposed fix
**Fix:** Always extract errors defensively: -``` +```typescript function extractWalletError(err: unknown): string { if (err instanceof Error) return err.message; if (typeof err === "object" && err !== null) {🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@yield-agentkit-skills/skills/yield-agentkit-builder/references/common-pitfalls.md` around lines 160 - 178, Add the language specifier typescript to the markdown code block fence that contains the extractWalletError function in the common-pitfalls.md file. Change the opening fence from ``` to ```typescript to enable proper syntax highlighting and ensure linter compliance for the code block demonstrating the error handling solution.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@yield-agentkit-skills/skills/yield-agentkit-builder/references/mcp-tools.md`:
- Line 41: The documentation incorrectly uses the plural term "operationIds"
when referring to OpenAPI specification field names. Change "operationIds" to
"operationId" (singular) in the mcp-tools.md reference to align with the OpenAPI
3.0 specification standard terminology, which uses the singular form
"operationId" to identify individual operations.
---
Nitpick comments:
In
`@yield-agentkit-skills/skills/yield-agentkit-builder/references/common-pitfalls.md`:
- Around line 228-268: The code block containing the package.json configuration
structure in the common-pitfalls.md file is missing a language specifier. Add
the `json` language identifier to the opening triple backticks of the code block
that starts with the JSON object containing the "dependencies" and
"devDependencies" sections. Change the opening fence from bare triple backticks
to triple backticks followed by `json` to enable proper syntax highlighting and
linter compliance.
- Around line 160-178: Add the language specifier typescript to the markdown
code block fence that contains the extractWalletError function in the
common-pitfalls.md file. Change the opening fence from ``` to ```typescript to
enable proper syntax highlighting and ensure linter compliance for the code
block demonstrating the error handling solution.
In
`@yield-agentkit-skills/skills/yield-agentkit-builder/references/signing-patterns.md`:
- Around line 139-156: In the Transaction Lifecycle (All Chains) section of the
signing-patterns.md file, add a language specifier to the code block. Change the
opening fence from ``` to ```text to provide proper language identification for
the markdown renderer and ensure linter compliance. This applies to the code
block containing the numbered transaction lifecycle steps starting with "1. POST
/v1/actions/enter".
In `@yield-agentkit-skills/skills/yield-agentkit-builder/SKILL.md`:
- Around line 208-231: The SKILL.md documentation instructs automatic MCP server
registration without user confirmation, which violates best practice for
modifying user configuration files. Revise the Step 0 section to add explicit
user confirmation before auto-registering the yield-agentkit MCP server. Replace
the instruction "Do this automatically — do not ask the user to run the command
themselves" with guidance that first informs the user what will be modified
(their .mcp.json file), shows them exactly what changes will be made, and
obtains their explicit approval before proceeding. Include example phrasing like
"I'll now register the Yield.xyz MCP server in your .mcp.json file. This allows
me to fetch the live API spec. OK to proceed?" to demonstrate the expected user
interaction pattern.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
Run ID: 481dcc40-cf0d-433b-8d73-b54a2ea6a6a3
📒 Files selected for processing (11)
yield-agentkit-plugin/.codex-plugin/plugin.jsonyield-agentkit-skills/skills/yield-agentkit-builder/README.mdyield-agentkit-skills/skills/yield-agentkit-builder/SKILL.mdyield-agentkit-skills/skills/yield-agentkit-builder/references/api-field-mapping.mdyield-agentkit-skills/skills/yield-agentkit-builder/references/common-pitfalls.mdyield-agentkit-skills/skills/yield-agentkit-builder/references/integration-patterns.mdyield-agentkit-skills/skills/yield-agentkit-builder/references/mcp-tools.mdyield-agentkit-skills/skills/yield-agentkit-builder/references/output-formats.mdyield-agentkit-skills/skills/yield-agentkit-builder/references/policies.mdyield-agentkit-skills/skills/yield-agentkit-builder/references/setup.mdyield-agentkit-skills/skills/yield-agentkit-builder/references/signing-patterns.md
There was a problem hiding this comment.
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (1)
yield-agentkit-skills/skills/yield-agentkit-builder/SKILL.md (1)
238-261:⚠️ Potential issue | 🟠 Major | ⚡ Quick winRequire explicit user confirmation before auto-registering the MCP server.
Line 247 instructs the agent to register the MCP server "automatically — do not ask the user to run the command themselves." However, this modifies the user's system-wide or project-local MCP configuration files (
~/.mcp.jsonor.mcp.json), which is a material side effect that should require explicit user consent.Recommended approach:
- Inform the user that the skill needs the
yield-agentkitMCP server- Show the registration command that would be run
- Ask for explicit approval before executing it
- After confirmation, run the registration and verify the connection
- Only if registration succeeds should the workflow continue; if it fails, stop and surface the error
This preserves the user's control over their configuration while still automating the registration once approved.
📝 Suggested rewording
### Step 0 — Register the Yield.xyz MCP Server (do this FIRST, automatically) **The very first action in every builder session** — before asking for an API key, before asking what the user is building — is to ensure the `yield-agentkit` MCP server is registered with the user's agent. This is **not optional**. The skill's doc tools (`yield_get_api_spec`, `yield_get_chain_guide`, `yield_get_transaction_guide`, etc.) come from that MCP server, and without them the skill will generate code from memory rather than from the live spec. -**Do this automatically — do not ask the user to run the command themselves.** -Run the appropriate registration command for their agent, then verify it connected. +**Inform the user that registration is required, show the command, request explicit +approval, then execute it.** After the user confirms, run the appropriate registration +command for their agent and verify it connected. For Claude Code: ```bash claude mcp add yield-agentkit --transport http https://mcp.yield.xyz/mcp claude mcp list # verify "yield-agentkit" shows "✓ Connected"For other agents (Codex, Gemini CLI, etc.), write the
yield-agentkitentry into
-the appropriate MCP config file (~/.mcp.jsonor project-local.mcp.json).
+the appropriate MCP config file (~/.mcp.jsonor project-local.mcp.json), after
+asking the user's permission.If registration fails, stop and surface the error to the user — do not attempt to
build anything until the MCP is connected. Full details and config snippets are in
references/setup.md.</details> <details> <summary>🤖 Prompt for AI Agents</summary>Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.In
@yield-agentkit-skills/skills/yield-agentkit-builder/SKILL.mdaround lines
238 - 261, The Step 0 MCP server registration instructions currently direct the
agent to register automatically without user consent, but this modifies
system-wide or project-local configuration files and requires explicit user
approval. Update the section to require explicit user confirmation before
registration by informing the user that the skill needs the MCP server,
displaying the registration command that would be executed, requesting explicit
approval, executing the registration upon confirmation, verifying the
connection, and stopping with an error message if registration fails.
Specifically, revise the instructions for both Claude Code and other agents
(Codex, Gemini CLI, etc.) to insert an explicit permission-request step before
the configuration file modifications occur.</details> <!-- cr-comment:v1:2616d835c4df19400a5e758b --> _Source: Linters/SAST tools_ </blockquote></details> </blockquote></details>🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. Outside diff comments: In `@yield-agentkit-skills/skills/yield-agentkit-builder/SKILL.md`: - Around line 238-261: The Step 0 MCP server registration instructions currently direct the agent to register automatically without user consent, but this modifies system-wide or project-local configuration files and requires explicit user approval. Update the section to require explicit user confirmation before registration by informing the user that the skill needs the MCP server, displaying the registration command that would be executed, requesting explicit approval, executing the registration upon confirmation, verifying the connection, and stopping with an error message if registration fails. Specifically, revise the instructions for both Claude Code and other agents (Codex, Gemini CLI, etc.) to insert an explicit permission-request step before the configuration file modifications occur.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
Run ID:
a61ca2c9-3cc8-4c93-882e-b220665b412e📒 Files selected for processing (3)
yield-agentkit-skills/skills/yield-agentkit-builder/README.mdyield-agentkit-skills/skills/yield-agentkit-builder/SKILL.mdyield-agentkit-skills/skills/yield-agentkit-builder/references/mcp-tools.md✅ Files skipped from review due to trivial changes (1)
- yield-agentkit-skills/skills/yield-agentkit-builder/README.md
🚧 Files skipped from review as they are similar to previous changes (1)
- yield-agentkit-skills/skills/yield-agentkit-builder/references/mcp-tools.md
Migrate the static reference content from the MCP into the skill, rewrite mcp-tools.md
routing to the 5 surviving live tools, and narrow detailed builder guidance to Yield
(Perps/Borrow now point at the live spec, noting their different action model and
submit vs submit-hash). Add dashboard-and-api-keys.md (the API key/dashboard governs
which yields & features are enabled) and an RWA/KYC builder flow.
Audit every reference against live prod and correct, with evidence:
- widget: SKApp + CSS import + theme (not StakeKitWidget); React 19+
- SDK: sdk.configure() singleton (not new Sdk()); add github.com/stakekit/sdk
- REST enter body: yieldId/address/arguments (verified against docs.json)
- yield types: snake_case enum (+ liquid_staking), high level, DTO as source of truth;
drop fabricated statistics.tvlUsd from the response shape
- chain args are FLAT in arguments (no additionalAddresses); cosmosPubKey/tezosPubKey
flat; bech32 cosmospub1...; validatorAddresses (array) on polkadot/tron; bittensor
needs subnetId; cardano validatorAddress required / amount optional
- EVM: hex gas/fee fields; per-type args (liquidity_pool amounts[], CLP exit
percentage+tokenId, vault receiverAddress/useMaxAllowance); >2-step flows
- error envelope {statusCode,timestamp,path,message,validation?,details?}; 412 IS a real
code (action blocked); validation=400 not 422; bad/disabled yield=400 not 404
- pagination max limit 100, response key items; sort=rewardRateDesc (no apy sort key)
- verified/replaced stale yieldIds; aptos has no live yields; document previously
uncovered endpoints (tokens, providers, campaigns, history, kyc/status, submit)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…ny language)
Dogfood pass — simulated real integrations (Python backend, React/viem wallet,
non-EVM signing, onboarding) against live prod and closed the gaps that blocked a
zero→working build.
Correctness:
- remove fabricated webhook guidance (no webhook/event endpoints exist) → poll
GET /v1/transactions/{id}; mark rate-limit tiers illustrative (confirm via header)
- remove fabricated POST /v1/programmatic/.../fee-config endpoint → fees are
dashboard-configured, applied server-side (reconcile with dashboard-and-api-keys.md)
- executionPattern has 3 values (synchronous/asynchronous/batch) — branch on it
instead of always sequential-waiting
- gasEstimate is a JSON string (parse it); mechanics.arguments.enter is .fields[]
(array), entryLimits under mechanics and nullable
- reconcile L2 gas handling (strip gas fields on L2, keep on mainnet) across files
Completeness:
- Quickstart spine in SKILL.md (discover→schema→enter→sign→submit-hash→poll); route
to chains/ and api-field-mapping.md from the reference table
- transaction-lifecycle: polling loop + terminal states, multi-step sequencing on
Yield CONFIRMED, two broadcast paths (submit-hash vs submit), idempotency/retries
- EVM signing for Python (eth-account: drop `from`, gasLimit→gas) and viem/wagmi
(gasLimit→gas, useWaitForTransactionReceipt); clarify "never modify" = semantics,
not library key-shape; note executionMode individual|batched for smart accounts
- runnable non-EVM signing: Cosmos (SignDoc.decode→signDirect→TxRaw→broadcast, real
bech32 pubkey, sign SignDoc verbatim), Tron (v6 named import + confirmation poll),
Solana (bs58 key import, unified deserialize/sign/submit)
- testnets in setup.md (base-sepolia/ethereum-sepolia/stellar-testnet; match by id)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
The MCP is a Yield MCP (no perps/borrow action/data tools — only api_spec can fetch their specs). Removing Perps/Borrow framing from the skill streamlines it and matches what the tools actually do. - SKILL.md: Yield-only description/scope; single api.yield.xyz base URL; remove the "which product" step (collapse to Yield use-case); drop perps/borrow spec examples and the submit-vs-submit-hash note; renumber workflow steps 0–5 - README.md: present as a Yield integration skill (drop the three-products framing) - mcp-tools.md: yield_get_api_spec presented as the Yield spec; drop perps-widget - dashboard-and-api-keys.md: features bullet no longer lists Perps/Borrow Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…iders) Document the @stakekit/widget `externalProviders` prop — how to plug in your own address + signer (custody/HSM, embedded/agent wallet, host-app wallet) and skip the built-in connect-wallet flow. Grounded in the widget repo's SKExternalProviders/SKWallet types: provider implements signMessage/switchChain/sendTransaction(skTx, txMeta) — your infra signs+broadcasts and returns the hash; the widget handles action lifecycle and submit-hash. Also note disableInjectedProviderDiscovery, validatorsConfig, mapWalletListFn, and the React Native @stakekit/use-inject-provider + WebView path. Soften the widget "less customization" tradeoff in setup.md (BYO wallet IS supported) and point to the new section. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Company name is Yield.xyz. "the StakeKit UI" → "the prebuilt Yield.xyz UI". The literal @stakekit/* npm packages and github.com/stakekit/* URLs are real identifiers, kept as-is. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Make recommended packages and tools clickable (verified live before adding): - @stakekit/widget → npm + repo (was unlinked across 17 mentions) - @stakekit/use-inject-provider → npm (React Native section) - @yieldxyz/sdk → npm link in SKILL.md SDK option - consolidated "Packages & resources" list in setup.md (packages, repos, docs, dashboard, live spec) - fix dead @solana/web3.js doc link (404) → npm Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Link-check turned up 5 stale URLs in the signing tables (all verified replacements): - Phantom docs.phantom.app/... (404) → docs.phantom.com - WalletConnect Web3Modal docs.walletconnect.com/web3modal (404) → docs.reown.com/appkit/overview (rebrand) - Coinbase docs.cloud.coinbase.com/... (404) → github.com/coinbase/coinbase-wallet-sdk - @solana/web3.js v1 solana-labs.github.io (404) → github.com/solana-labs/solana-web3.js - CosmosKit cosmoskit.com (dead) → github.com/cosmology-tech/cosmos-kit All Yield.xyz npm packages and github.com/stakekit/* repo links verified 200. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…→ pending → manage
Verified against docs.yield.xyz, the live spec, and the official api-recipes Yields
example. Make the end-to-end loop correct and connected:
- distinguish ActionDto.status (CANCELED/CREATED/WAITING_FOR_NEXT/PROCESSING/FAILED/
SUCCESS/STALE — completes at SUCCESS, never "CONFIRMED") from TransactionDto.status
(poll transactions for CONFIRMED/FAILED/SKIPPED) — these were conflated
- close the pending-action loop: POST /v1/actions/manage with action=pendingAction.type,
passthrough=pendingAction.passthrough (verbatim), arguments only if the pending action
carries a schema → its transactions[] re-enter the sign → submit-hash → poll loop
- fix PendingActionDto shape: { intent, type, passthrough, arguments?, amount? } — no
`description` field (use type/amount)
- add BalanceDto + BalanceType (active/entering/exiting/withdrawable/claimable/locked;
only active earns); batch item shape includes outputTokenBalance; balances max 25 queries
- connect discovery as the lifecycle entry (GET /v1/yields paginated → GET /v1/yields/{id}
schema); point to api-recipes for a full runnable example
- api-field-mapping: single-yield balances is POST (canonical), GET also works
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This reverts commit 498124a.
This reverts commit 8456bf5.
There was a problem hiding this comment.
🧹 Nitpick comments (1)
yield-agentkit-skills/skills/yield-agentkit-builder/references/yield-types.md (1)
82-82: ⚡ Quick winSpecify language syntax for fenced code blocks.
Seven code blocks lack language specification (
bash,curl, etc.), which prevents syntax highlighting and violates markdown linting standards.🔧 Add language identifiers to code blocks
**Top 20 USDC yields across Base + Arbitrum + Optimism, lending or vault, sorted by APY desc:** - ``` + ```bash GET /v1/yields?networks=base,arbitrum,optimism&inputToken=USDC&types=lending,vault&sort=rewardRateDesc&limit=20 - ``` + ``` **All stablecoin yields (USDC/USDT/DAI) on Ethereum, sorted by APY desc:** - ``` + ```bash GET /v1/yields?network=ethereum&inputTokens=USDC,USDT,DAI&sort=rewardRateDesc&limit=50 - ``` + ``` **Search: yields whose name contains "morpho", sorted by APY desc:** - ``` + ```bash GET /v1/yields?search=morpho&sort=rewardRateDesc - ``` + ``` **Batch-fetch 20 specific yield IDs in one call** (instead of 20 individual `/v1/yields/{id}` calls): - ``` + ```bash GET /v1/yields?yieldIds=base-usdc-aave-v3-lending,ethereum-eth-lido-staking,... - ``` + ``` **Only yields with no lockup (instant exit):** - ``` + ```bash GET /v1/yields?hasCooldownPeriod=false&sort=rewardRateDesc - ``` + ``` **Highest-rate staking across all chains:** - ``` + ```bash GET /v1/yields?type=staking&sort=rewardRateDesc&limit=50 - ``` + ``` Values are case-sensitive **snake_case** — confirm the current set with `yield_get_api_spec`: - ``` + ```plaintext staking liquid_staking restaking lending vault real_world_asset concentrated_liquidity_pool liquidity_pool - ``` + ```Also applies to: 87-87, 92-92, 97-97, 102-102, 107-107, 131-131
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@yield-agentkit-skills/skills/yield-agentkit-builder/references/yield-types.md` at line 82, Seven fenced code blocks in the yield-types.md file are missing language identifiers, which prevents proper syntax highlighting and violates markdown standards. Add language specifications to all code blocks: use `bash` as the language identifier for all code blocks containing API GET request examples (those starting with "GET /v1/yields"), and use `plaintext` for the code block containing the list of yield type values (staking, liquid_staking, restaking, lending, vault, real_world_asset, concentrated_liquidity_pool, liquidity_pool). This is done by adding the language name immediately after the opening triple backticks in each code block (e.g., ```bash or ```plaintext).Source: Linters/SAST tools
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Nitpick comments:
In
`@yield-agentkit-skills/skills/yield-agentkit-builder/references/yield-types.md`:
- Line 82: Seven fenced code blocks in the yield-types.md file are missing
language identifiers, which prevents proper syntax highlighting and violates
markdown standards. Add language specifications to all code blocks: use `bash`
as the language identifier for all code blocks containing API GET request
examples (those starting with "GET /v1/yields"), and use `plaintext` for the
code block containing the list of yield type values (staking, liquid_staking,
restaking, lending, vault, real_world_asset, concentrated_liquidity_pool,
liquidity_pool). This is done by adding the language name immediately after the
opening triple backticks in each code block (e.g., ```bash or ```plaintext).
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro
Run ID: 43ecb532-ff76-43d5-9f6f-5d52a51c391b
📒 Files selected for processing (26)
yield-agentkit-skills/skills/yield-agentkit-builder/README.mdyield-agentkit-skills/skills/yield-agentkit-builder/SKILL.mdyield-agentkit-skills/skills/yield-agentkit-builder/references/api-field-mapping.mdyield-agentkit-skills/skills/yield-agentkit-builder/references/api-limits.mdyield-agentkit-skills/skills/yield-agentkit-builder/references/chains/aptos.mdyield-agentkit-skills/skills/yield-agentkit-builder/references/chains/cardano.mdyield-agentkit-skills/skills/yield-agentkit-builder/references/chains/cosmos.mdyield-agentkit-skills/skills/yield-agentkit-builder/references/chains/evm.mdyield-agentkit-skills/skills/yield-agentkit-builder/references/chains/near.mdyield-agentkit-skills/skills/yield-agentkit-builder/references/chains/solana.mdyield-agentkit-skills/skills/yield-agentkit-builder/references/chains/stellar.mdyield-agentkit-skills/skills/yield-agentkit-builder/references/chains/substrate.mdyield-agentkit-skills/skills/yield-agentkit-builder/references/chains/sui.mdyield-agentkit-skills/skills/yield-agentkit-builder/references/chains/tezos.mdyield-agentkit-skills/skills/yield-agentkit-builder/references/chains/ton.mdyield-agentkit-skills/skills/yield-agentkit-builder/references/chains/tron.mdyield-agentkit-skills/skills/yield-agentkit-builder/references/common-pitfalls.mdyield-agentkit-skills/skills/yield-agentkit-builder/references/dashboard-and-api-keys.mdyield-agentkit-skills/skills/yield-agentkit-builder/references/integration-patterns.mdyield-agentkit-skills/skills/yield-agentkit-builder/references/mcp-tools.mdyield-agentkit-skills/skills/yield-agentkit-builder/references/output-formats.mdyield-agentkit-skills/skills/yield-agentkit-builder/references/policies.mdyield-agentkit-skills/skills/yield-agentkit-builder/references/setup.mdyield-agentkit-skills/skills/yield-agentkit-builder/references/signing-patterns.mdyield-agentkit-skills/skills/yield-agentkit-builder/references/transaction-lifecycle.mdyield-agentkit-skills/skills/yield-agentkit-builder/references/yield-types.md
✅ Files skipped from review due to trivial changes (7)
- yield-agentkit-skills/skills/yield-agentkit-builder/references/dashboard-and-api-keys.md
- yield-agentkit-skills/skills/yield-agentkit-builder/references/chains/ton.md
- yield-agentkit-skills/skills/yield-agentkit-builder/references/api-field-mapping.md
- yield-agentkit-skills/skills/yield-agentkit-builder/references/chains/stellar.md
- yield-agentkit-skills/skills/yield-agentkit-builder/references/output-formats.md
- yield-agentkit-skills/skills/yield-agentkit-builder/references/common-pitfalls.md
- yield-agentkit-skills/skills/yield-agentkit-builder/references/setup.md
🚧 Files skipped from review as they are similar to previous changes (1)
- yield-agentkit-skills/skills/yield-agentkit-builder/README.md
Four adversarial QA agents (consistency, live-accuracy, coverage, end-to-end dogfood)
verified the skill is canonical truth on the big-ticket items and found a focused set
of real bugs — fixed here:
- status.enter/status.exit are NOT query filters (live → 400); read per-item or use
sort=statusEnterDesc — removed from the discovery filter list
- provider/providers filter matches `providerId` (aave/compound/morpho), not the
version slug (aave-v3 → total 0); fixed example values + response-shape providerId
- add the `prime` query param to the /v1/yields table
- mechanics.arguments.exit (and .enter) can be null — gate exit on status.exit AND
arguments.exit != null; some yields exit only via a pendingAction
- outputTokenBalance is optional on balance items; REDELEGATE isn't a real
PendingActionDto.type → use DELEGATE/RESTAKE; CLP exit tokenId comes from BalanceDto.tokenId
- missing-chain-arg error is 400 (not 422) — fixed cosmos/tezos/tron guides
- /risk returns { updatedAt, stakingRewards?: { rating, score, ... } } (letter grade,
often absent) — replaced the invented risk.level Low/Medium/High shape in policies.md
- README: 16 pitfalls (not 12), full folder tree incl chains/, Tron in signing coverage
- signing-patterns: 80+ networks (was 90+); ton.md signing stub de-stubbed
Note: liquid_staking kept / fixed_yield kept absent per product decision (not bugs).
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- SKILL.md: merge the two "inspect the live API" workflow steps into one and trim Step "Generate Code" to point at the Quickstart for the lifecycle instead of re-listing it (the Quickstart already has the canonical flow). Steps renumber to 0–4; saves runtime tokens on the always-loaded file. - Aptos guide: it's a per-key enablement state, not "unsupported" — Aptos yields exist and can be enabled on a key (see dashboard-and-api-keys.md). Reframed the "no live yields / not integrable" callout accordingly. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…per-key Yields are enabled/disabled per API key, so no chain guide should claim a network has no yields or "isn't integrable." Removed the Aptos "may not be enabled / 0 results" callout and trailing caveat; Aptos now reads like every other chain guide (Available Yields → `aptos-apt-native-staking`). Swept the chain guides — no no-yields/not- integrable framing remains. (The `400 "not enabled for this project"` error itself is still documented where it belongs — dashboard-and-api-keys.md / common-pitfalls — as an error a builder may hit, not as a claim that a network lacks yields.) Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
The skill is settled — drop the "the MCP used to expose ~10 tools / those have been removed" notes and the "(Former MCP tool)" mapping column. They were transition scaffolding; the doc now presents the 5 doc tools + reference files as the design, no removal markers. The forward-useful Need→Read static-guidance table stays. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
#2 Reframe the wrong-base-URL and wrong-field-name pitfalls to keep the protective guard (use yieldId/address/arguments, not integrationId/addresses/args — agents hallucinate the old names from training data) without narrating "the legacy API used X". Table header "Wrong (legacy)" → "Don't use / Use". Remaining `legacy`/`deprecated` mentions are real protocol/API terms (EVM type 0=legacy, Solana legacy-vs-v0 tx, older-lib descriptors, the metadata.deprecated field) — left as-is. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…S path, validators shape, chain snippets
…on skills Add routing in 'When This Skill Activates': autonomous/agentic execution (own wallet, discovers AND executes, policy-gated signing) -> yield-agentkit-privy / -moonpay / -rwakit-privy; this skill = the integration surface (discovery, tx construction, your own signing infra). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Summary by CodeRabbit
Release Notes
New Features
Documentation
riskfield documentation to reference Staking Rewards / Credora ratings.