Live survey304 models · 14 providers · 22,792 auditsAudited grill-with-docs · SAFE →What changedHow we verifyllms.txt

Agent skill · Audited from source

solana-dev

skill · solana-foundation/solana-dev-skillMIT licenceAudited 20 Oct 2026 · source ed1294b2cb8a

★ 579pushed 3 days agoversion 2.7.0
✓SAFEGrade B · 89/100 · 20 Oct 2026 · ed1294b
579repo stars · whole solana-foundation/solana-dev-skill

Is it safe? Yes — SAFE, grade B (89/100). We read this skill's source at commit ed1294b2cb8a and found no filesystem, network or shell access and no hard-coded secrets. What it does: Use when user asks to "build a Solana dapp", "write an Anchor program", "create a token", "debug Solana errors", "set up wallet connection", "test my Solana program", "fuzz my Solana program", "deploy to devnet", "send…

Ask an AI about this pageGChatGPTCClaudePPerplexityGeGeminiXGrok
More
Cite

Cite this page

ModelsAtlas. “solana-dev (solana-foundation/solana-dev-skill)”. Retrieved 20 Oct 2026. https://modelsatlas.com/skills/solana-foundation/solana-dev

Trust audit

Audit 0.4.1 · source read 20 Oct 2026

Trust score89/100✓SAFE B
0 critical0 high0 medium5 low6 info

SAFE means nothing in the source contradicts what the skill says it does. Grade B is shared by 16,667 of 17,602 audited skills.

What the source does

  • FilesystemNone observedNo reads or writes in the source
  • NetworkNone observedNo outbound calls in the source
  • ShellNone observedNo commands run in the source
  • DependenciesPinnedNothing floats
  • SecretsNone foundNo keys in source

Five audit layers

LayerWhat we checkResultFindings
L0 ProvenanceRepo owner, licence, archive status, activityPASS0
L1 Static sourceSecrets, path traversal, supply chain, hidden codeNA5
L2 InstructionsPrompt injection, authority framing, hidden directivesPASS6
L3 InventoryThe files and declarations match the sourcePASS0
L4 SandboxRun in isolation and watch behaviourSKIPPED why0

Gates applied: no behavioural pass.

Findings (11)

LOWNetwork egressnet.raw_ip · references/common-errors.md:283
F-04 Network egressCWE-200 · CWE-319Layer L1
cluster = "http://127.0.0.1:8899"
Why
No further detail recorded for this rule.
Fix
—
LOWNetwork egressnet.raw_ip · references/kit/plugins.md:71
F-04 Network egressCWE-200 · CWE-319Layer L1
// Local — defaults to http://127.0.0.1:8899, includes airdrop
Why
No further detail recorded for this rule.
Fix
—
LOWNetwork egressnet.raw_ip · references/kit/plugins.md:207
F-04 Network egressCWE-200 · CWE-319Layer L1
.use(solanaRpcConnection({ rpcUrl: 'http://127.0.0.1:8899' }))
Why
No further detail recorded for this rule.
Fix
—
LOWNetwork egressnet.raw_ip · references/surfpool/cheatcodes.md:8
F-04 Network egressCWE-200 · CWE-319Layer L1
All 28 `surfnet_*` JSON-RPC methods available on the surfnet RPC endpoint (default `http://127.0.0.1:8899`), as of Surfpool v1.6.1. v1.6.0 added the two confidential-balance methods; nothing was remov
Why
No further detail recorded for this rule.
Fix
—
LOWNetwork egressnet.raw_ip · references/surfpool/cheatcodes.md:91
F-04 Network egressCWE-200 · CWE-319Layer L1
curl -X POST http://127.0.0.1:8899 -H "Content-Type: application/json" \
Why
No further detail recorded for this rule.
Fix
—
INFOPrompt injectionprompt.persistence · references/common-errors.md:108
F-01 Prompt injectionCWE-94 · CWE-1427Layer L2
2. Add to PATH: `export PATH="$HOME/.local/share/solana/install/active_release/bin:$PATH"`
Why
instructs the agent to persist itself in the user's environment
Fix
—
INFOSupply chainprompt.pipe_to_shell · references/anchor/migrating-v0.32-to-v1.md:481
F-08 Supply chainCWE-829 · CWE-1357Layer L2
run: curl -sL https://run.surfpool.run/ | bash
Why
No further detail recorded for this rule.
Fix
—
INFOSupply chainprompt.pipe_to_shell · references/common-errors.md:264
F-08 Supply chainCWE-829 · CWE-1357Layer L2
curl -sL https://run.surfpool.run/ | bash
Why
No further detail recorded for this rule.
Fix
—
INFOSupply chainprompt.pipe_to_shell · references/surfpool/overview.md:42
F-08 Supply chainCWE-829 · CWE-1357Layer L2
curl -sL https://run.surfpool.run/ | bash
Why
No further detail recorded for this rule.
Fix
—
INFOSupply chainprompt.pipe_to_shell · references/testing.md:228
F-08 Supply chainCWE-829 · CWE-1357Layer L2
curl -sL https://run.surfpool.run/ | bash
Why
No further detail recorded for this rule.
Fix
—
INFOSupply chainprompt.pipe_to_shell · references/testing.md:463
F-08 Supply chainCWE-829 · CWE-1357Layer L2
#       run: curl -sL https://run.surfpool.run/ | bash
Why
No further detail recorded for this rule.
Fix
—

Audit 0.4.1 · source sha ed1294b2cb8a · 20 Oct 2026Report an issue or request a re-scan

Provenance

Who published it, and what the verdict is pinned to

  • Publishersolana-foundation GitHub organizationOwner of the repository this skill is read from
  • Source foldersolana-foundation/solana-dev-skill/skills/solana-devThe exact folder we audited
  • LicenceMITAs the repository states it
  • Commit pinned for this verdicted1294b2cb8aA new audit runs when the source changes
  • Repository statusNot archivedLast push 3 days ago
  • Sandboxed runNot runSkills are read, not executed; layer L4 is skipped

What it tells the agent

Full source on GitHub ↗

Its description: Use when user asks to "build a Solana dapp", "write an Anchor program", "create a token", "debug Solana errors", "set up wallet connection", "test my Solana program", "fuzz my Solana program", "deploy to devnet", "send…

---
name: solana-dev
description: 'Use when user asks to "build a Solana dapp", "write an Anchor program", "create a token", "debug Solana errors", "set up wallet connection", "test my Solana program", "fuzz my Solana program", "deploy to devnet", "send a v1 transaction", "support larger transactions", "fix maxSupportedTransactionVersion", or "explain Solana concepts" (rent, accounts, PDAs, CPIs). Also for program architecture — state layout, reducing compute units, throughput bottlenecks, instruction naming — and quick on-chain lookups via public RPC + curl (balance, transaction, token account). End-to-end playbook: wallet connection, Anchor/Pinocchio programs, Codama clients, Surfpool/LiteSVM/Mollusk testing, security review, and the v1 transaction format (SIMD-0385, 4096-byte transactions). Prefers @solana/kit 8 plugin clients (createClient + .use()) building transaction v1 by default, @solana/kit-plugin-wallet + @solana/react for wallets, web3.js v3 as the legacy migration target, and Surfpool for local networks.'
license: MIT
compatibility: Requires Node.js 20.18+, Rust toolchain, Solana CLI, Anchor CLI
metadata:
  author: Solana Foundation
  version: "2.7.0"
---

# Solana Development Skill

## What this Skill is for
Use this Skill when the user asks for:
- Solana dApp UI work (React / Next.js)
- Wallet connection + signing flows
- Transaction building / sending / confirmation UX
- Transaction v1 / larger transactions (SIMD-0385) — the default format for new code; sending, reading, indexing
- On-chain program development (Anchor or Pinocchio)
- Program architecture — state layout, PDA seed conventions, naming, parallelization, cranks, vault topology
- Client SDK generation (typed program clients)
- Local testing (Surfpool, LiteSVM, Mollusk) and fuzz testing (Trident, cargo-fuzz)
- Security hardening and audit-style reviews
- Confidential transfers (Token-2022 ZK extension)
- **Toolchain setup, version mismatches, GLIBC errors, dependency conflicts**
- **Upgrading Anchor/Solana CLI versions, migration between versions**
- **Migrating web3.js v1 code to web3.js v3 or Kit**

## Default stack decisions (opinionated)

1) **SDK: @solana/kit 8 plugin clients, transaction v1 by default**
- Build clients with `createClient()` from `@solana/kit`, then `.use(...)` plugins. Pass `transactionConfig: { version: 1 }` to the RPC plugin so every transaction the client plans is v1:
  ```ts
  createClient()
    .use(signer(mySigner))
    .use(solanaRpc({ rpcUrl, transactionConfig: { version: 1, priorityFeeLamports: lamports(5_000n) } }));
  // or solanaLocalRpc / solanaDevnetRpc / solanaMainnetRpc from @solana/kit-plugin-rpc
  ```
- **Transaction v1 is the default for new code**. Set `version: 1`; the planner otherwise defaults to v0. Plugin clients estimate compute and loaded-accounts-data limits by simulation. On manual pipelines, use Kit's resource-estimation helpers instead of guessing limits; use fixed values only for measured overrides or deliberate caps. See [transactions-v1.md](references/transactions-v1.md).
- Manual `pipe()` + `createTransactionMessage({ version: 1 })` is the low-level alternative for when you need control over every step (custom lifetimes, offline signing, bespoke planners) — see [kit/advanced.md](references/kit/advanced.md). It is not the default path.
- Default to `signer()` / `signerFromFile()` / `generatedSigner()` from
  `@solana/kit-plugin-signer` — they set both `payer` and `identity` to the same keypair (the
  common case). For fresh local/devnet signers, install the RPC/LiteSVM plugin after
  `generatedSigner()`, then fund with `airdropSigner(...)`. Reach for the role-specific variants
  (`payer()` + `identity()`) only when fees and authority must come from different keypairs.
- Use `@solana-program/*` program plugins (e.g., `tokenProgram()`) for fluent instruction APIs.
- Prefer Kit types (`Address`, `Signer`, transaction message APIs, codecs).

2) **UI: Kit plugin client + @solana/react**
- Wallet connection via `walletSigner()` from `@solana/kit-plugin-wallet` (Wallet Standard discovery; the connected wallet fills the payer/identity roles), with React hooks from `@solana/kit-plugin-wallet/react`.
- Before sending v1 from a wallet-backed client, check `connected.supportedTransactionVersions.has(1)` (from `client.wallet.getState()` or `useConnectedWallet`). Wallets that have not shipped v1 reject the signing request; fall back to a `version: 0` client for them — see [frontend.md](references/frontend.md#wallet-connection).
- Client bindings via `@solana/react` 8 (`ClientProvider`, typed `useClient<AppClient>`, data hooks, SWR/TanStack adapters). Its legacy Wallet Standard hooks are being deprecated — don't use them.
- Do **not** use `@solana/client` / `@solana/react-hooks` (framework-kit) or `@solana/wallet-adapter-*` for new work.

3) **Legacy compatibility: web3.js v3**
- web3.js v3 (`@solana/web3.js@3`, 3.0.0 released 2026-10-01) is the classic class-based API rebuilt on Kit internals. Treat it as the migration target for v1 codebases, not a default recommendation for new work. Until npm moves `latest` to 3.x (scheduled for 2026-10-19), a bare `@solana/web3.js` install still resolves to 1.99.0 — pin `@3` explicitly.
- Migrating a v1 codebase: use the official migration skill from the solana-web3.js repo rather than hand-migrating — see [kit-web3-interop.md](references/kit-web3-interop.md) for routing.
- Do not introduce `@solana/web3-compat` in new work — it is superseded.
- Do not let legacy class types leak across the entire app; contain them to adapter modules.

4) **Programs**
- Default: Anchor 1.2.x (fast iteration, IDL generation, mature tooling).
- Performance/footprint: Pinocchio (0.11+) when you need CU optimization, minimal binary size,
  zero dependencies, or fine-grained control over parsing/allocations.

5) **Testing (Surfpool-centered)**
- Unit tests: LiteSVM (in-process, Rust/TS) or Mollusk (Rust instruction harness).
- Integration tests: **Surfpo

Excerpt, first 6,000 characters of SKILL.md, verbatim from the audited commit. It is text from someone else’s repository, quoted so you can judge it before your agent reads it.

Install

Pinned to the audited commit ed1294b

Download folder ↗
claude mcp add --transport http solana-mcp-server https://mcp.solana.com/mcp
npm install -g @solana-program/program-metadata
npx skills add https://github.com/solana-foundation/solana-web3.js/tree/main/skills/web3js-v1-to-v3-migration
npm install @solana/kit @solana/kit-plugin-rpc @solana/kit-plugin-signer
npm install @solana/kit @solana/kit-plugin-litesvm @solana/kit-plugin-signer

Commands as the repository documents them: shown, never run by us. Our verdict covers commit ed1294b2cb8a only.

Works in which agents?

What its own text says, not a test

AgentStatusMore
Claude CodeMentioned in its text, not testedSkills for Claude Code · About Claude Code
Claude DesktopMentioned in its text, not testedSkills for Claude Desktop · About Claude Desktop
CodexMentioned in its text, not testedSkills for Codex · About Codex
GitHub CopilotMentioned in its text, not testedSkills for GitHub Copilot · About GitHub Copilot
CursorMentioned in its text, not testedSkills for Cursor · About Cursor
Gemini CLIMentioned in its text, not testedSkills for Gemini CLI · About Gemini CLI
WindsurfMentioned in its text, not testedSkills for Windsurf · About Windsurf
“Mentioned” means the skill’s text names the agent. We have not run it there.

Audit history

Every audit, every source change

  1. ✓SAFE B 89 / 100

    first audit · source ed1294b2cb8a

README badge

For maintainers · shows the latest audit

ModelsAtlas: SAFE BMODELSATLASSAFE · B
[![ModelsAtlas: SAFE B](https://modelsatlas.com/skills/solana-foundation/solana-dev/badge.svg)](https://modelsatlas.com/skills/solana-foundation/solana-dev/)

The badge shows our verdict and grade for this skill, and links back to this page. It changes when the audit does.

Similar skills

wp-guard✓SAFE

amelnagdy/guard-skills

Review generated or changed WordPress code — plugins, themes, and blocks — before it ships. Best used reactively after an agent writes, edits, or reviews code touching WordPress APIs: add_action/add_filter, shortcodes,…

★ 1.3kGrade B
woo-guard✓SAFE

amelnagdy/guard-skills

Review generated or changed WooCommerce code — extensions, payment and shipping integrations, checkout customizations, and order/product logic — before it ships. Best used reactively after an agent writes, edits, or…

★ 1.3kGrade B
docs-guard✓SAFE

amelnagdy/guard-skills

Review generated or changed documentation before it ships — READMEs, API references, docstrings, PHPDoc/JSDoc, changelogs, tutorials, and doc sites. Best used reactively after an agent writes or edits docs, after code…

★ 1.3kGrade B
test-guard✓SAFE

amelnagdy/guard-skills

Review generated or changed test code against universal testing rules before it ships. Best used reactively after an agent writes, edits, generates, or refactors tests, before presenting, committing, or merging them.…

★ 1.3kGrade B
clean-code-guard✓SAFE

amelnagdy/guard-skills

Review generated or changed production code before it ships, using Clean Code, SOLID, DRY, KISS, YAGNI, and LLM-specific failure-mode checks in any programming language. Best used reactively after an agent writes,…

★ 1.3kGrade B
Press Coverage✓SAFE

kostja94/marketing-skills

Deprecated compatibility entry for Press Coverage Page construction. This page is now maintained in Pagina; install and use page-builder to build a new Press Coverage Page.

★ 1kGrade B

Add this badge to your README

[![ModelsAtlas: SAFE B](https://modelsatlas.com/skills/solana-foundation/solana-dev/badge.svg)](https://modelsatlas.com/skills/solana-foundation/solana-dev/)

Questions about solana-dev

What does the solana-dev skill do?
Skills for agentic development on Solana
Is solana-dev safe to install?
The audit found nothing in the source that contradicts what it says it does, and graded it B (89/100). Grade A is held back for packages that have also passed a sandboxed behavioural run, which is why a clean skill reads B.
What can solana-dev access on my machine?
The audit observed no filesystem, network or shell use at all in its source.
Which assistants does solana-dev work with?
Its documentation mentions claude-code, claude-desktop, codex, copilot, cursor, gemini-cli and windsurf. That is what the text claims, not a compatibility test we ran.
How current is this page?
The grade is for one exact copy of the source (ed1294b2cb8a), read on 2026-10-20. The repository is watched, and a new audit runs when it changes — this is the first audit.

Sources

Spotted something wrong? Report a correction · Methodology

Keep going in your AI

Opens with this page as the source. We add nothing else to the prompt.