Add Yield Agent Kit Plugin, Skills, and MoonPay Skills#2
Conversation
…fic to tvl sorting in get_all_yields
…dle RLP transaction signing
…ing output to user
|
@coderabbitai review |
✅ Actions performedReview triggered.
|
|
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:
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Run ID: ⛔ Files ignored due to path filters (1)
📒 Files selected for processing (1)
✅ Files skipped from review due to trivial changes (1)
📝 WalkthroughWalkthroughRenames plugin and MCP identifiers to AgentKit, replaces marketplace/source paths, removes legacy yield-xyz package, and adds two new Claude Code skills (yield-agentkit and yield-agentkit-moonpay) with extensive SKILL specs, references, output formats, policies, and setup guides. Changes
Sequence Diagram(s)sequenceDiagram
rect rgba(66,135,245,0.5)
participant User
end
rect rgba(0,180,24,0.5)
participant Claude
end
rect rgba(245,166,35,0.5)
participant YieldMCP
end
rect rgba(200,60,120,0.5)
participant MoonPayMCP
end
rect rgba(120,120,120,0.5)
participant Blockchain
end
User->>Claude: Request find & enter yield
Claude->>YieldMCP: yields_get_all / yields_get / actions_enter
YieldMCP-->>Claude: yield details + unsignedTransaction(s)
Claude->>User: Show pre-action checklist & confirm
User->>Claude: Confirm & request signing
Claude->>MoonPayMCP: transaction_sign (pass unsignedTransaction)
MoonPayMCP-->>Claude: signedTx / base64 signature
Claude->>MoonPayMCP: transaction_send
MoonPayMCP-->>Blockchain: broadcast tx
Blockchain-->>MoonPayMCP: txHash / CONFIRMED events
MoonPayMCP-->>Claude: txHash / confirmation
Claude->>YieldMCP: submit txHash (actions callback)
YieldMCP-->>Claude: updated position/status
Claude->>User: Final status / explorer link
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~25 minutes Poem
🚥 Pre-merge checks | ✅ 3✅ Passed checks (3 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: 15
🧹 Nitpick comments (2)
yield-agentkit-skills/skills/yield-agentkit-moonpay/references/key-rules.md (1)
25-27: Rule numbering skips from 5 to 7 across section boundaries.The Yield.xyz section ends at rule 5, then the MoonPay section starts at rule 7, skipping rule 6. Consider either restarting numbering at 1 for each section or adding the missing rule 6.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@yield-agentkit-skills/skills/yield-agentkit-moonpay/references/key-rules.md` around lines 25 - 27, The MoonPay rules section heading "## MoonPay rules" contains a numbered list that jumps from rule 5 to "7. **Get wallet address first.** Call `wallet_list`...", so fix the numbering by either restarting the list numbering at 1 under the MoonPay section (change "7." to "1.") or add the missing rule 6 (insert the intended sixth rule before the current "7."), ensuring the list under "## MoonPay rules" is consecutively numbered and consistent with the Yield.xyz section.yield-agentkit-skills/skills/yield-agentkit-moonpay/references/setup.md (1)
9-11: Consider adding language identifiers to fenced code blocks.Multiple fenced code blocks throughout the file lack language specifiers (lines 11, 44, 68, 76, 79, 99, 105, 117, 120, 123, 126, 129), which causes markdown linters to flag warnings. While blocks showing example output may remain unmarked, blocks with conditional text or bash commands would benefit from
bashortextidentifiers for clarity.🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@yield-agentkit-skills/skills/yield-agentkit-moonpay/references/setup.md` around lines 9 - 11, Several fenced code blocks in setup.md (notably the block showing the command `claude mcp list` and other blocks containing shell commands or conditional output) lack language identifiers; update each non-output block to include an appropriate language tag (e.g., bash for shell commands, text for conditional/plain output) so markdown linters stop flagging warnings, ensuring you add the tag to the fenced blocks that contain commands or conditional text rather than to example output blocks.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@README.md`:
- Line 6: Update the version badge link in README.md so it points to the correct
repository name: replace the GitHub URL reference from "yield-xyz/agentkit" to
"stakekit/agentkit" (the badge image alt/text can remain the same) so the
markdown link target matches the repository used elsewhere in the PR.
- Around line 28-30: The fenced code block containing the shell command "npx
skills add https://github.com/stakekit/agentkit" is missing a language
identifier; update the opening fence of that block to include the shell language
(e.g., change ``` to ```bash) so syntax highlighting is applied and the snippet
reads as a bash command.
In `@yield-agentkit-plugin/README.md`:
- Line 4: Update the version badge link so it matches the canonical repository
used elsewhere (stakekit/agentkit); specifically, replace the current badge URL
target (yield-xyz/agentkit) in the README badge line with stakekit/agentkit so
it is consistent with the marketplace command and the GitHub link elsewhere in
the file (the version badge markdown and the existing marketplace/GitHub link
references).
In `@yield-agentkit-plugin/yield-agentkit/references/output-formats.md`:
- Line 29: The doc's default contradicts the API policy by instructing agents to
call yields_get_all with limit: 50; update the wording to use limit: 20 as the
default (reserve limit: 50 only for explicit comparison/exploration cases) and
clarify that sorting by rewardRate.total descending and showing top 10 remains
unchanged; reference the yields_get_all call and rewardRate.total so readers can
find the relevant usage to change.
In `@yield-agentkit-plugin/yield-agentkit/SKILL.md`:
- Around line 83-91: Update the Skills SKILL.md to match the Plugin SKILL.md
display and selection rules: change the default limit from `limit: 10` to
`limit: 20`, add the full "Display & selection rules" block (including sort
order: preferred validators first then APR descending, table columns: Validator,
Commission, APR, TVL, Voting Power, flagging `preferred: true` with a
✓/"Curated" label, warning for 0% commission, recommending the top preferred
validator by APR when none specified, and the rule "Never pick a validator
autonomously without confirming with the user first"). Ensure wording and
ordering mirror the plugin variant so both SKILL.md files are consistent.
In `@yield-agentkit-skills/README.md`:
- Around line 35-37: The fenced code block in README.md with the npx skills
command lacks a language identifier; update the opening fence to include "bash"
(i.e., change the ``` to ```bash) so the shell command `npx skills add
https://github.com/stakekit/agentkit` has proper syntax highlighting and
accessibility.
In
`@yield-agentkit-skills/skills/yield-agentkit-moonpay/references/moonpay-tools.md`:
- Around line 23-35: The docs currently conflate transaction_sign and
transaction_send outputs; update the MoonPay tool docs to show distinct
contracts: document that transaction_sign takes the Yield.xyz
unsignedTransaction and returns a signed transaction payload (base64-encoded,
e.g. `signedTransaction` or `signedPayload`), and document that transaction_send
takes that base64 signed payload as input and returns `{ txHash: "0x..." }`;
reference the tool names `transaction_sign` and `transaction_send` in the text
so callers use the signed payload output from `transaction_sign` as the input to
`transaction_send`.
In
`@yield-agentkit-skills/skills/yield-agentkit-moonpay/references/output-formats.md`:
- Line 29: The documentation line that instructs agents to call yields_get_all
with "limit: 50" conflicts with the policy in references/policies.md (limit=20
default, 50 only for comparisons); update the sentence to specify the default
call uses limit: 20 and note that limit: 50 should be used only for explicit
comparison or broad-exploration queries, and adjust the guidance about
client-side sorting by rewardRate.total descending to reflect the smaller
default window (e.g., "show top 10 of the returned set" or similar) so examples
and expectations align with yields_get_all's allowed defaults.
In `@yield-agentkit-skills/skills/yield-agentkit-moonpay/SKILL.md`:
- Line 119: Typo in SKILL.md: change the word "tranasction" to "transaction" in
the sentence "Use this script — keep it in memory and reuse for every
transaction that includes getting unsigned tranasction from yield.xyz and
signing via moonpay" so the line reads "...getting unsigned transaction from
yield.xyz...". Update the single occurrence of "tranasction" in the SKILL.md
content to the correct spelling "transaction".
- Around line 76-83: Update the default `limit` for the `yields_get_all` output
specification in references/output-formats.md from 50 to 20 so it matches the
policy and SKILL.md; keep a short note that `limit: 50` is only allowed for
broader exploration queries per the policies document, and ensure the
`yields_get_all` example and any related JSON/schema examples (the
`yields_get_all` entry) reflect `limit: 20`.
In `@yield-agentkit-skills/skills/yield-agentkit/README.md`:
- Line 3: The version badge in README.md currently links to the wrong GitHub
repo (yield-xyz/agentkit); update the badge URL target to use stakekit/agentkit
so it matches other marketplace and repo links—modify the badge markdown line
(the [](...) entry) to point to
https://github.com/stakekit/agentkit ensuring the visible badge remains
unchanged but the href is corrected.
- Line 127: Update the folder structure diagram entry in README.md: replace the
incorrect filename token "key_rules.md" with the actual filename "key-rules.md"
so it matches the repository files (e.g., consistent with "output-formats.md"
and "policies.md"); locate the string "key_rules.md" in the README content and
change it to "key-rules.md".
In `@yield-agentkit-skills/skills/yield-agentkit/references/setup.md`:
- Around line 34-36: The fenced code block containing the line "Find the best
USDC yields on Base" is missing a language identifier causing MD040; fix it by
changing the opening fence to include a language token (for example use ```text)
so the block becomes a fenced code block with a language identifier; update the
fence that surrounds the "Find the best USDC yields on Base" line accordingly.
In `@yield-agentkit-skills/skills/yield-agentkit/SKILL.md`:
- Around line 101-107: The "Selection rules" section in
yield-agentkit-skills/skills/yield-agentkit/SKILL.md is less detailed than the
plugin variant; update this section (the "Selection rules" block and references
to `limit: 10`) to match the plugin's guidance by adding the missing display
guidance (explicit table columns to show, sorting order by APR, how to display
curator/incentive and `preferred: true` flags), and ensure the behavior rules
(warn on 0% commission, recommend top preferred validator by APR, and explicit
user-confirmation requirement) are consistent across both SKILL.md variants so
operators get the same instructions.
- Around line 156-165: Add a missing section heading for the actions_manage
tool: insert a heading consistent with the other tool sections (e.g., "###
<number>. actions_manage" or simply "### actions_manage") immediately above the
existing "**Key parameters:**" block in SKILL.md so the tool section follows the
same structure and navigation as other tools; ensure the heading text exactly
matches the tool name "actions_manage" to keep consistency with other section
headings in the document.
---
Nitpick comments:
In `@yield-agentkit-skills/skills/yield-agentkit-moonpay/references/key-rules.md`:
- Around line 25-27: The MoonPay rules section heading "## MoonPay rules"
contains a numbered list that jumps from rule 5 to "7. **Get wallet address
first.** Call `wallet_list`...", so fix the numbering by either restarting the
list numbering at 1 under the MoonPay section (change "7." to "1.") or add the
missing rule 6 (insert the intended sixth rule before the current "7."),
ensuring the list under "## MoonPay rules" is consecutively numbered and
consistent with the Yield.xyz section.
In `@yield-agentkit-skills/skills/yield-agentkit-moonpay/references/setup.md`:
- Around line 9-11: Several fenced code blocks in setup.md (notably the block
showing the command `claude mcp list` and other blocks containing shell commands
or conditional output) lack language identifiers; update each non-output block
to include an appropriate language tag (e.g., bash for shell commands, text for
conditional/plain output) so markdown linters stop flagging warnings, ensuring
you add the tag to the fenced blocks that contain commands or conditional text
rather than to example output blocks.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
Run ID: b7df61d1-11c5-44f5-bcf1-6c57143b040d
⛔ Files ignored due to path filters (2)
.DS_Storeis excluded by!**/.DS_Storeassets/yield-agentkit-banner.pngis excluded by!**/*.png
📒 Files selected for processing (26)
.claude-plugin/marketplace.jsonREADME.mdyield-agentkit-plugin/.claude-plugin/plugin.jsonyield-agentkit-plugin/.mcp.jsonyield-agentkit-plugin/README.mdyield-agentkit-plugin/yield-agentkit/SKILL.mdyield-agentkit-plugin/yield-agentkit/references/key-rules.mdyield-agentkit-plugin/yield-agentkit/references/output-formats.mdyield-agentkit-plugin/yield-agentkit/references/policies.mdyield-agentkit-skills/README.mdyield-agentkit-skills/skills/yield-agentkit-moonpay/README.mdyield-agentkit-skills/skills/yield-agentkit-moonpay/SKILL.mdyield-agentkit-skills/skills/yield-agentkit-moonpay/references/input-format.mdyield-agentkit-skills/skills/yield-agentkit-moonpay/references/key-rules.mdyield-agentkit-skills/skills/yield-agentkit-moonpay/references/moonpay-tools.mdyield-agentkit-skills/skills/yield-agentkit-moonpay/references/output-formats.mdyield-agentkit-skills/skills/yield-agentkit-moonpay/references/policies.mdyield-agentkit-skills/skills/yield-agentkit-moonpay/references/setup.mdyield-agentkit-skills/skills/yield-agentkit/README.mdyield-agentkit-skills/skills/yield-agentkit/SKILL.mdyield-agentkit-skills/skills/yield-agentkit/references/key-rules.mdyield-agentkit-skills/skills/yield-agentkit/references/output-formats.mdyield-agentkit-skills/skills/yield-agentkit/references/policies.mdyield-agentkit-skills/skills/yield-agentkit/references/setup.mdyield-xyz-plugin/package.jsonyield-xyz-plugin/skills/yield-xyz-agent/SKILL.md
💤 Files with no reviewable changes (2)
- yield-xyz-plugin/skills/yield-xyz-agent/SKILL.md
- yield-xyz-plugin/package.json
| ```bash | ||
| npx skills add https://github.com/stakekit/agentkit | ||
| ``` |
There was a problem hiding this comment.
Add language identifier to shell code block.
The code block contains a shell command but lacks a language specifier.
🎨 Proposed fix
-```
+```bash
npx skills add https://github.com/stakekit/agentkit</details>
<details>
<summary>🧰 Tools</summary>
<details>
<summary>🪛 markdownlint-cli2 (0.21.0)</summary>
[warning] 30-30: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
</details>
</details>
<details>
<summary>🤖 Prompt for AI Agents</summary>
Verify each finding against the current code and only fix it if needed.
In @README.md around lines 28 - 30, The fenced code block containing the shell
command "npx skills add https://github.com/stakekit/agentkit" is missing a
language identifier; update the opening fence of that block to include the shell
language (e.g., change tobash) so syntax highlighting is applied and the
snippet reads as a bash command.
</details>
<!-- fingerprinting:phantom:triton:puma -->
<!-- This is an auto-generated comment by CodeRabbit -->
There was a problem hiding this comment.
Actionable comments posted: 4
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (1)
yield-agentkit-plugin/README.md (1)
20-25:⚠️ Potential issue | 🟡 MinorCorrect the marketplace reference in the install command to match the marketplace identifier.
The marketplace is added as
stakekit/agentkit(line 20), but the installation command on line 25 only references@agentkit. According to Claude Code plugin documentation, the marketplace reference must match exactly between add and install commands. The install command should be/plugin install yield_agentkit_agent@stakekit/agentkit.🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@yield-agentkit-plugin/README.md` around lines 20 - 25, The install command's marketplace identifier does not match the one added: the README shows adding the marketplace as "stakekit/agentkit" (the `/plugin marketplace add stakekit/agentkit` line) but the install step uses `/plugin install yield_agentkit_agent@agentkit`; update the install command to use the exact marketplace identifier that was added (i.e., replace the `@agentkit` suffix with `@stakekit/agentkit`) so the `/plugin install yield_agentkit_agent@...` line matches the marketplace add entry.
♻️ Duplicate comments (1)
yield-agentkit-skills/skills/yield-agentkit-moonpay/references/moonpay-tools.md (1)
23-51:⚠️ Potential issue | 🟠 MajorDocument
transaction_signandtransaction_sendas separate contracts with explicit I/O fields.This section still combines both tools and does not explicitly name the output field from
transaction_signthat must be passed intotransaction_send. Please split the contracts (inputs/outputs) per tool to avoid integration mistakes in the sign → send handoff.
Also fix the small typo at Line 43 (Only \from``).🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@yield-agentkit-skills/skills/yield-agentkit-moonpay/references/moonpay-tools.md` around lines 23 - 51, Split this section into two explicit contracts: one for transaction_sign and one for transaction_send, each with clear input/output fields; for transaction_sign list input = unsignedTransaction_base64 (the RLP base64 produced by ethers.Transaction.from(...).unsignedSerialized) and output = signedTransaction (the signed transaction blob, e.g., hex/RLP string returned by MoonPay), and for transaction_send list input = signedTransaction and output = txHash; update the prose to instruct passing transaction_sign.output (signedTransaction) into transaction_send.input and fix the small typo to read "Only `from` must be deleted" with proper spacing.
🧹 Nitpick comments (2)
yield-agentkit-plugin/README.md (1)
8-8: Consider using approximate counts for dynamic metrics.The specific count "2,988 yield opportunities" may require frequent updates as the platform grows. Consider using approximate ranges (e.g., "3,000+ yield opportunities") to reduce documentation maintenance burden.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@yield-agentkit-plugin/README.md` at line 8, The hard-coded metric "2,988 yield opportunities" in the README should be made approximate to avoid frequent updates; replace that exact phrase (search for "2,988 yield opportunities") with an approximate form like "3,000+ yield opportunities" or "nearly 3,000 yield opportunities" and apply the same approximation to any other specific counts in the README to reduce documentation churn.yield-agentkit-skills/skills/yield-agentkit/README.md (1)
36-36: Consider adding language specifiers to fenced code blocks.Static analysis flags several fenced code blocks without language specifiers. While these blocks contain natural language prompts or ASCII diagrams (not code), adding a
textspecifier would satisfy markdown linters and improve consistency.📋 Example fix for user prompt blocks
-``` +```text Set up the yield-agentkit skillApply similar changes to other prompt blocks (lines 57, 63, 73, 76, 79, 82, 99) and the folder structure diagram (line 121). </details> Also applies to: 57-57, 63-63, 73-73, 76-76, 79-79, 82-82, 99-99, 121-121 <details> <summary>🤖 Prompt for AI Agents</summary>Verify each finding against the current code and only fix it if needed.
In
@yield-agentkit-skills/skills/yield-agentkit/README.mdat line 36, Add a
language specifier (use "text") to each fenced code block in the README.md that
currently lacks one—specifically update the prompt/example blocks at the blocks
referenced (lines 36, 57, 63, 73, 76, 79, 82, 99) and the ASCII folder structure
diagram (line 121) so their fences becometext ...; locate these by
searching for triple-backtick fenced blocks in
yield-agentkit-skills/skills/yield-agentkit/README.md and update the fences
around the natural-language prompts and the folder diagram to include the text
specifier.</details> </blockquote></details> </blockquote></details> <details> <summary>🤖 Prompt for all review comments with AI agents</summary>Verify each finding against the current code and only fix it if needed.
Inline comments:
In@yield-agentkit-plugin/README.md:
- Line 71: Update the README reference to the skill file by removing the
incorrect "skills/" prefix: replace "skills/yield-agentkit/SKILL.md" with
"yield-agentkit/SKILL.md" so the README points to the actual file; look for the
string "skills/yield-agentkit/SKILL.md" in the README and update it to
"yield-agentkit/SKILL.md".In
@yield-agentkit-skills/skills/yield-agentkit-moonpay/references/moonpay-tools.md:
- Around line 28-45: Docs conflict about mutating unsignedTransaction: unify
into a single canonical rule that unsignedTransaction must not be altered except
that thefromfield may be removed for serialization; update both
moonpay-tools.md and SKILL.md to state "pass the unsignedTransaction exactly as
received except remove thefromfield only when serializing for MoonPay (do
not change amounts, addresses, gas, nonce, data)" and include the rationale
(ethers requires deletingfrom) plus an explicit failure policy: if
serialization fails, stop and surface an error. Ensure references to
unsignedTransactionand the deletion offromare consistent in both files
and add a short note mentioning the exact serialization step using
ethers.Transaction.from(tx).unsignedSerialized.In
@yield-agentkit-skills/skills/yield-agentkit/SKILL.md:
- Line 56: The markdown on the line containing the link
references/policies.md has mismatched backticks and
bold markers; update the text so the bold emphasis and inline code/backtick
usage are properly balanced (for example, wrap the path in backticks inside the
bold markers likereferences/policies.mdor remove the stray backtick),
ensuring the link or code styling is valid and the sentence reads: "You must
follow the guidelines defined in references/policies.md for API usage, data
fetching, and efficiency." while preserving the link to ./references/policies.md
if intended.- Around line 32-41: SKILL.md currently bans modifying unsignedTransaction
unconditionally; add a short, explicit exception entry that permits removing the
fromfield from anunsignedTransactiononly when required for MoonPay
serialization, explain that this is a narrowly-scoped, technically-mandated
change (ethers throws iffromis present in an unsigned tx) and state it must
not be used to alter amounts/addresses/fees; also add a reciprocal
cross-reference in yield-agentkit-moonpay/references/moonpay-tools.md pointing
to SKILL.md so operators see the exception and its justification.
Outside diff comments:
In@yield-agentkit-plugin/README.md:
- Around line 20-25: The install command's marketplace identifier does not match
the one added: the README shows adding the marketplace as "stakekit/agentkit"
(the/plugin marketplace add stakekit/agentkitline) but the install step uses
/plugin install yield_agentkit_agent@agentkit; update the install command to
use the exact marketplace identifier that was added (i.e., replace the
@agentkitsuffix with@stakekit/agentkit) so the/plugin install yield_agentkit_agent@...line matches the marketplace add entry.
Duplicate comments:
In
@yield-agentkit-skills/skills/yield-agentkit-moonpay/references/moonpay-tools.md:
- Around line 23-51: Split this section into two explicit contracts: one for
transaction_sign and one for transaction_send, each with clear input/output
fields; for transaction_sign list input = unsignedTransaction_base64 (the RLP
base64 produced by ethers.Transaction.from(...).unsignedSerialized) and output =
signedTransaction (the signed transaction blob, e.g., hex/RLP string returned by
MoonPay), and for transaction_send list input = signedTransaction and output =
txHash; update the prose to instruct passing transaction_sign.output
(signedTransaction) into transaction_send.input and fix the small typo to read
"Onlyfrommust be deleted" with proper spacing.
Nitpick comments:
In@yield-agentkit-plugin/README.md:
- Line 8: The hard-coded metric "2,988 yield opportunities" in the README should
be made approximate to avoid frequent updates; replace that exact phrase (search
for "2,988 yield opportunities") with an approximate form like "3,000+ yield
opportunities" or "nearly 3,000 yield opportunities" and apply the same
approximation to any other specific counts in the README to reduce documentation
churn.In
@yield-agentkit-skills/skills/yield-agentkit/README.md:
- Line 36: Add a language specifier (use "text") to each fenced code block in
the README.md that currently lacks one—specifically update the prompt/example
blocks at the blocks referenced (lines 36, 57, 63, 73, 76, 79, 82, 99) and the
ASCII folder structure diagram (line 121) so their fences become ```text ...yield-agentkit-skills/skills/yield-agentkit/README.md and update the fences around the natural-language prompts and the folder diagram to include the text specifier.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
Run ID:
53fa80d4-7644-4341-bb3a-71cc7ebe9daa📒 Files selected for processing (9)
README.mdyield-agentkit-plugin/README.mdyield-agentkit-plugin/yield-agentkit/references/output-formats.mdyield-agentkit-skills/skills/yield-agentkit-moonpay/SKILL.mdyield-agentkit-skills/skills/yield-agentkit-moonpay/references/moonpay-tools.mdyield-agentkit-skills/skills/yield-agentkit-moonpay/references/output-formats.mdyield-agentkit-skills/skills/yield-agentkit/README.mdyield-agentkit-skills/skills/yield-agentkit/SKILL.mdyield-agentkit-skills/skills/yield-agentkit/references/setup.md✅ Files skipped from review due to trivial changes (3)
- yield-agentkit-skills/skills/yield-agentkit/references/setup.md
- yield-agentkit-skills/skills/yield-agentkit-moonpay/SKILL.md
- yield-agentkit-skills/skills/yield-agentkit-moonpay/references/output-formats.md
🚧 Files skipped from review as they are similar to previous changes (2)
- yield-agentkit-plugin/yield-agentkit/references/output-formats.md
- README.md
There was a problem hiding this comment.
Actionable comments posted: 2
♻️ Duplicate comments (1)
yield-agentkit-skills/skills/yield-agentkit/SKILL.md (1)
32-40:⚠️ Potential issue | 🟠 MajorDocument the MoonPay serialization exception to the “never modify tx” rule.
This still reads as absolute, but MoonPay tooling requires removing
frombefore serialization in a narrow case. Add an explicit exception here (and cross-reference MoonPay docs) so operators don’t treat required serialization prep as a policy violation.📝 Suggested doc patch
## ⚠️ CRITICAL: Never Modify Transactions **DO NOT modify `unsignedTransaction` returned by any action tool under any circumstances.** Not addresses, amounts, fees, encoding — nothing. + +**Exception (MoonPay serialization only):** removing only the `from` field is permitted when required to serialize an unsigned tx for MoonPay flow compatibility. This is a narrowly scoped technical requirement and must not be used to alter recipient, amount, calldata, gas, or fees.🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@yield-agentkit-skills/skills/yield-agentkit/SKILL.md` around lines 32 - 40, Update the "Never Modify Transactions" warning to add a narrowly scoped exception for MoonPay serialization: state that you must not modify any field of unsignedTransaction except that, when preparing a transaction specifically for MoonPay serialization, the single required operation is to remove the `from` field (and only that) per MoonPay tooling requirements; add a short cross-reference to the MoonPay docs (link or doc note) and an explicit caution that this is the only permitted change and must not be treated as a general modification of unsignedTransaction. Include the term `unsignedTransaction` and mention "MoonPay serialization" so operators can find the rule and the exception easily.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@yield-agentkit-skills/skills/yield-agentkit/SKILL.md`:
- Line 3: The description in SKILL.md currently hardcodes counts ("2,988" and
"80+"); update the description field to avoid static numbers by either using
non-numeric phrasing (e.g., "thousands of DeFi yield opportunities" and "dozens
of networks") or by marking them as approximate with a snapshot date (e.g.,
"approximately 2,988 opportunities (as of YYYY-MM-DD)" and "80+ networks (as of
YYYY-MM-DD)"); edit the description line in SKILL.md accordingly to replace the
hardcoded counts with one of these patterns.
- Line 68: Update the SKILL.md guidance for the `type` field so it no longer
auto-maps ambiguous user inputs; keep the enum of valid types (`staking`,
`restaking`, `lending`, `vault`, `fixed_yield`, `real_world_asset`,
`concentrated_liquidity_pool`, `liquidity_pool`) as the only accepted values but
change the behavior described for non-exact matches: instead of automatically
mapping (e.g., “earn” → `vault`), require the agent to ask the user for
confirmation or clarification when the input is not an exact enum match; locate
the paragraph referencing `type` and replace the auto-mapping instruction with a
mandatory confirmation instruction and an example of asking the user to confirm
the intended type.
---
Duplicate comments:
In `@yield-agentkit-skills/skills/yield-agentkit/SKILL.md`:
- Around line 32-40: Update the "Never Modify Transactions" warning to add a
narrowly scoped exception for MoonPay serialization: state that you must not
modify any field of unsignedTransaction except that, when preparing a
transaction specifically for MoonPay serialization, the single required
operation is to remove the `from` field (and only that) per MoonPay tooling
requirements; add a short cross-reference to the MoonPay docs (link or doc note)
and an explicit caution that this is the only permitted change and must not be
treated as a general modification of unsignedTransaction. Include the term
`unsignedTransaction` and mention "MoonPay serialization" so operators can find
the rule and the exception easily.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
Run ID: 867ccb1a-dbde-40af-b724-6086091b23d7
📒 Files selected for processing (3)
yield-agentkit-plugin/README.mdyield-agentkit-skills/skills/yield-agentkit-moonpay/SKILL.mdyield-agentkit-skills/skills/yield-agentkit/SKILL.md
✅ Files skipped from review due to trivial changes (1)
- yield-agentkit-skills/skills/yield-agentkit-moonpay/SKILL.md
🚧 Files skipped from review as they are similar to previous changes (1)
- yield-agentkit-plugin/README.md
This PR adds the Yield AgentKit components to the main branch, including:
Yield AgentKit plugin
Yield AgentKit skills
Yield AgentKit moonpay skills
These additions integrate the agent capabilities and extend support for moonpay-specific skills within the Yield AgentKit.
Summary by CodeRabbit
New Features
Chores
Documentation