Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
7ea06e9
feat: add yield-agentkit-builder skill
Ishita-02 Jun 16, 2026
ba702fd
feat: add perps and borrow api specs
Ishita-02 Jun 16, 2026
7e11a63
feat: update mcp tools
Ishita-02 Jun 17, 2026
bdc1e4a
fix: remove exponential.fi occurences
Ishita-02 Jun 17, 2026
fafe674
feat(builder-skill): own static guidance + live-prod accuracy audit
Philippoes Jun 17, 2026
43c8352
feat(builder-skill): close end-to-end integration gaps (any system, a…
Philippoes Jun 17, 2026
ee1a8fa
refactor(builder-skill): make Yield-only, drop Perps/Borrow
Philippoes Jun 17, 2026
e9e494f
docs(builder-skill): widget with your own signing infra (externalProv…
Philippoes Jun 17, 2026
56f25f0
docs(builder-skill): debrand — Yield.xyz UI, not StakeKit
Philippoes Jun 17, 2026
a511924
docs(builder-skill): add npm + GitHub links for packages/tools
Philippoes Jun 17, 2026
498124a
docs(builder-skill): fix dead third-party wallet/lib doc links
Philippoes Jun 17, 2026
4e2eea9
docs(builder-skill): connect the full flow — discover → … → balances …
Philippoes Jun 17, 2026
8456bf5
Revert "docs(builder-skill): fix dead third-party wallet/lib doc links"
Philippoes Jun 17, 2026
e096786
Reapply "docs(builder-skill): fix dead third-party wallet/lib doc links"
Philippoes Jun 17, 2026
d356097
docs(builder-skill): final canonical-truth sweep fixes
Philippoes Jun 17, 2026
70cf69c
refactor(builder-skill): tighten SKILL.md; fix Aptos framing
Philippoes Jun 17, 2026
3cc2bb8
docs(builder-skill): drop "no live yields" framing — availability is …
Philippoes Jun 17, 2026
018670a
docs(builder-skill): remove migration tombstones from mcp-tools.md
Philippoes Jun 17, 2026
248cb6e
docs(builder-skill): drop "legacy API" tombstone framing in pitfalls …
Philippoes Jun 17, 2026
5348c30
fix: fixes
Philippoes Jun 17, 2026
2acf3ee
docs(builder-skill): robustness review — fix build-breaking widget CS…
Philippoes Jun 17, 2026
4f10f65
docs(builder-skill): route 'building an agent' to the agentic-executi…
Philippoes Jun 17, 2026
4e1774b
fix(builder-skill): aptos unsignedTransaction is base64, not hex
Philippoes Jun 17, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
43 changes: 43 additions & 0 deletions yield-agentkit-plugin/.codex-plugin/plugin.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
{
"name": "yield-agentkit-plugin",
"version": "1.0.0",
"description": "Discover and manage on-chain yield opportunities using the Yield.xyz API.",
"author": {
"name": "Yield.xyz",
"url": "https://yield.xyz"
},
"homepage": "https://docs.yield.xyz",
"repository": "https://github.com/stakekit/agentkit",
"license": "MIT",
"keywords": [
"defi",
"yield",
"staking",
"lending",
"web3",
"ethereum",
"solana"
],
"skills": "./yield-agentkit",
"mcpServers": "./.mcp.json",
"interface": {
"displayName": "Yield.xyz AgentKit",
"shortDescription": "Find, compare, enter, exit, and manage DeFi yield positions.",
"longDescription": "Yield.xyz AgentKit connects Codex to the Yield.xyz MCP server for discovering yield opportunities, checking balances, and preparing unsigned transactions for staking, lending, vaults, restaking, and liquidity pools across supported networks.",
"category": "Finance",
"capabilities": [
"Interactive",
"Read",
"Write"
],
"websiteURL": "https://yield.xyz",
"privacyPolicyURL": "https://docs.yield.xyz/docs/privacy-policy",
"termsOfServiceURL": "https://docs.yield.xyz/docs/terms-of-use",
"defaultPrompt": [
"Show me top USDC yields on Base.",
"Compare ETH staking yields on Ethereum.",
"Check my yield balances for this wallet."
],
"brandColor": "#FFC21B"
}
}
2 changes: 1 addition & 1 deletion yield-agentkit-plugin/yield-agentkit/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -164,7 +164,7 @@ Perform a management action on an existing position (claim rewards, restake, cha
| `status` | `{ enter: boolean, exit: boolean }` |
| `mechanics` | Lockup, cooldown, fees, validator requirement, entry limits |
| `statistics` | TVL, unique users |
| `risk` | Exponential.fi / Credora ratings |
| `risk` | Staking Rewards / Credora ratings |
| `metadata` | Name, logo, description, documentation URL |

### `TransactionDto` — a transaction to execute
Expand Down
135 changes: 135 additions & 0 deletions yield-agentkit-skills/skills/yield-agentkit-builder/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,135 @@
# Yield.xyz AgentKit Builder Skill

[![AI Agent Skill](https://img.shields.io/badge/AI%20Agent-Skill-orange)](https://yield.xyz)
[![Version](https://img.shields.io/badge/version-1.0.0-blue)](https://github.com/stakekit/agentkit)

> **Build on Yield.xyz with AI agents.** This skill teaches any MCP-compatible AI agent how to generate production-ready code that integrates with the Yield.xyz APIs — staking, lending, vaults, and RWA across 80+ networks.

What you ship integrates with Yield.xyz through the [`@yieldxyz/sdk`](https://www.npmjs.com/package/@yieldxyz/sdk) or REST calls against `https://api.yield.xyz`. The [Yield.xyz AgentKit MCP server](https://mcp.yield.xyz/mcp) is an optional build-time reference: its doc tools give the agent live access to the OpenAPI spec and public reference repos for grounding field names and schemas while generating code. Nothing in the shipped integration calls the MCP — it is not a runtime dependency.

---

## What it does

Once installed, the agent activates this skill when you ask to build something:

- "Build me a staking dashboard with Next.js"
- "Integrate USDC lending into my app"
- "Generate a backend service that enters yield positions"
- "Set up a neobank with DeFi yield features"
- "How do I sign Yield.xyz transactions with MetaMask?"

It starts by understanding what you're building, then recommends the best
integration option (widget, SDK, or direct REST API) for it. From there it
generates code that calls the Yield.xyz REST API directly, using correct field
names, proper transaction signing, and the full submit-hash lifecycle.

---

## How it differs from other skills

| Skill | Purpose | Output |
|---|---|---|
| `yield-agentkit` | Explore yields conversationally | Tables, summaries, portfolio views |
| `yield-agentkit-moonpay` | Enter yields end-to-end via MoonPay | Signed & broadcast transactions |
| `yield-agentkit-privy` | Enter yields end-to-end via Privy | Signed & broadcast transactions |
| `yield-agentkit-rwakit-privy` | Enter RWA yields end-to-end via Privy | Signed & broadcast transactions |
| **`yield-agentkit-builder`** | **Build apps that integrate Yield.xyz** | **Production-ready code** |

The explore/execute skills use MCP tools directly at runtime. The builder skill is different: it generates code that calls the Yield.xyz SDK or REST API with the user's own API key, and only uses the MCP doc tools as a build-time reference while writing that code.

---

## Requirements

- A Yield.xyz API key (get one at https://yield.xyz) — this is what your shipped
integration uses against `https://api.yield.xyz`
- Optional: an MCP-compatible AI agent (Claude Code, Codex, Gemini CLI, etc.) if you
want the build-time doc tools while generating code

---

## Install

Open your terminal and run the command:

```
npx skills add stakekit/agentkit --skill yield-agentkit-builder
```

Choose `yield-agentkit-builder` skill from the options.

Open your agent and say:

```
Set up the yield-agentkit-builder skill
```

The agent will read `references/setup.md` and:
1. Confirm you have a Yield.xyz API key and can reach `https://api.yield.xyz`
2. Optionally register the Yield.xyz AgentKit MCP for build-time doc lookups (skippable —
the live spec is also available directly at `https://api.yield.xyz/docs.json`)
3. Confirm the skill is loaded and ready

---

## Test it

Once installed, try:

```
Generate a TypeScript function that finds the best USDC yield on Base and deposits 100 USDC
```

```
Build a React component that shows a user's yield portfolio
```

```
How do I handle MetaMask transaction signing with Yield.xyz?
```

The agent grounds field names against the live API spec (via the MCP doc tools if registered, otherwise by fetching `https://api.yield.xyz/docs.json` directly), then generates code that calls `https://api.yield.xyz` through the SDK or REST.

---

## Folder structure

```
yield-agentkit-builder/
├── SKILL.md # Main skill instructions
├── README.md # This file
└── references/
├── setup.md # Prerequisites and API key setup
├── mcp-tools.md # Yield.xyz AgentKit MCP tools reference
├── common-pitfalls.md # Known errors and how to avoid them
├── api-field-mapping.md # How to look up endpoints and schemas from docs.json
├── api-limits.md # Rate limits, pagination, and caching
├── signing-patterns.md # Wallet SDKs and signing guidance per chain
├── transaction-lifecycle.md # Action -> sign -> broadcast -> submit-hash flow
├── integration-patterns.md # Architecture per product type (custody, wallet, neobank, etc.)
├── yield-types.md # Yield types and their argument shapes
├── output-formats.md # Display rules for generated UI code
├── scaffold.md # Greenfield project skeletons
├── dashboard-and-api-keys.md # Dashboard usage and API key management
├── policies.md # Safety rules, pre-execution checks, guardrails
└── chains/ # Per-chain signing guides (EVM, Cosmos, Solana, Tron, TON, …)
```

---

## Key references

| Reference | What's in it |
|---|---|
| `common-pitfalls.md` | 16 real errors/common pitfalls — wrong URLs, field names, gas issues, etc. |
| `signing-patterns.md` | Recommended SDKs for MetaMask, Phantom, WalletConnect, Rainbow, Coinbase, Solana, Cosmos, Tron |
| `integration-patterns.md` | Architecture for custody, wallet, neobank, aggregator, enterprise, mobile |

---

## Related

- [Yield.xyz AgentKit Skill](../yield-agentkit/README.md) — explore yields conversationally
- [Yield.xyz AgentKit MCP Server](https://mcp.yield.xyz/mcp) — optional build-time doc tools
- [Yield.xyz Docs](https://docs.yield.xyz/docs/getting-started) — official documentation
Loading