Tool Design
agentailor/fullstack-langgraph-nextjs-agent
Design and verify tools that AI agents can actually use — for any framework or language (MCP servers, LangChain/LangGraph, function-calling, raw JSON schema; TypeScript, Python, or otherwise).
Walks through building AI agents that run Solana operations such as token deploys, NFT minting, swaps and staking with SendAI's toolkit, in chat or fully autonomous mode.
$ npx skills add internet-court/internet-court-skill --skill solana-agent-kit -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install internet-court/internet-court-skill solana-agent-kit --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/internet-court/internet-court-skill.git skills-src && mkdir -p .claude/skills && cp -r skills-src/vendored/sendaifun/solana-agent-kit .claude/skills/solana-agent-kit && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "solana-agent-kit" agent skill from https://github.com/internet-court/internet-court-skill/tree/main/vendored/sendaifun/solana-agent-kit into .claude/skills/solana-agent-kit/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "solana-agent-kit", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/internet-court/internet-court-skill/tree/main/vendored/sendaifun/solana-agent-kitType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add internet-court/internet-court-skill --skill solana-agent-kit -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install internet-court/internet-court-skill solana-agent-kit --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/internet-court/internet-court-skill.git skills-src && mkdir -p .agents/skills && cp -r skills-src/vendored/sendaifun/solana-agent-kit .agents/skills/solana-agent-kit && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "solana-agent-kit" agent skill from https://github.com/internet-court/internet-court-skill/tree/main/vendored/sendaifun/solana-agent-kit into .agents/skills/solana-agent-kit/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "solana-agent-kit", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add internet-court/internet-court-skill --skill solana-agent-kit -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install internet-court/internet-court-skill solana-agent-kit --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/internet-court/internet-court-skill.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/vendored/sendaifun/solana-agent-kit .cursor/skills/solana-agent-kit && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "solana-agent-kit" agent skill from https://github.com/internet-court/internet-court-skill/tree/main/vendored/sendaifun/solana-agent-kit into .cursor/skills/solana-agent-kit/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "solana-agent-kit", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/internet-court/internet-court-skill.git --path vendored/sendaifun/solana-agent-kit--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add internet-court/internet-court-skill --skill solana-agent-kit -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install internet-court/internet-court-skill solana-agent-kit --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/internet-court/internet-court-skill.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/vendored/sendaifun/solana-agent-kit .gemini/skills/solana-agent-kit && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "solana-agent-kit" agent skill from https://github.com/internet-court/internet-court-skill/tree/main/vendored/sendaifun/solana-agent-kit into .gemini/skills/solana-agent-kit/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "solana-agent-kit", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install internet-court/internet-court-skill solana-agent-kitInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add internet-court/internet-court-skill --skill solana-agent-kit -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/internet-court/internet-court-skill.git skills-src && mkdir -p .github/skills && cp -r skills-src/vendored/sendaifun/solana-agent-kit .github/skills/solana-agent-kit && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "solana-agent-kit" agent skill from https://github.com/internet-court/internet-court-skill/tree/main/vendored/sendaifun/solana-agent-kit into .github/skills/solana-agent-kit/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "solana-agent-kit", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add internet-court/internet-court-skill --skill solana-agent-kit -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install internet-court/internet-court-skill solana-agent-kit --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/internet-court/internet-court-skill.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/vendored/sendaifun/solana-agent-kit .opencode/skills/solana-agent-kit && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "solana-agent-kit" agent skill from https://github.com/internet-court/internet-court-skill/tree/main/vendored/sendaifun/solana-agent-kit into .opencode/skills/solana-agent-kit/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "solana-agent-kit", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
solana-agent-kitWalks through building AI agents that run Solana operations such as token deploys, NFT minting, swaps and staking with SendAI's toolkit, in chat or fully autonomous mode.
This skill documents SendAI's Solana Agent Kit, an open-source toolkit that lets a language model carry out more than 60 on-chain actions. Actions are grouped into plugins: token (deploy, transfer, balances, staking, bridging, rug check), NFT (collections, minting, listing, metadata updates) and DeFi (swaps through Jupiter and pool creation on Raydium and Orca).
Setup covers the npm install, a .env file holding an OpenAI key and an RPC URL, and a basic agent built from the Vercel AI SDK tools. The folder has separate example READMEs for LangChain, the Vercel AI SDK, an MCP server and an autonomous agent, plus a custom-actions doc, an actions reference and an agent template. Both interactive and hands-off modes are described, along with error recovery in the autonomous one.
5 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit fa89195. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Ships script files (TypeScript), which the agent can run.
Shell commands in SKILL.md call:
npmnpxFrom the folder's file list and the shell code blocks in SKILL.md.
Hosts in commands or code, which the agent is likely to contact:
api.mainnet-beta.solana.comarweave.netFrom URLs in SKILL.md, links to its own repository left out.
Names these keys or tokens, usually read from environment variables:
OPENAI_API_KEYSOLANA_PRIVATE_KEYDEPLOY_TOKENCOINGECKO_API_KEYHELIUS_API_KEYTURNKEY_PRIVATE_KEY_IDFrom names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Solana Agent Kit loads about 3.8k tokens when it runs. Until then it costs about 58 tokens; SKILL.md has 630 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check noted patterns worth knowing about, such as sudo or a known installer.
# .env fileAutomated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from internet-court/internet-court-skill at commit fa89195, republished under its Apache-2.0 licence (© internet-court). 630 words, ~3,807 tokens.
.claude/skills/solana-agent-kit/SKILL.md (or your agent's skills folder). This skill also uses 9 other files; get the full folder from GitHub.Build AI agents that autonomously execute 60+ Solana blockchain operations using SendAI's open-source toolkit. Compatible with LangChain, Vercel AI SDK, and Claude via MCP.
The Solana Agent Kit enables any AI model to:
| Feature | Description |
|---|---|
| 60+ Actions | Token, NFT, DeFi, staking, bridging operations |
| Plugin Architecture | Modular - use only what you need |
| Multi-Framework | LangChain, Vercel AI SDK, MCP, Eliza |
| Model Agnostic | Works with OpenAI, Claude, Llama, Gemini |
| Autonomous Mode | Hands-off execution with error recovery |
# Core package
npm install solana-agent-kit
# With plugins (recommended)
npm install solana-agent-kit \
@solana-agent-kit/plugin-token \
@solana-agent-kit/plugin-nft \
@solana-agent-kit/plugin-defi \
@solana-agent-kit/plugin-misc \
@solana-agent-kit/plugin-blinks# .env file
OPENAI_API_KEY=your_openai_api_key
RPC_URL=https://api.mainnet-beta.solana.com # or devnet
SOLANA_PRIVATE_KEY=your_base58_private_key
# Optional API keys for enhanced features
COINGECKO_API_KEY=your_coingecko_key
HELIUS_API_KEY=your_helius_keyimport {
SolanaAgentKit,
createVercelAITools,
KeypairWallet,
} from "solana-agent-kit";
import { Keypair } from "@solana/web3.js";
import bs58 from "bs58";
// Import plugins
import TokenPlugin from "@solana-agent-kit/plugin-token";
import NFTPlugin from "@solana-agent-kit/plugin-nft";
import DefiPlugin from "@solana-agent-kit/plugin-defi";
import MiscPlugin from "@solana-agent-kit/plugin-misc";
import BlinksPlugin from "@solana-agent-kit/plugin-blinks";
// Create wallet from private key
const privateKey = bs58.decode(process.env.SOLANA_PRIVATE_KEY!);
const keypair = Keypair.fromSecretKey(privateKey);
const wallet = new KeypairWallet(keypair);
// Initialize agent with plugins
const agent = new SolanaAgentKit(
wallet,
process.env.RPC_URL!,
{
OPENAI_API_KEY: process.env.OPENAI_API_KEY!,
}
)
.use(TokenPlugin)
.use(NFTPlugin)
.use(DefiPlugin)
.use(MiscPlugin)
.use(BlinksPlugin);
// Create tools for AI framework
const tools = createVercelAITools(agent, agent.actions);@solana-agent-kit/plugin-token)| Action | Description |
|---|---|
deployToken | Deploy new SPL token or Token-2022 |
transfer | Transfer SOL or SPL tokens |
getBalance | Check token balances |
stake | Stake SOL via Jupiter/Solayer |
bridge | Bridge tokens via Wormhole |
rugCheck | Analyze token safety |
// Deploy a new token
const result = await agent.methods.deployToken({
name: "My Token",
symbol: "MTK",
decimals: 9,
initialSupply: 1000000,
});
// Transfer tokens
await agent.methods.transfer({
to: "recipient_address",
amount: 100,
mint: "token_mint_address", // optional, defaults to SOL
});
// Check balance
const balance = await agent.methods.getBalance({
tokenAddress: "token_mint_address", // optional
});@solana-agent-kit/plugin-nft)| Action | Description |
|---|---|
createCollection | Create NFT collection via Metaplex |
mintNFT | Mint NFT to collection |
listNFT | List NFT on marketplaces |
updateMetadata | Update NFT metadata |
// Create collection
const collection = await agent.methods.createCollection({
name: "My Collection",
symbol: "MYCOL",
uri: "https://arweave.net/metadata.json",
});
// Mint NFT to collection
const nft = await agent.methods.mintNFT({
collectionMint: collection.collectionAddress,
name: "NFT #1",
uri: "https://arweave.net/nft1.json",
});@solana-agent-kit/plugin-defi)| Action | Description |
|---|---|
trade | Swap tokens via Jupiter |
createRaydiumPool | Create Raydium AMM pool |
createOrcaPool | Create Orca Whirlpool |
createMeteoraPool | Create Meteora DLMM pool |
limitOrder | Place limit order via Manifest |
lend | Lend assets via Lulo |
perpetualTrade | Trade perps via Adrena/Drift |
// Swap tokens via Jupiter
const swap = await agent.methods.trade({
outputMint: "target_token_mint",
inputAmount: 1.0,
inputMint: "So11111111111111111111111111111111111111112", // SOL
slippageBps: 50, // 0.5%
});
// Create Raydium CPMM pool
const pool = await agent.methods.createRaydiumCpmm({
mintA: "token_a_mint",
mintB: "token_b_mint",
configId: "config_id",
mintAAmount: 1000,
mintBAmount: 1000,
});@solana-agent-kit/plugin-misc)| Action | Description |
|---|---|
airdrop | ZK-compressed airdrop via Helius |
getPrice | Get token price via CoinGecko |
registerDomain | Register .sol domain |
resolveDomain | Resolve domain to address |
getTPS | Get network TPS |
// Compressed airdrop (cost-efficient)
const airdrop = await agent.methods.sendCompressedAirdrop({
mintAddress: "token_mint",
amount: 100,
recipients: ["addr1", "addr2", "addr3"],
priorityFeeInLamports: 10000,
});
// Get token price
const price = await agent.methods.getPrice({
tokenId: "solana", // CoinGecko ID
});@solana-agent-kit/plugin-blinks)Execute Solana Actions/Blinks directly:
// Execute a Blink
const result = await agent.methods.executeBlink({
blinkUrl: "https://example.com/blink",
params: { /* blink-specific params */ },
});import { SolanaAgentKit, createSolanaTools } from "solana-agent-kit";
import { ChatOpenAI } from "@langchain/openai";
import { createReactAgent } from "@langchain/langgraph/prebuilt";
import { MemorySaver } from "@langchain/langgraph";
import { HumanMessage } from "@langchain/core/messages";
async function createLangChainAgent() {
// Initialize LLM
const llm = new ChatOpenAI({
modelName: "gpt-4-turbo-preview",
temperature: 0.7,
});
// Initialize Solana Agent Kit
const solanaKit = new SolanaAgentKit(
wallet,
process.env.RPC_URL!,
{ OPENAI_API_KEY: process.env.OPENAI_API_KEY! }
)
.use(TokenPlugin)
.use(DefiPlugin);
// Create LangChain tools
const tools = createSolanaTools(solanaKit);
// Create agent with memory
const memory = new MemorySaver();
const agent = createReactAgent({
llm,
tools,
checkpointSaver: memory,
});
return agent;
}
// Run agent
async function chat(agent: any, message: string) {
const config = { configurable: { thread_id: "solana-agent" } };
const stream = await agent.stream(
{ messages: [new HumanMessage(message)] },
config
);
for await (const chunk of stream) {
if ("agent" in chunk) {
console.log(chunk.agent.messages[0].content);
}
}
}import { SolanaAgentKit, createVercelAITools } from "solana-agent-kit";
import { openai } from "@ai-sdk/openai";
import { generateText } from "ai";
async function runVercelAgent(prompt: string) {
const agent = new SolanaAgentKit(wallet, rpcUrl, options)
.use(TokenPlugin)
.use(DefiPlugin);
const tools = createVercelAITools(agent, agent.actions);
const result = await generateText({
model: openai("gpt-4-turbo"),
tools,
maxSteps: 10,
prompt,
});
return result.text;
}
// Usage
const response = await runVercelAgent(
"Swap 0.1 SOL for USDC using the best rate"
);Install and configure the MCP server for Claude Desktop:
# Install globally
npm install -g solana-mcp
# Or run directly
npx solana-mcpAdd to Claude Desktop config (~/Library/Application Support/Claude/claude_desktop_config.json):
{
"mcpServers": {
"solana": {
"command": "npx",
"args": ["solana-mcp"],
"env": {
"RPC_URL": "https://api.mainnet-beta.solana.com",
"SOLANA_PRIVATE_KEY": "your_base58_private_key",
"OPENAI_API_KEY": "your_openai_key"
}
}
}
}Available MCP tools:
GET_ASSET - Get token/asset infoDEPLOY_TOKEN - Create new tokenGET_PRICE - Fetch token priceWALLET_ADDRESS - Get wallet addressBALANCE - Check balanceTRANSFER - Send tokensMINT_NFT - Create NFTTRADE - Execute swapREQUEST_FUNDS - Get devnet SOLRESOLVE_DOMAIN - Lookup .sol domainGET_TPS - Network throughputRun agent in fully autonomous mode:
import { SolanaAgentKit } from "solana-agent-kit";
const agent = new SolanaAgentKit(wallet, rpcUrl, options)
.use(TokenPlugin)
.use(DefiPlugin);
// Configure autonomous behavior
const autonomousConfig = {
intervalMs: 60000, // Check every minute
maxActions: 100, // Max actions per session
errorRecovery: true, // Auto-retry on failures
dryRun: false, // Set true for testing
};
// Start autonomous loop
async function runAutonomous() {
while (true) {
try {
// Agent decides what to do based on market conditions
const decision = await agent.analyze({
context: "Monitor my portfolio and rebalance if needed",
constraints: [
"Keep at least 1 SOL for gas",
"Max 10% allocation per token",
],
});
if (decision.shouldAct) {
await agent.execute(decision.action);
}
await sleep(autonomousConfig.intervalMs);
} catch (error) {
if (autonomousConfig.errorRecovery) {
console.error("Error, recovering:", error);
await sleep(5000);
} else {
throw error;
}
}
}
}Extend the agent with custom actions:
import { Action, Tool, SolanaAgentKit } from "solana-agent-kit";
// Define the Tool (tells LLM HOW to use it)
const myCustomTool: Tool = {
name: "my_custom_action",
description: "Does something custom on Solana",
parameters: {
type: "object",
properties: {
param1: {
type: "string",
description: "First parameter",
},
param2: {
type: "number",
description: "Second parameter",
},
},
required: ["param1"],
},
};
// Define the Action (tells agent WHEN and WHY to use it)
const myCustomAction: Action = {
name: "my_custom_action",
description: "Use this when you need to do something custom",
similes: ["custom thing", "special operation"],
examples: [
{
input: "Do the custom thing with value X",
output: "Custom action executed with param1=X",
},
],
handler: async (agent: SolanaAgentKit, params: any) => {
const { param1, param2 } = params;
// Your custom logic here
const connection = agent.connection;
const wallet = agent.wallet;
// Execute Solana operations...
return {
success: true,
result: `Executed with ${param1}`,
};
},
};
// Register custom action
agent.registerAction(myCustomAction);
agent.registerTool(myCustomTool);solana-agent-kit/
├── SKILL.md # This file
├── resources/
│ ├── actions-reference.md # Complete actions list
│ ├── plugins-guide.md # Plugin deep dive
│ └── security-checklist.md # Security best practices
├── examples/
│ ├── langchain/ # LangChain integration
│ ├── vercel-ai/ # Vercel AI SDK
│ ├── mcp-server/ # Claude MCP setup
│ └── autonomous-agent/ # Autonomous patterns
├── templates/
│ └── agent-template.ts # Starter template
└── docs/
├── custom-actions.md # Creating custom actions
└── troubleshooting.md # Common issuesVersion 2 represents a complete evolution of the toolkit with key improvements:
V2 directly addresses two major V1 challenges:
The modular plugin system lets you install only what you need, reducing context bloat and hallucinations.
V2 integrates with secure wallet providers for enhanced security:
import { TurnkeyWallet, PrivyWallet } from "solana-agent-kit/wallets";
// Turnkey - fine-grained rules and policies
const turnkeyWallet = new TurnkeyWallet({
organizationId: process.env.TURNKEY_ORG_ID,
privateKeyId: process.env.TURNKEY_PRIVATE_KEY_ID,
});
// Privy - human-in-the-loop confirmation
const privyWallet = new PrivyWallet({
appId: process.env.PRIVY_APP_ID,
requireConfirmation: true,
});
// Initialize agent with secure wallet
const agent = new SolanaAgentKit(turnkeyWallet, rpcUrl, options)
.use(TokenPlugin)
.use(DefiPlugin);| Feature | V1 | V2 |
|---|---|---|
| Wallet Security | Private key input | Embedded wallets (Turnkey, Privy) |
| Tool Loading | All 100+ tools | Plugin-based, load what you need |
| LLM Context | Large, caused hallucinations | Minimal, focused context |
| Human-in-loop | Not supported | Native with Privy |
solana-agent-kit-py© internet-court, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 9 other files in vendored/sendaifun/solana-agent-kit of internet-court/internet-court-skill.
Open the folder on GitHubat commit fa89195
We found 2 copies of this SKILL.md (exact, near-identical or edited) in other folders, from 2 other GitHub owners. This page covers the copy in internet-court/internet-court-skill, which our catalogue first saw on October 7, 2026.
Solana Agent Kit next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Solana Agent Kit this skillinternet-court/internet-court-skill | 6.6k | 2 repos | ~3.8k | Automated safety check: Notes | Apache-2.0 | |
| Tool Designagentailor/fullstack-langgraph-nextjs-agent | 132 | — | ~3.2k | Automated safety check: Pass | MIT | |
| Agent Eval Casesagentailor/fullstack-langgraph-nextjs-agent | 132 | — | ~5.3k | Automated safety check: Pass | MIT | |
| AgentSquad for Swift2FastLabs/agent-squad | 7.8k | — | ~3.5k | Automated safety check: Pass | Apache-2.0 | |
| Dive Into LangGraphluochang212/dive-into-langgraph | 457 | — | ~837 | Automated safety check: Notes | Custom licence | |
| Agent Frameworkjihadkhawaja/Egroo | 178 | — | ~1.9k | Automated safety check: Pass | Apache-2.0 |
agentailor/fullstack-langgraph-nextjs-agent
Design and verify tools that AI agents can actually use — for any framework or language (MCP servers, LangChain/LangGraph, function-calling, raw JSON schema; TypeScript, Python, or otherwise).
agentailor/fullstack-langgraph-nextjs-agent
Decide which AI agent behaviors are worth an eval case, then write those cases — harness-, framework-, and language-agnostic.
2FastLabs/agent-squad
Guides building on-device multi-agent apps in Swift with the AgentSquad framework: which agent, orchestrator, classifier, storage or voice type fits each situation.
luochang212/dive-into-langgraph
A Chinese-language guide and reference for building agents with LangGraph 1.0, from a first ReAct agent through middleware, memory, MCP, RAG and web search.
jihadkhawaja/Egroo
Build, extend, and debug AI agents in Egroo using the Microsoft Agent Framework (C .NET).
openma-ai/open-managed-agents
Use the openma platform to build, deploy, and manage AI agents.
internet-court/internet-court-skill
Uploads one Kleros-related file per paid request to IPFS through the Kleros x402 gateway for 0.01 USDC on Base, returning a CID that Kleros contracts can reference.
internet-court/internet-court-skill
Guides building on the 0G Compute Network, a decentralized GPU marketplace for AI inference and fine-tuning, with SDK patterns and CLI commands.
internet-court/internet-court-skill
Creates, trades and settles permissionless prediction markets on Solana with any SPL token as collateral, including social-media and custom-oracle markets.
internet-court/internet-court-skill
Connects an agent to the BNB Chain MCP server to read blocks and contracts, move tokens and NFTs, register ERC-8004 agents and use Greenfield storage.
internet-court/internet-court-skill
Specifies how a GenLayer Intelligent Contract decision about an agent's performance becomes an ERC-7710 revocation or policy change, through a relayer or bridge and an EVM controller.
internet-court/internet-court-skill
Specifies how a GenLayer Intelligent Contract should supervise an AI agent, with review rubrics, evidence schemas and continue, warn, constrain or revoke decisions.
Walks through building AI agents that run Solana operations such as token deploys, NFT minting, swaps and staking with SendAI's toolkit, in chat or fully autonomous mode. This skill documents SendAI's Solana Agent Kit, an open-source toolkit that lets a language model carry out more than 60 on-chain actions. Actions are grouped into plugins: token (deploy, transfer, balances, staking, bridging, rug check), NFT (collections, minting, listing, metadata updates) and DeFi (swaps through Jupiter and pool creation on Raydium and Orca).
Solana Agent Kit fits situations like: building an AI agent that can check balances and transfer SOL or SPL tokens; exposing Solana actions to Claude through an MCP server; wiring Solana actions into a LangChain or Vercel AI SDK agent; writing a custom action for the kit using the plugin architecture.
Run `npx skills add internet-court/internet-court-skill --skill solana-agent-kit -a claude-code`. Or copy the skill folder (vendored/sendaifun/solana-agent-kit in internet-court/internet-court-skill) into .claude/skills/solana-agent-kit in your project. Claude Code loads it when a task matches its description.
Run `npx skills add internet-court/internet-court-skill --skill solana-agent-kit -a codex`. Or copy the skill folder (vendored/sendaifun/solana-agent-kit in internet-court/internet-court-skill) into .agents/skills/solana-agent-kit in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add internet-court/internet-court-skill --skill solana-agent-kit -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/solana-agent-kit, .gemini/skills/solana-agent-kit, .github/skills/solana-agent-kit and .opencode/skills/solana-agent-kit in your project.
Going by SKILL.md and its folder, Solana Agent Kit needs TypeScript for the scripts in its folder, the command-line tools its instructions call (npm and npx) and credentials named OPENAI_API_KEY, SOLANA_PRIVATE_KEY, DEPLOY_TOKEN and COINGECKO_API_KEY. Our summary lists: Node.js with npm to install `solana-agent-kit`; An LLM provider key such as `OPENAI_API_KEY`; A Solana RPC URL for mainnet or devnet.
SKILL.md names 2 domains. In commands or code: api.mainnet-beta.solana.com and arweave.net; the agent is likely to contact these when it follows the instructions. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found notes only (mentions a .env file), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.
Solana Agent Kit is published under the Apache-2.0 licence (from the LICENSE file in the skill folder). It allows redistribution, so the full SKILL.md is shown on this page.
About 3.8k tokens (SKILL.md is roughly 15k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Solana Agent Kit: Tool Design (agentailor/fullstack-langgraph-nextjs-agent, 132 stars), Agent Eval Cases (agentailor/fullstack-langgraph-nextjs-agent, 132 stars), AgentSquad for Swift (2FastLabs/agent-squad, 7.8k stars) and Dive Into LangGraph (luochang212/dive-into-langgraph, 457 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
internet-court (a GitHub organization) maintains it in internet-court/internet-court-skill, which has 6,551 GitHub stars. The repository holds 80 skills in this directory. The repository was last updated on August 19, 2026.
Source: internet-court/internet-court-skill on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.