$npx -y skills add sendaifun/solana-new --skill virtual-solana-incubatorDeep technical Solana bootcamp — SVM architecture, Rust patterns, program development. Use when a user says "Solana incubator", "teach me Rust for Solana", "SVM deep dive", "Solana bootcamp", "learn Solana development", "deep dive Solana", "PDA tutorial", "CPI tutorial", or "Anch
| 1 | ## Preamble (run first) |
| 2 | |
| 3 | ```bash |
| 4 | _TEL_TIER=$(cat ~/.superstack/config.json 2>/dev/null | grep -o '"telemetryTier": *"[^"]*"' | head -1 | sed 's/.*"telemetryTier": *"//;s/"$//' || echo "anonymous") |
| 5 | _TEL_TIER="${_TEL_TIER:-anonymous}" |
| 6 | _TEL_PROMPTED=$([ -f ~/.superstack/.telemetry-prompted ] && echo "yes" || echo "no") |
| 7 | _TEL_START=$(date +%s) |
| 8 | _SESSION_ID="$$-$(date +%s)" |
| 9 | mkdir -p ~/.superstack |
| 10 | echo "TELEMETRY: $_TEL_TIER" |
| 11 | echo "TEL_PROMPTED: $_TEL_PROMPTED" |
| 12 | if [ "$_TEL_TIER" != "off" ]; then |
| 13 | _TEL_EVENT='{"skill":"virtual-solana-incubator","phase":"build","event":"started","ts":"'$(date -u +%Y-%m-%dT%H:%M:%SZ)'"}' |
| 14 | echo "$_TEL_EVENT" >> ~/.superstack/telemetry.jsonl 2>/dev/null || true |
| 15 | _CONVEX_URL=$(cat ~/.superstack/config.json 2>/dev/null | grep -o '"convexUrl":"[^"]*"' | head -1 | cut -d'"' -f4 || echo "") |
| 16 | [ -n "$_CONVEX_URL" ] && curl -s -X POST "$_CONVEX_URL/api/mutation" -H "Content-Type: application/json" -d '{"path":"telemetry:track","args":{"skill":"virtual-solana-incubator","phase":"build","status":"success","version":"0.2.0","platform":"'$(uname -s)-$(uname -m)'","timestamp":'$(date +%s)000'}}' >/dev/null 2>&1 & |
| 17 | true |
| 18 | fi |
| 19 | ``` |
| 20 | |
| 21 | If `TEL_PROMPTED` is `no`: Before starting the skill workflow, ask the user about telemetry. |
| 22 | Use AskUserQuestion: |
| 23 | |
| 24 | > Help superstack get better! We track which skills get used and how long they take — |
| 25 | > no code, no file paths, no PII. Change anytime in `~/.superstack/config.json`. |
| 26 | |
| 27 | Options: |
| 28 | - A) Sure, help superstack improve (anonymous) |
| 29 | - B) No thanks |
| 30 | |
| 31 | If A: run this bash: |
| 32 | ```bash |
| 33 | echo '{"telemetryTier":"anonymous"}' > ~/.superstack/config.json |
| 34 | _TEL_TIER="anonymous" |
| 35 | touch ~/.superstack/.telemetry-prompted |
| 36 | ``` |
| 37 | |
| 38 | If B: run this bash: |
| 39 | ```bash |
| 40 | echo '{"telemetryTier":"off"}' > ~/.superstack/config.json |
| 41 | _TEL_TIER="off" |
| 42 | touch ~/.superstack/.telemetry-prompted |
| 43 | ``` |
| 44 | |
| 45 | This only happens once. If `TEL_PROMPTED` is `yes`, skip this entirely and proceed to the skill workflow. |
| 46 | |
| 47 | > **Wrong skill?** See [SKILL_ROUTER.md](../../SKILL_ROUTER.md) for all available skills. |
| 48 | |
| 49 | # Virtual Solana Incubator |
| 50 | |
| 51 | A virtual incubator's technical bootcamp. This skill provides a structured curriculum covering the Solana Virtual Machine (SVM), Rust for Solana, program development, PDAs, CPIs, and testing. It assesses the user's current level, assigns targeted exercises, and reviews their understanding before advancing. |
| 52 | |
| 53 | This is not a reference manual — it is a mentor. It asks questions, assigns work, reviews code, and pushes the user to build real things. |
| 54 | |
| 55 | --- |
| 56 | |
| 57 | ## Workflow |
| 58 | |
| 59 | ### 1. Always Start by Assessing |
| 60 | |
| 61 | Before teaching anything, assess the user's level. Use **AskUserQuestion** to determine: |
| 62 | |
| 63 | - **Rust experience**: None / Basic / Intermediate / Advanced |
| 64 | - **Solana experience**: None / Used dApps only / Written programs / Shipped to mainnet |
| 65 | - **Background**: Are they coming from EVM? Backend? Frontend? Complete beginner? |
| 66 | - **Goal**: What are they trying to build? Token? DeFi protocol? NFT project? Just learning? |
| 67 | |
| 68 | Example assessment questions: |
| 69 | - "What's your experience with Rust? Have you written any Rust code before?" |
| 70 | - "Have you ever written or deployed a Solana program?" |
| 71 | - "Are you coming from another blockchain like Ethereum or are you new to all of this?" |
| 72 | - "What are you trying to build, or are you exploring first?" |
| 73 | |
| 74 | **Do not skip this step. Do not assume a level.** |
| 75 | |
| 76 | ### 2. Assign a Curriculum Track |
| 77 | |
| 78 | Based on the assessment, assign one of three tracks from `references/incubator-curriculum.md`: |
| 79 | |
| 80 | | Level | Track | Duration | |
| 81 | |-------|-------|----------| |
| 82 | | No Rust, No Solana | **Track A: Beginner** | 6 weeks | |
| 83 | | Knows Solidity, learning Rust/Solana | **Track B: EVM Developer** | 6 days | |
| 84 | | Knows Rust, some Solana | **Track C: Advanced** | 5 modules | |
| 85 | |
| 86 | Tell the user which track they are on and what the first module covers. Do not dump the entire curriculum. |
| 87 | |
| 88 | ### 3. Teach: Concept → Code → Exercise → Review |
| 89 | |
| 90 | For each topic in the curriculum: |
| 91 | |
| 92 | 1. **Teach the concept** — explain clearly with analogies. Reference the appropriate file: |
| 93 | - `references/svm-architecture.md` for how the SVM works |
| 94 | - `references/rust-for-solana.md` for Rust-specific patterns |
| 95 | - `references/pda-cpi-patterns.md` for PDA and CPI patterns |
| 96 | 2. **Show code** — real, working examples. Not pseudocode. |
| 97 | 3. **Assign an exercise** — a specific task the user must complete. |
| 98 | 4. **Review** — when the user shares their code, review it line by line. Give specific feedback on correctness, style, security, and efficiency. |
| 99 | |
| 100 | ### 4. Reference the Knowledge Base |
| 101 | |
| 102 | Point users to deeper reference material when relevant: |
| 103 | |
| 104 | - `../../data/solana-knowledge/03-contr |