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.
- package/README.md +38 -0
- package/package.json +5 -2
- package/src/core-skills/module-help.csv +2 -0
- package/src/core-skills/stellar-lean/SKILL.md +70 -0
- package/src/core-skills/stellar-project-context/SKILL.md +152 -0
- package/src/stellar-skills/1-analysis/stellar-agent-analyst/customize.toml +5 -0
- package/src/stellar-skills/1-analysis/stellar-known-assets/SKILL.md +125 -0
- package/src/stellar-skills/4-implementation/stellar-agent-devops/customize.toml +5 -0
- package/src/stellar-skills/4-implementation/stellar-doctor/SKILL.md +207 -0
- package/src/stellar-skills/5-mentorship/stellar-demo-prep/SKILL.md +139 -0
- package/src/stellar-skills/5-mentorship/stellar-idea-scoping/SKILL.md +125 -0
- package/src/stellar-skills/5-mentorship/stellar-judging-criteria/SKILL.md +119 -0
- package/src/stellar-skills/5-mentorship/stellar-mvp-definition/SKILL.md +124 -0
- package/src/stellar-skills/5-mentorship/stellar-pitch-coaching/SKILL.md +150 -0
- package/src/stellar-skills/5-mentorship/stellar-submission-prep/SKILL.md +234 -0
- package/src/stellar-skills/5-mentorship/stellar-track-recommendation/SKILL.md +97 -0
- package/src/stellar-skills/module-help.csv +9 -0
- package/tools/installer/commands/init.js +22 -2
- package/tools/installer/commands/mcp.js +38 -0
- package/tools/installer/commands/version.js +42 -0
- package/tools/installer/stellar-cli.js +1 -1
- package/tools/mcp-server/server.js +281 -0
|
@@ -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
|