---
name: solana-beginner
description: Teach Solana fundamentals to developers new to the ecosystem. Use when a user says "what is Solana", "why Solana", "new to Solana", "explain Solana to me", "Solana basics", "EVM to Solana", "getting started with Solana", or "Solana fundamentals". Adapts to user's background — EVM devs, backend devs, or complete beginners.
---

## Preamble (run first)

```bash
_TEL_TIER=$(cat ~/.superstack/config.json 2>/dev/null | grep -o '"telemetryTier": *"[^"]*"' | head -1 | sed 's/.*"telemetryTier": *"//;s/"$//'  || echo "anonymous")
_TEL_TIER="${_TEL_TIER:-anonymous}"
_TEL_PROMPTED=$([ -f ~/.superstack/.telemetry-prompted ] && echo "yes" || echo "no")
_TEL_START=$(date +%s)
_SESSION_ID="$$-$(date +%s)"
mkdir -p ~/.superstack
echo "TELEMETRY: $_TEL_TIER"
echo "TEL_PROMPTED: $_TEL_PROMPTED"
if [ "$_TEL_TIER" != "off" ]; then
_TEL_EVENT='{"skill":"solana-beginner","phase":"idea","event":"started","ts":"'$(date -u +%Y-%m-%dT%H:%M:%SZ)'"}' 
echo "$_TEL_EVENT" >> ~/.superstack/telemetry.jsonl 2>/dev/null || true
_CONVEX_URL=$(cat ~/.superstack/config.json 2>/dev/null | grep -o '"convexUrl":"[^"]*"' | head -1 | cut -d'"' -f4 || echo "")
[ -n "$_CONVEX_URL" ] && curl -s -X POST "$_CONVEX_URL/api/mutation" -H "Content-Type: application/json" -d '{"path":"telemetry:track","args":{"skill":"solana-beginner","phase":"idea","status":"success","version":"0.2.0","platform":"'$(uname -s)-$(uname -m)'","timestamp":'$(date +%s)000'}}' >/dev/null 2>&1 &
true
fi
```

If `TEL_PROMPTED` is `no`: Before starting the skill workflow, ask the user about telemetry.
Use AskUserQuestion:

> Help superstack get better! We track which skills get used and how long they take —
> no code, no file paths, no PII. Change anytime in `~/.superstack/config.json`.

Options:
- A) Sure, help superstack improve (anonymous)
- B) No thanks

If A: run this bash:
```bash
echo '{"telemetryTier":"anonymous"}' > ~/.superstack/config.json
_TEL_TIER="anonymous"
touch ~/.superstack/.telemetry-prompted
```

If B: run this bash:
```bash
echo '{"telemetryTier":"off"}' > ~/.superstack/config.json
_TEL_TIER="off"
touch ~/.superstack/.telemetry-prompted
```

This only happens once. If `TEL_PROMPTED` is `yes`, skip this entirely and proceed to the skill workflow.

> **Wrong skill?** See [SKILL_ROUTER.md](../../SKILL_ROUTER.md) for all available skills.

# Solana Foundation

Teach Solana fundamentals adaptively. This skill interviews the user about their background first, then teaches at the right level — whether they're an EVM developer, a backend engineer, or completely new to crypto.

## Overview

Not everyone arrives at Solana from the same place. An Ethereum dev needs to unlearn storage patterns and think in accounts. A backend dev needs to understand why blockchains matter before diving into PDAs. A complete beginner needs the "why" before the "how."

This skill adapts. It asks first, then teaches.

## Workflow

### Step 1: Interview the User

**Always start here. Never skip this step.**

Use the `AskUserQuestion` tool to determine the user's background. Ask:

1. **What's your development background?**
   - New to programming entirely
   - Backend/systems developer (Python, Go, Rust, Node.js)
   - Frontend developer (React, Vue, etc.)
   - EVM/Ethereum developer (Solidity, Hardhat, Foundry)
   - Other blockchain developer (Cosmos, Sui, Aptos)

2. **What are you trying to build?** (DeFi app, NFT project, payments, AI agent, just learning, etc.)

3. **How familiar are you with crypto concepts?** (wallets, transactions, smart contracts, tokens)

### Step 2: Read References Based on Background

Based on the user's answers, read the appropriate references:

- **EVM developers** → Start with `references/solana-vs-evm.md`
  - Focus on the account model vs storage model difference
  - Explain why programs are stateless and data lives in accounts
  - Cover PDAs, CPIs, and the instruction model
  - Highlight common gotchas (rent, account size, transaction limits)

- **New to crypto / complete beginners** → Start with `references/why-solana-for-builders.md`
  - Explain what a blockchain is and why it matters (briefly)
  - Focus on Solana's practical advantages: speed, cost, scale
  - Use concrete numbers: 400ms blocks, $0.00025 fees, 65k TPS
  - Make it tangible — compare to web2 experiences they know

- **Backend / systems developers** → Start with `references/why-solana-for-builders.md`, then `references/solana-vs-evm.md`
  - They'll appreciate the systems-level design of Solana
  - Emphasize: Rust-based, parallel execution (Sealevel), no EVM overhead
  - Compare to building APIs — programs are like microservices, accounts are like database rows

- **Other blockchain developers** → Start with `references/solana-vs-evm.md` (the model differences apply broadly)

### Step 3: Walk Through the Ecosystem

For all users, walk through relevant sections of `references/ecosystem-map.md`:

- If they want to build DeFi → highlight major protocols by category (see `data/solana-knowledge/04-protocols-and-sdks.md` → Decision Quick Reference). Always verify protocol health before recommending — protocols can decline or shut down.
- If they want NFTs → highlight Metaplex, Magic Eden
- If they want payments → highlight USDC, PayPal PYUSD, Sphere, Helio
- If they want AI → highlight Solana Agent Kit, GOAT SDK
- If they're just exploring → give a high-level tour of all categories

### Step 4: Point to Knowledge Base

Direct users to the deeper knowledge base files for continued learning:

- `../../data/solana-knowledge/01-what-and-why-solana.md` — Deep dive on Solana's architecture
- `../../data/solana-knowledge/02-what-makes-solana-unique.md` — Technical differentiators

### Step 5: Direct to Next Skills

When the user is ready to move forward, point them to:

- `/find-next-crypto-idea` — If they need help figuring out what to build
- `/validate-idea` — If they have an idea and want to validate it
- `/scaffold-project` — If they're ready to start building
- `/build-with-claude` — If they want guided implementation help

## Non-Negotiables

1. **ALWAYS ask the user's background before teaching.** Never assume. Never dump a wall of information without knowing who you're talking to.

2. **Use the AskUserQuestion tool to interview.** Don't just ask rhetorically — use the tool so the user can respond and you can adapt.

3. **Adapt depth to the user's level.** Don't explain what a blockchain is to an EVM dev. Don't throw PDAs at someone who doesn't know what a wallet is.

4. **Be concrete.** Use real numbers:
   - 400ms block times (not "fast")
   - ~$0.00025 per transaction (not "cheap")
   - 65,000 TPS theoretical throughput (not "high throughput")
   - ~$5B+ DeFi TVL (not "significant TVL")
   - Sub-second finality (not "quick confirmation")

5. **Don't be a shill.** Acknowledge trade-offs honestly:
   - Solana has had outages (improving with Firedancer)
   - Rust has a steeper learning curve than Solidity
   - The account model is genuinely confusing at first
   - Not everything needs to be on-chain

6. **Direct users to next skills when ready.** This skill is a starting point, not a destination.

## Phase Handoff

This skill is **Phase 0 (Learn)**. It sits before the Idea phase in the journey.

When the user completes this skill, optionally write a knowledge level assessment to `.superstack/idea-context.md`:

```json
{
  "knowledge_level": "beginner" | "intermediate" | "advanced",
  "background": "evm" | "backend" | "frontend" | "beginner" | "other-chain",
  "interests": ["defi", "nfts", "payments", "ai", "gaming", "social"],
  "ready_for": "idea-phase" | "build-phase" | "needs-more-learning"
}
```

This context helps downstream skills (like `/find-next-crypto-idea` or `/scaffold-project`) calibrate their output to the user's level.

## Example Interactions

**EVM dev arrives:**
> "I've been building on Ethereum for 2 years, want to try Solana."
> → Ask what they've built on Ethereum, then focus on account model differences, Anchor vs Hardhat, and common EVM-dev gotchas.

**Complete beginner:**
> "I keep hearing about Solana, what is it?"
> → Start with why blockchains matter, then why Solana specifically, using real-world analogies and concrete numbers.

**Backend dev with a project idea:**
> "I'm a Go developer and I want to build a payments app on Solana."
> → Brief Solana overview emphasizing the systems design, then deep-dive on USDC and payment tools (Sphere, Helio), then point to `/scaffold-project`.

## Telemetry (run last)

After the skill workflow completes (success, error, or abort), log the telemetry event.
Determine the outcome from the workflow result: `success` if completed normally, `error`
if it failed, `abort` if the user interrupted.

Run this bash:

```bash
_TEL_END=$(date +%s)
_TEL_DUR=$(( _TEL_END - ${_TEL_START:-$_TEL_END} ))
_TEL_TIER=$(cat ~/.superstack/config.json 2>/dev/null | grep -o '"telemetryTier": *"[^"]*"' | head -1 | sed 's/.*"telemetryTier": *"//;s/"$//' || echo "anonymous")
if [ "$_TEL_TIER" != "off" ]; then
echo '{"skill":"solana-beginner","phase":"idea","event":"completed","outcome":"OUTCOME","duration_s":"'"$_TEL_DUR"'","session":"'"$_SESSION_ID"'","ts":"'$(date -u +%Y-%m-%dT%H:%M:%SZ)'","platform":"'$(uname -s)-$(uname -m)'"}' >> ~/.superstack/telemetry.jsonl 2>/dev/null || true
true
fi
```

Replace `OUTCOME` with success/error/abort based on the workflow result.
