stellar-agent 0.2.0 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,139 @@
1
+ ---
2
+ name: stellar-demo-prep
3
+ description: 'Build the hackathon demo — storyboard, 2–3 min script, recording checklist, common failure modes. Use when the user is about to record the demo, needs a script, wants to know how to record, or is debugging a broken demo run.'
4
+ ---
5
+
6
+ # Demo Prep
7
+
8
+ ## Purpose
9
+
10
+ The demo is what judges see. A 90-second clean demo outscores a 5-minute messy one. This skill produces a storyboard, a narration script timed shot-by-shot, and a checklist that pre-empts the most common demo failures on Stellar.
11
+
12
+ ## On Activation
13
+
14
+ Load `{planning_artifacts}/hackathon-brief.md`. Extract the hero moment and the demo flow. If missing, recommend `IS` (Idea Scoping) first.
15
+
16
+ ## Workflow
17
+
18
+ ### Step 1: Lock the Demo Length
19
+
20
+ Default to **2 minutes**. Hackathon judges fatigue after 90 seconds; 2 minutes is the safe upper bound. Only go to 3 minutes if the hackathon's official template specifies it.
21
+
22
+ ### Step 2: Storyboard the Demo
23
+
24
+ Build a shot list with timing. Each shot has a screen state, an action, and a one-sentence narration.
25
+
26
+ ```markdown
27
+ ## Demo storyboard (2:00)
28
+
29
+ ### Shot 1 — 0:00–0:15 · Problem
30
+ - **Screen:** <landing page or pain-point visual>
31
+ - **Action:** static
32
+ - **Narration:** "<one sentence problem statement>"
33
+
34
+ ### Shot 2 — 0:15–0:30 · Setup
35
+ - **Screen:** dApp landing, Freighter wallet visible in toolbar
36
+ - **Action:** Click "Connect Wallet" → Freighter popup → approve
37
+ - **Narration:** "<what the user is about to do>"
38
+
39
+ ### Shot 3 — 0:30–1:00 · Hero moment
40
+ - **Screen:** <main interaction>
41
+ - **Action:** <the signed Soroban call>
42
+ - **Narration:** "<what just happened on-chain and why it matters>"
43
+
44
+ ### Shot 4 — 1:00–1:30 · Proof
45
+ - **Screen:** stellar.expert tx page OR contract state read
46
+ - **Action:** click through to the tx
47
+ - **Narration:** "<the on-chain receipt is the proof>"
48
+
49
+ ### Shot 5 — 1:30–2:00 · Ask
50
+ - **Screen:** GitHub repo + testnet contract ID
51
+ - **Action:** static
52
+ - **Narration:** "<what we built, what we want next>"
53
+ ```
54
+
55
+ Total narration: ~250–300 words at conversational pace.
56
+
57
+ ### Step 3: Pre-Recording Checklist
58
+
59
+ Run this checklist **before hitting record**. Every item is a common failure.
60
+
61
+ #### Wallet & network
62
+ - [ ] Freighter installed, on Testnet
63
+ - [ ] Account funded — at least 100 XLM (`stellar keys fund <name> --network testnet`)
64
+ - [ ] Account already authorized for the dApp (no first-time consent popup mid-demo)
65
+ - [ ] If using multiple accounts, the right one is active
66
+ - [ ] `networkPassphrase` in code matches Freighter's network
67
+
68
+ #### Contract state
69
+ - [ ] Contract initialized — `initialize` (or equivalent) has been called
70
+ - [ ] Contract has demo-able state (not a fresh deploy with empty storage)
71
+ - [ ] Storage TTL extended if needed — `stellar contract extend`
72
+ - [ ] If demoing a token transfer, both accounts have trustlines
73
+
74
+ #### App state
75
+ - [ ] Dev server running on a stable port
76
+ - [ ] Hot reload disabled (it can crash mid-demo)
77
+ - [ ] Browser cache cleared OR full-restart browser
78
+ - [ ] No console errors on first load
79
+ - [ ] No dev tools visible during recording
80
+ - [ ] No personal tabs, bookmarks, or notifications visible
81
+ - [ ] Browser zoomed for the recording resolution (typically 100–125% for 1080p capture)
82
+
83
+ #### Recording rig
84
+ - [ ] Recording at 1920×1080 minimum, 30+ fps
85
+ - [ ] Mic levels checked — speak a sentence, watch the meter
86
+ - [ ] No background noise (fans, traffic, slack notifications)
87
+ - [ ] Screen recording tool tested — first 5 seconds reviewed
88
+ - [ ] Backup recording running on a second tool (in case of glitch)
89
+
90
+ #### Backup plan
91
+ - [ ] **Pre-recorded backup** of the hero moment, in case live demo fails
92
+ - [ ] Static screenshots of every shot as last-resort fallback
93
+
94
+ ### Step 4: Common Failure Modes
95
+
96
+ Pera flags these mid-demo. Use the table to diagnose live.
97
+
98
+ | Failure mode | Cause | Fix |
99
+ |---|---|---|
100
+ | Freighter popup loops | Site not pre-approved or network mismatch | Pre-approve before recording; restart Freighter; check `networkPassphrase` |
101
+ | Tx pending forever | Testnet congestion / sequence mismatch / fee too low | Use `p75` from `feeStats`; reload account before build; pre-record success path |
102
+ | "Wrong network" error | Mainnet wallet against testnet site | Switch Freighter to Testnet manually; reload page |
103
+ | `op_no_destination` | Account doesn't exist on-chain | Fund both accounts before recording |
104
+ | `op_no_trust` | Custom asset, no trustline | Set up `changeTrust` for both demo accounts pre-record |
105
+ | Empty contract state | Contract not initialized after deploy | Run init script before recording |
106
+ | Contract returns expired-key error | Storage TTL expired | Run `stellar contract extend` before recording |
107
+ | App crashes on connect | Async race with Freighter API | Add 200ms delay after `requestAccess()` |
108
+
109
+ ### Step 5: Narration Tips
110
+
111
+ - **Read the script out loud once before recording.** It will sound different than it reads.
112
+ - **Speak 10% slower than feels natural.** Recordings always play back faster than you remember.
113
+ - **No filler.** Cut every "um", "so", "basically", "as you can see".
114
+ - **Anchor every claim to what's on-screen.** "Notice the contract ID at the top" beats "the contract is deployed".
115
+ - **End with a clear ask.** "Repo is at X, contract is at Y, we'd love feedback on Z."
116
+
117
+ ### Step 6: Save
118
+
119
+ Save the storyboard to `{implementation_artifacts}/demo-storyboard.md` and the checklist as `{implementation_artifacts}/demo-checklist.md`.
120
+
121
+ Confirm with the user: *"Ready to record?"*
122
+
123
+ ## Anti-patterns to flag
124
+
125
+ - **Live demo from a fresh state.** Always demo from a pre-populated state with one successful tx already on-chain.
126
+ - **Wallet popup mid-narration.** Pre-approve everything that can be pre-approved.
127
+ - **Showing the IDE.** Judges want to see the dApp, not VS Code.
128
+ - **Skipping the on-chain proof.** No `stellar.expert` link = no on-chain proof = judges assume it's mocked.
129
+ - **Recording at 720p.** Looks bad on a 4K judging monitor. 1080p minimum.
130
+
131
+ ## Output
132
+
133
+ - `{implementation_artifacts}/demo-storyboard.md`
134
+ - `{implementation_artifacts}/demo-checklist.md`
135
+
136
+ ## Next Steps
137
+
138
+ - `stellar-pitch-coaching` (PC) — pitch deck and judge Q&A
139
+ - `stellar-submission-prep` (SP) — final checklist before submit
@@ -0,0 +1,125 @@
1
+ ---
2
+ name: stellar-idea-scoping
3
+ description: 'Pressure-test a hackathon idea against the build window and produce a one-page brief with cut list. Use when the user wants to scope an idea, validate scope, fit an idea into 24/48/72 hours, or shape what to build before any code is written.'
4
+ ---
5
+
6
+ # Idea Scoping
7
+
8
+ ## Purpose
9
+
10
+ Take a raw hackathon idea and force it into a buildable shape: one demo, one user, one on-chain action. Produce a one-pager with an explicit cut list.
11
+
12
+ ## On Activation
13
+
14
+ Load config from `{project-root}/_stellar/stellar/config.yaml`. Resolve `{network_preference}` and `{planning_artifacts}`.
15
+
16
+ If Pera hasn't already collected them this session, ask in one block (skippable):
17
+ 1. Build window: 24h / 48h / 72h
18
+ 2. Submission deadline (ISO date or "hours from now")
19
+ 3. Hackathon link (Devpost / SCF / SDF page) — fetch the rubric if provided
20
+
21
+ ## Workflow
22
+
23
+ ### Step 1: Surface the Raw Idea
24
+
25
+ Ask the user to describe the idea in their own words. Do not let them spend more than 90 seconds on this. Capture verbatim — don't paraphrase yet.
26
+
27
+ ### Step 2: Apply the Three Scope Tests
28
+
29
+ For each test, get a verdict before moving on:
30
+
31
+ | Test | Pass criterion | If fails |
32
+ |---|---|---|
33
+ | **Demo-able in 90 seconds** | A judge can grasp the value in one screen recording | Cut the idea down or pick a different framing |
34
+ | **One on-chain action** | The demo has a single signed Soroban call or transaction | Pick the most impressive one and drop the rest |
35
+ | **Reversible to a smaller version** | If 30% of build time is lost, can you still ship something? | Define the smallest shippable version now |
36
+
37
+ Verdict format:
38
+ ```
39
+ ✅ Demo-able in 90s — <one-sentence reason>
40
+ ✅ One on-chain action — <which one>
41
+ ✅ Reversible — <fallback version>
42
+ ```
43
+
44
+ If any test fails, do not proceed. Iterate the idea with the user.
45
+
46
+ ### Step 3: Pick the Hero Moment
47
+
48
+ Ask: *"What is the one moment in the demo where the judge says 'oh, that's cool'?"*
49
+
50
+ That moment becomes the anchor for everything else. The MVP must deliver that moment. Anything that doesn't serve it is a candidate for the cut list.
51
+
52
+ ### Step 4: Write the One-Pager
53
+
54
+ Save to `{planning_artifacts}/hackathon-brief.md`:
55
+
56
+ ```markdown
57
+ # <Project name>
58
+
59
+ **Track:** <DeFi | Payments | Identity | Gaming | RWA | Other>
60
+ **Build window:** <24 | 48 | 72> hours
61
+ **Submission deadline:** <YYYY-MM-DD HH:MM TZ>
62
+ **Network:** {network_preference}
63
+
64
+ ## Problem
65
+
66
+ <One sentence — who hurts, when, why current solutions fail.>
67
+
68
+ ## Solution
69
+
70
+ <One sentence — what the dApp does on Stellar.>
71
+
72
+ ## Why Stellar / Soroban
73
+
74
+ <Why this needs Soroban or Classic Stellar — not generic blockchain.
75
+ What primitive (custom tokens, AMM, contract storage, etc.) makes it Stellar-native.>
76
+
77
+ ## Hero moment
78
+
79
+ <The 5-second screen-recording clip the demo is built around.>
80
+
81
+ ## Demo flow (60–90s)
82
+
83
+ 1. <Open state — what the judge sees first.>
84
+ 2. <Action 1 — connect / sign.>
85
+ 3. <Action 2 — the hero moment.>
86
+ 4. <Proof — on-chain receipt / contract state.>
87
+
88
+ ## Cut list
89
+
90
+ - ❌ <Feature we won't build.>
91
+ - ❌ <Feature we won't build.>
92
+ - ❌ <Feature we won't build.>
93
+
94
+ ## Open risks
95
+
96
+ - ⚠️ <Risk + mitigation>
97
+ - ⚠️ <Risk + mitigation>
98
+ ```
99
+
100
+ ### Step 5: Confirm and Hand Off
101
+
102
+ Show the one-pager to the user. Ask: *"Lock this in?"*
103
+
104
+ If yes:
105
+ - Save to `{planning_artifacts}/hackathon-brief.md`
106
+ - Suggest the next skill: `TR` (Track Recommendation) if track is unclear, else `MV` (MVP Definition)
107
+
108
+ If no: iterate on whichever section the user pushes back on.
109
+
110
+ ## Anti-patterns to flag
111
+
112
+ - **"It's like Uniswap but on Stellar"** — too vague. Force a one-sentence problem statement.
113
+ - **"And it also has a token, and a DAO, and..."** — too big. Strip to one on-chain action.
114
+ - **"We'll figure out the demo after we build it"** — backwards. Demo flow first, build to that.
115
+ - **"We need a real backend / database / auth"** — only if the demo requires it. Most hackathons can fake auth with a hardcoded wallet.
116
+
117
+ ## Output
118
+
119
+ Single file at `{planning_artifacts}/hackathon-brief.md`. This becomes the source of truth that `MV`, `JC`, and `DM` all read from.
120
+
121
+ ## Next Steps
122
+
123
+ - `stellar-track-recommendation` (TR) — if you haven't picked a track yet
124
+ - `stellar-mvp-definition` (MV) — split the brief into must-have / nice-to-have / skip
125
+ - `stellar-judging-criteria` (JC) — only after the brief is locked
@@ -0,0 +1,119 @@
1
+ ---
2
+ name: stellar-judging-criteria
3
+ description: 'Reverse-map the build to the hackathon judging rubric and identify gaps before they cost points. Use when the user wants to know how the submission scores against the rubric, what to harden before submission, or how judges will perceive the build.'
4
+ ---
5
+
6
+ # Judging Criteria Alignment
7
+
8
+ ## Purpose
9
+
10
+ Judges score against a rubric. Teams build against features. This skill closes the gap — for every rubric criterion, identify what in the build wins it (and what's missing).
11
+
12
+ ## On Activation
13
+
14
+ Load:
15
+ - `{planning_artifacts}/hackathon-brief.md` (must exist — recommend `IS` and `MV` first if missing)
16
+ - Hackathon URL if provided to Pera — fetch the official rubric
17
+
18
+ If no rubric is available, use the generic Stellar judging rubric below.
19
+
20
+ ## Workflow
21
+
22
+ ### Step 1: Confirm the Rubric
23
+
24
+ Pull the official rubric from the hackathon page if known. Otherwise use:
25
+
26
+ | Criterion | Default weight | What judges look for |
27
+ |---|---|---|
28
+ | Innovation | 25% | "Have we seen this before on Stellar?" |
29
+ | Technical implementation | 25% | Soroban depth, code quality, test coverage |
30
+ | Business / impact | 25% | Who pays, how big, distribution path |
31
+ | Demo quality | 25% | Recording, narration, on-chain proof |
32
+
33
+ Show the user the rubric and confirm before proceeding.
34
+
35
+ ### Step 2: Reverse-Map the Build
36
+
37
+ For each criterion, ask: *"What specifically in our build wins this?"*
38
+
39
+ Produce a table:
40
+
41
+ ```markdown
42
+ ## Rubric alignment
43
+
44
+ | Criterion | Weight | How our build wins it | Score self-assessment |
45
+ |---|---|---|---|
46
+ | <criterion> | <%> | <specific feature, code path, or asset> | <strong | medium | weak> |
47
+ | <criterion> | <%> | <specific feature, code path, or asset> | <strong | medium | weak> |
48
+ ```
49
+
50
+ Rules:
51
+ - "How our build wins it" must be **specific**. Not "good architecture" — name the contract, the function, the storage tier.
52
+ - Self-assessment is honest. Mark `weak` if it's not the team's strongest answer.
53
+
54
+ ### Step 3: Identify Gaps
55
+
56
+ For every criterion marked `weak` or `medium`:
57
+
58
+ ```
59
+ GAP: <criterion>
60
+ Cost to close: <hours>
61
+ Easiest win: <one specific action — write a test, polish a screen, record a 30s segment>
62
+ ```
63
+
64
+ Sort the gaps by `weight × (target_score − current_score)` — biggest expected-points-gain first.
65
+
66
+ ### Step 4: Recommend Spend
67
+
68
+ If the team has buffer time left from `MV`:
69
+
70
+ - Apply the buffer to the top gap until either:
71
+ - The gap closes, or
72
+ - The buffer runs out
73
+ - If the buffer runs out with gaps remaining, the team is over-scoped. Move a nice-to-have to skip and recompute.
74
+
75
+ ### Step 5: Stellar-Specific Hardening
76
+
77
+ These items move scores noticeably on most Stellar hackathon rubrics. Check each:
78
+
79
+ | Item | Why it matters | How to check |
80
+ |---|---|---|
81
+ | Contract has at least one passing test | Technical implementation | `cargo test` from contract dir |
82
+ | Deployed to testnet with a successful tx | Demo quality | Have a `stellar.expert` link in README |
83
+ | README has install + run instructions | Technical implementation | A judge can clone and run in < 5 min |
84
+ | Uses a Soroban primitive non-trivially | Innovation | Custom storage type, cross-contract call, auth pattern, etc. |
85
+ | `stellar.toml` configured (if custom asset) | Real-world fit | File exists, served at root |
86
+ | At least one SEP referenced (10/24/31/41) | Innovation + real-world fit | Even mentioning SEP-10 auth in README counts |
87
+
88
+ For each item failing, log it as a gap with a cost estimate.
89
+
90
+ ### Step 6: Save and Confirm
91
+
92
+ Append to `{planning_artifacts}/hackathon-brief.md` as a `## Rubric alignment` section.
93
+
94
+ Show the user the top 3 gaps. Ask: *"Closing these — or accepting and moving on?"*
95
+
96
+ ## The 80/20 of judging
97
+
98
+ Across hackathons, two things move the needle disproportionately:
99
+ 1. **Demo quality** — a 90s recording with clean narration outperforms 2 extra features.
100
+ 2. **README clarity** — judges who can't run the project skim the README; clear READMEs convert skim-judges into engaged judges.
101
+
102
+ If forced to pick between closing a technical gap or polishing the demo + README, polish wins almost every time.
103
+
104
+ ## Anti-patterns to flag
105
+
106
+ - **"We'll add tests after submission."** — Tests are evidence of technical depth. Even one passing test changes the perception.
107
+ - **"The demo speaks for itself."** — It doesn't. Narration carries 50% of demo quality.
108
+ - **"We don't need a README — the code is self-documenting."** — Judges don't read code first. README is the front door.
109
+ - **"Let's add another feature instead of polishing."** — One polished feature outscores three half-finished ones every time.
110
+
111
+ ## Output
112
+
113
+ Updates `{planning_artifacts}/hackathon-brief.md` with rubric alignment table, gap list with costs, and recommended spend.
114
+
115
+ ## Next Steps
116
+
117
+ - `stellar-demo-prep` (DM) — turn the gaps into a recording plan
118
+ - `stellar-pitch-coaching` (PC) — sharpen the narration
119
+ - `stellar-submission-prep` (SP) — once gaps are closed, run the submission checklist
@@ -0,0 +1,124 @@
1
+ ---
2
+ name: stellar-mvp-definition
3
+ description: 'Split the hackathon feature list into must-have, nice-to-have, and skip — with hour estimates and a buffer rule. Use when the user needs to cut scope, knows what they want to build but not what to drop, or is asking whether something will fit in the timebox.'
4
+ ---
5
+
6
+ # MVP Definition
7
+
8
+ ## Purpose
9
+
10
+ Turn the brief into a buildable plan that fits the timebox with buffer. Anything in the "skip" column is not discussed again — it's a forcing function against feature creep.
11
+
12
+ ## On Activation
13
+
14
+ Load `{planning_artifacts}/hackathon-brief.md`. Resolve `{network_preference}` and `{primary_language}` from config.
15
+
16
+ If no brief exists, recommend running `IS` (Idea Scoping) first.
17
+
18
+ ## Workflow
19
+
20
+ ### Step 1: Enumerate All Features
21
+
22
+ Ask the user to list every feature they're imagining for the demo. Don't filter yet. Capture all of them. Aim for 8–15 items.
23
+
24
+ ### Step 2: Estimate Each Feature in Hours
25
+
26
+ For each feature, ask: *"If a skilled Stellar dev built only this, how many hours?"*
27
+
28
+ Use these rules of thumb for calibration:
29
+
30
+ | Feature class | Hours (skilled Stellar dev) |
31
+ |---|---|
32
+ | New Soroban contract function with tests | 2–4 |
33
+ | Contract deploy + initialization scripts | 1–2 |
34
+ | Freighter connect + sign in React | 1–2 |
35
+ | Next.js page with Stellar SDK calls | 1–3 |
36
+ | Custom asset creation + trustline | 1 |
37
+ | SEP-10 auth flow | 3–5 |
38
+ | Anchor integration (SEP-24 / SEP-31) | 4–8 |
39
+ | Storage migration / contract upgrade | 3–6 |
40
+ | Tailwind dashboard with charts | 2–4 |
41
+ | Demo recording + narration | 1 |
42
+ | Pitch deck | 1–2 |
43
+ | README + repo polish | 0.5–1 |
44
+
45
+ Multiply by 1.5 for an inexperienced team. By 2 for a first-time Stellar team.
46
+
47
+ ### Step 3: Apply the Cut
48
+
49
+ Build a three-column table:
50
+
51
+ ```markdown
52
+ ## MVP cut
53
+
54
+ | Must-have (build first) | Nice-to-have (only if ahead) | Skip (do not start) |
55
+ |---|---|---|
56
+ | <feature> — <hours> | <feature> — <hours> | <feature> |
57
+ | <feature> — <hours> | <feature> — <hours> | <feature> |
58
+ | <feature> — <hours> | | |
59
+
60
+ **Total must-have hours:** <X>
61
+ **Build window:** <Y>
62
+ **Buffer:** <Y − X> hours (<percentage>%)
63
+ ```
64
+
65
+ ### Step 4: The 25% Buffer Rule
66
+
67
+ Apply this rule mechanically:
68
+
69
+ - If `buffer < 25%` of build window → move the bottom must-have to nice-to-have.
70
+ - If `buffer < 10%` → move two items down. Idea is still too big.
71
+ - If `buffer ≥ 50%` → the idea is too small. Promote one nice-to-have OR plan for polish (better demo, tighter UX).
72
+
73
+ No exceptions. The buffer rule is non-negotiable because it absorbs three categories of cost the team always underestimates: debugging time, testnet flakiness, and recording retakes.
74
+
75
+ ### Step 5: Mark the Demo Path
76
+
77
+ In the must-have column, prefix each item that's on the critical demo path with `🎯`:
78
+
79
+ ```
80
+ 🎯 Connect Freighter wallet — 1h
81
+ 🎯 Sign Soroban contract call — 2h
82
+ Display contract state — 1h
83
+ 🎯 Show stellar.expert tx link — 0.5h
84
+ ```
85
+
86
+ Critical demo path items must finish first. Everything else is optional, even if it's marked must-have.
87
+
88
+ ### Step 6: Define the Fallback
89
+
90
+ Ask: *"If 30% of the build window evaporates, what does the demo look like?"*
91
+
92
+ Write the fallback below the cut table:
93
+
94
+ ```markdown
95
+ ## Fallback (if 30% of time is lost)
96
+
97
+ - Drop: <item>
98
+ - Demo flow shortened to: <one sentence>
99
+ - Hero moment preserved? <yes / no — if no, the cut is wrong>
100
+ ```
101
+
102
+ If the hero moment isn't preserved, the cut needs to be re-done.
103
+
104
+ ### Step 7: Save
105
+
106
+ Append to `{planning_artifacts}/hackathon-brief.md` under a `## MVP cut` heading. Confirm with the user before proceeding.
107
+
108
+ ## Anti-patterns to flag
109
+
110
+ - **"We can always add it later if we have time."** — That's what nice-to-have is for. Don't blur the columns.
111
+ - **"This is must-have because it's important."** — Important ≠ must-have for the demo. Critical demo path is the only test.
112
+ - **"Auth has to be real."** — Hackathon judges rarely test auth. Hardcoded wallet is fine for the demo.
113
+ - **"We need a database."** — Soroban storage + an in-memory cache usually covers it. Real DBs eat 4–6 hours of setup.
114
+ - **"We need a mobile app."** — Web demo first. Mobile is a v2.
115
+
116
+ ## Output
117
+
118
+ Updates `{planning_artifacts}/hackathon-brief.md` with the cut table, buffer math, demo path markers, and fallback.
119
+
120
+ ## Next Steps
121
+
122
+ - `stellar-judging-criteria` (JC) — map the must-haves to the rubric
123
+ - `@stellar-agent-architect` (Nova) — lean architecture for the must-haves
124
+ - `@stellar-agent-developer` (Sol) — start `IC` once the cut is locked
@@ -0,0 +1,150 @@
1
+ ---
2
+ name: stellar-pitch-coaching
3
+ description: 'Build the hackathon pitch — 3-minute deck outline, elevator pitch, and judge Q&A drill. Use when the user needs a pitch deck, has to present live to judges, or wants to rehearse common judge questions before submission.'
4
+ ---
5
+
6
+ # Pitch Coaching
7
+
8
+ ## Purpose
9
+
10
+ Most submissions fail the pitch even when the build is strong. Judges spend 3 minutes per team — a tight pitch sells the build before they have time to inspect the code. This skill produces the four-beat pitch, the deck outline, and the Q&A drill.
11
+
12
+ ## On Activation
13
+
14
+ Load:
15
+ - `{planning_artifacts}/hackathon-brief.md` — for problem, solution, hero moment
16
+ - `{implementation_artifacts}/demo-storyboard.md` — the recorded demo
17
+
18
+ Recommend running `DM` (Demo Prep) first if no demo exists.
19
+
20
+ ## Workflow
21
+
22
+ ### Step 1: The Four-Beat Pitch (3 minutes)
23
+
24
+ Every pitch has the same four beats. Time them strictly.
25
+
26
+ ```markdown
27
+ ## Pitch (3:00)
28
+
29
+ ### Beat 1 — Problem (0:30)
30
+ - Who hurts. How often. What they lose today.
31
+ - One sentence, one statistic, one human detail.
32
+ - Avoid: "blockchain", "web3", "trustless" — these are jargon, not problem statements.
33
+
34
+ ### Beat 2 — Solution + Demo (1:30)
35
+ - One sentence on what you built.
36
+ - Play the recorded demo.
37
+ - The demo carries this beat — don't talk over it.
38
+
39
+ ### Beat 3 — Why now / Why Stellar (0:30)
40
+ - What changed that makes this possible now.
41
+ - What Stellar primitive makes this work that wouldn't on another chain.
42
+ - Cite one specific Stellar feature: Soroban contract, anchors, SEP-10, custom assets, low fees.
43
+
44
+ ### Beat 4 — Ask (0:30)
45
+ - Where the repo is (GitHub URL).
46
+ - Where the contract lives (testnet contract ID).
47
+ - What's next: mainnet date, a specific partner, a specific mentor intro.
48
+ - A specific ask beats a generic one. "We want feedback on our auth model from anyone who's shipped SEP-10" > "We want feedback".
49
+ ```
50
+
51
+ ### Step 2: The Elevator Pitch (15 seconds)
52
+
53
+ For the hallway / Discord intros. Stricter than Beat 1.
54
+
55
+ Format:
56
+ ```
57
+ We built <thing> on Stellar. It lets <user> <verb> <object>, which currently <pain>. Built in <hours>h, deployed on testnet.
58
+ ```
59
+
60
+ Example:
61
+ ```
62
+ We built a payroll dApp on Stellar. It lets remote teams pay contractors in USDC across borders in under 5 seconds, which currently takes 3 days through Wise. Built in 48h, deployed on testnet.
63
+ ```
64
+
65
+ Drill this until it's automatic. The user should be able to deliver it without thinking.
66
+
67
+ ### Step 3: Deck Outline (Optional — Some Hackathons Require)
68
+
69
+ If the hackathon requires a slide deck, use this 7-slide template. Keep slides visual, not text-heavy.
70
+
71
+ | # | Slide | Content | Time |
72
+ |---|---|---|---|
73
+ | 1 | Title | Product name · team handles · one-line tagline | 5s |
74
+ | 2 | Problem | One image · one statistic · one sentence | 25s |
75
+ | 3 | Solution | Screenshot of the dApp · one sentence | 20s |
76
+ | 4 | Demo | Video embed (autoplay) OR static "Demo →" pointer | 90s |
77
+ | 5 | Why Stellar | One diagram · key primitive(s) used | 25s |
78
+ | 6 | Ask | Repo URL · contract ID · what's next | 20s |
79
+ | 7 | Team | Names, handles, what each person built | 5s |
80
+
81
+ Tools: Pitch.com, Slides.app, Google Slides, or a single-page HTML deck. Don't waste hackathon time on slide design — content over polish.
82
+
83
+ ### Step 4: Judge Q&A Drill
84
+
85
+ Judges ask predictable questions. Drill answers in under 30 seconds each.
86
+
87
+ #### Always-asked
88
+
89
+ - **"What stops a competitor from copying this in a week?"**
90
+ - Answer pattern: distribution, data moat, or a specific technical hurdle (e.g., "we use a custom Soroban storage pattern that took us 30h to design").
91
+ - **"Why on-chain instead of a Postgres table?"**
92
+ - Answer pattern: censorship resistance, composability, public verifiability, or the specific reason settlement on Stellar beats settlement off-chain (low fees, fast finality, anchors).
93
+ - **"What's the cost per user on mainnet?"**
94
+ - Pull real numbers: Soroban resource fees, Horizon RPC costs, Anchor fees. Have a per-tx cost ready.
95
+ - **"Who's your first paying customer?"**
96
+ - A specific company name or persona is better than a market segment.
97
+ - **"How big is the market?"**
98
+ - One number + the source. No range. No "billions" without citation.
99
+
100
+ #### Track-specific
101
+
102
+ | Track | Common questions |
103
+ |---|---|
104
+ | DeFi | "What's your TVL plan?" · "Liquidity bootstrap strategy?" · "Composability with which protocols?" |
105
+ | Payments | "Anchor relationships?" · "Compliance posture?" · "FX/spread economics?" |
106
+ | Identity | "How does this comply with GDPR / CCPA?" · "Sybil resistance?" |
107
+ | Gaming | "Player retention curve?" · "Tokenomics balance?" |
108
+ | RWA | "Legal structure for the tokenized asset?" · "Oracle for off-chain price?" |
109
+
110
+ For each, write a one-paragraph answer. Drill until it's automatic.
111
+
112
+ #### Killer follow-up
113
+
114
+ - **"What's the worst thing about your build right now?"**
115
+ - This catches teams that pretend everything is perfect. A honest answer ("we don't have tests yet — we'd add them before mainnet") scores higher than deflection.
116
+
117
+ ### Step 5: Live-Pitch Hygiene
118
+
119
+ - **Stand up if Zoom-pitching.** Energy translates to camera.
120
+ - **One person pitches.** Multi-person pitches lose 30 seconds to handoffs.
121
+ - **Don't read slides.** Slides are visual support, not the script.
122
+ - **Keep your eyes on the camera, not the chat window.**
123
+ - **Have repo URL + contract ID on screen for Beat 4.** Judges screenshot it.
124
+
125
+ ### Step 6: Save
126
+
127
+ Save artifacts to:
128
+ - `{planning_artifacts}/pitch-script.md` — four-beat script with timing
129
+ - `{planning_artifacts}/elevator-pitch.md` — 15s version
130
+ - `{planning_artifacts}/judge-qa.md` — drilled answers to common questions
131
+
132
+ Recommend the user rehearse the pitch 3 times before submitting, with a stopwatch.
133
+
134
+ ## Anti-patterns to flag
135
+
136
+ - **Opening with "We're [team name] and we built…"** — Cut the team intro to the end. Open with the problem.
137
+ - **Spending 90 seconds on the team.** Save it for Q&A.
138
+ - **Reading the README on screen.** Judges can read. Talk over the demo, don't recite the README.
139
+ - **"This is just an MVP."** — Never apologize. Frame as "this is the shipped version of v1".
140
+ - **Vague asks.** "We'd love feedback" is not an ask. Name a specific thing.
141
+
142
+ ## Output
143
+
144
+ - `{planning_artifacts}/pitch-script.md`
145
+ - `{planning_artifacts}/elevator-pitch.md`
146
+ - `{planning_artifacts}/judge-qa.md`
147
+
148
+ ## Next Steps
149
+
150
+ - `stellar-submission-prep` (SP) — final checklist before hitting submit