create-baton 1.0.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,232 @@
1
+ ---
2
+ name: launch-prep
3
+ description: >-
4
+ Launch preparation and shipping guidance. Covers pre-launch questions,
5
+ launch options (silent/soft/public), launch checklists, and post-launch
6
+ protocol. Use at session 8+ when approaching launch, when the user
7
+ mentions launching, shipping, or getting real users.
8
+ ---
9
+
10
+ # Launch Prep Skill
11
+
12
+ > Building is easy. Launching is hard.
13
+ > Start thinking about launch from Session 8, not Session 20.
14
+
15
+ ---
16
+
17
+ ## When to Load This Skill
18
+
19
+ - Session 8+ (after MVP features work)
20
+ - When user mentions "launch" or "users"
21
+ - When backlog keeps growing without shipping
22
+
23
+ ---
24
+
25
+ ## The Launch Mindset
26
+
27
+ Most projects fail not because they're bad, but because they never launch.
28
+
29
+ **The formula:**
30
+ ```
31
+ Launched + Imperfect > Perfect + Never Shipped
32
+ ```
33
+
34
+ ---
35
+
36
+ ## Pre-Launch Questions (Session 8-10)
37
+
38
+ Ask the user:
39
+
40
+ ### 1. Who is the first user?
41
+
42
+ > "Who will use this first?
43
+ > - Yourself only?
44
+ > - Friends/family?
45
+ > - A specific person you know?
46
+ > - Strangers on the internet?"
47
+
48
+ **Why it matters:** First user determines launch complexity.
49
+
50
+ ### 2. How will they find it?
51
+
52
+ > "How will first users discover this?
53
+ > - You'll send them a link directly
54
+ > - Post on social media
55
+ > - Product Hunt / Hacker News
56
+ > - SEO / organic search
57
+ > - Other?"
58
+
59
+ **Why it matters:** Distribution determines what needs to be ready.
60
+
61
+ ### 3. What's the minimum to launch?
62
+
63
+ > "If you had to launch tomorrow, what's truly missing?
64
+ > List only BLOCKERS, not nice-to-haves."
65
+
66
+ **Why it matters:** Separates real blockers from perfectionism.
67
+
68
+ ---
69
+
70
+ ## Launch Options
71
+
72
+ ### Option A: Silent Launch
73
+
74
+ Just deploy. Share link with a few people. No announcement.
75
+
76
+ **Good for:**
77
+ - Testing with real users
78
+ - Low pressure
79
+ - Finding bugs before public launch
80
+
81
+ **Requires:**
82
+ - [ ] Core feature works
83
+ - [ ] No obvious crashes
84
+ - [ ] Basic error handling
85
+ - Nothing else
86
+
87
+ ### Option B: Soft Launch
88
+
89
+ Deploy + announce to a small audience (Twitter, friends, community).
90
+
91
+ **Good for:**
92
+ - Getting initial feedback
93
+ - Building early users
94
+ - Testing positioning
95
+
96
+ **Requires:**
97
+ - [ ] Everything from Silent Launch
98
+ - [ ] Landing page / clear value prop
99
+ - [ ] Way to collect feedback
100
+ - [ ] Basic analytics
101
+
102
+ ### Option C: Public Launch
103
+
104
+ Product Hunt, Hacker News, press outreach.
105
+
106
+ **Good for:**
107
+ - Maximum initial exposure
108
+ - Building credibility
109
+ - "Launch moment" marketing
110
+
111
+ **Requires:**
112
+ - [ ] Everything from Soft Launch
113
+ - [ ] Polished UI/UX
114
+ - [ ] Ready for traffic spike
115
+ - [ ] Prepared for feedback/criticism
116
+
117
+ ---
118
+
119
+ ## Launch Checklist
120
+
121
+ ### Must Have (Blockers)
122
+
123
+ - [ ] Core feature works reliably
124
+ - [ ] Users can sign up / log in
125
+ - [ ] No data loss bugs
126
+ - [ ] Basic error handling (doesn't crash)
127
+ - [ ] Works on mobile (if web app)
128
+ - [ ] HTTPS enabled
129
+
130
+ ### Should Have (Important)
131
+
132
+ - [ ] Clear value proposition on landing page
133
+ - [ ] Way to contact you (email, chat)
134
+ - [ ] Basic analytics installed
135
+ - [ ] Error monitoring (Sentry)
136
+ - [ ] Feedback collection method
137
+
138
+ ### Nice to Have (Not Launch Blockers)
139
+
140
+ - [ ] Perfect UI polish
141
+ - [ ] All edge cases handled
142
+ - [ ] Comprehensive onboarding
143
+ - [ ] Advanced features
144
+ - [ ] Performance optimization
145
+
146
+ **Don't let "nice to have" delay launch.**
147
+
148
+ ---
149
+
150
+ ## Launch Week Protocol
151
+
152
+ ### 3 Days Before
153
+
154
+ - [ ] Final smoke test
155
+ - [ ] Check production environment
156
+ - [ ] Prepare announcement (post, tweet, email)
157
+ - [ ] Tell 2-3 friends to be ready to try it
158
+
159
+ ### Launch Day
160
+
161
+ - [ ] Deploy final version
162
+ - [ ] Verify everything works
163
+ - [ ] Post announcement
164
+ - [ ] Monitor for errors (watch Sentry/logs)
165
+ - [ ] Respond to all feedback quickly
166
+
167
+ ### Week After
168
+
169
+ - [ ] Collect feedback themes
170
+ - [ ] Fix critical bugs immediately
171
+ - [ ] Note feature requests (don't build yet)
172
+ - [ ] Thank early users personally
173
+
174
+ ---
175
+
176
+ ## Post-Launch: What's Next?
177
+
178
+ After launch, priorities change:
179
+
180
+ ```
181
+ Before launch: Build features
182
+ After launch: Fix what users report + observe usage
183
+ ```
184
+
185
+ ### First 2 Weeks After Launch
186
+
187
+ 1. **Fix bugs** reported by real users
188
+ 2. **Observe** how people actually use it
189
+ 3. **Talk** to users directly
190
+ 4. **Don't** add new features yet
191
+
192
+ ### Then
193
+
194
+ Use real feedback to decide what to build next.
195
+ Not your backlog. Not your ideas. What users actually need.
196
+
197
+ ---
198
+
199
+ ## When User Keeps Delaying
200
+
201
+ If user repeatedly says "one more feature before launch":
202
+
203
+ > "I notice we've delayed launch a few times. Can I share an observation?
204
+ >
205
+ > Most successful products launch earlier than feels comfortable. The feedback from ONE real user is worth more than 10 features built in isolation.
206
+ >
207
+ > What would it take to do a silent launch this week, just to a few people?"
208
+
209
+ ---
210
+
211
+ ## Marketing Basics (If Needed)
212
+
213
+ ### Minimum Viable Marketing
214
+
215
+ 1. **One sentence:** What does it do? For whom?
216
+ 2. **Screenshot:** What does it look like?
217
+ 3. **Link:** Where can people try it?
218
+
219
+ That's enough to launch.
220
+
221
+ ### If User Wants More
222
+
223
+ Point to resources:
224
+ - Product Hunt launch guide
225
+ - Marketing skills (if available)
226
+ - Launch strategy templates
227
+
228
+ But don't let marketing planning delay the actual launch.
229
+
230
+ ---
231
+
232
+ *Last updated: Baton Protocol v3.1*
@@ -0,0 +1,167 @@
1
+ ---
2
+ name: milestones
3
+ description: >-
4
+ Project milestone tracking and scope creep detection. Defines standard
5
+ milestone phases (Foundation, MVP, Polish, Launch, Iterate) with session
6
+ targets and review checkpoints. Use when planning project phases,
7
+ detecting scope creep, or when milestones slip.
8
+ ---
9
+
10
+ # Milestones Skill
11
+
12
+ > Sessions are tactics. Milestones are strategy.
13
+ > Know where you're going, not just what you're doing today.
14
+
15
+ ---
16
+
17
+ ## Why Milestones Matter
18
+
19
+ Without milestones:
20
+ - Build forever, never ship
21
+ - Lose sight of the goal
22
+ - Features without users
23
+ - Burnout from endless work
24
+
25
+ With milestones:
26
+ - Clear checkpoints
27
+ - Celebrate progress
28
+ - Ship early, iterate
29
+ - Sustainable pace
30
+
31
+ ---
32
+
33
+ ## Standard Milestone Template
34
+
35
+ | Phase | Sessions | Goal | Checkpoint |
36
+ |-------|----------|------|------------|
37
+ | **Foundation** | 1-3 | Project setup, auth, core UI | "Can a user log in and see the main screen?" |
38
+ | **MVP** | 4-7 | Core features working | "Can a user do the ONE main thing?" |
39
+ | **Polish** | 8-10 | UX, testing, hardening | "Would I be embarrassed to show this?" |
40
+ | **Launch** | 11-12 | Deploy, soft launch | "Is one real person using this?" |
41
+ | **Iterate** | 13+ | User feedback driven | "What did users actually need?" |
42
+
43
+ ---
44
+
45
+ ## Milestone Reviews
46
+
47
+ ### At Session 3 (End of Foundation)
48
+
49
+ Ask user:
50
+ > "Foundation complete. We have [summary].
51
+ >
52
+ > Before moving to MVP features:
53
+ > 1. Is the base solid?
54
+ > 2. Any concerns about architecture?
55
+ > 3. Ready to build core features?"
56
+
57
+ ### At Session 7 (End of MVP)
58
+
59
+ Ask user:
60
+ > "MVP features complete. The app can [core function].
61
+ >
62
+ > Decision point:
63
+ > - **Option A:** Polish and launch with current features
64
+ > - **Option B:** Add [2-3 more features] then launch
65
+ > - **Option C:** Keep building (not recommended)
66
+ >
67
+ > Most successful products launch earlier than feels comfortable."
68
+
69
+ ### At Session 10 (End of Polish)
70
+
71
+ Ask user:
72
+ > "App is polished and tested.
73
+ >
74
+ > Launch checklist:
75
+ > - [ ] Core features work
76
+ > - [ ] Obvious bugs fixed
77
+ > - [ ] Basic error handling
78
+ > - [ ] Mobile works (if applicable)
79
+ >
80
+ > **It's time to get real users.** What's the launch plan?"
81
+
82
+ ---
83
+
84
+ ## Milestone Tracking
85
+
86
+ Add to PROGRESS.md:
87
+
88
+ ```markdown
89
+ ## Milestones
90
+
91
+ | Phase | Target | Actual | Status |
92
+ |-------|--------|--------|--------|
93
+ | Foundation | Session 3 | Session 3 | ✅ Complete |
94
+ | MVP | Session 7 | Session 8 | ✅ Complete |
95
+ | Polish | Session 10 | - | 🔄 In Progress |
96
+ | Launch | Session 12 | - | ⏳ Upcoming |
97
+ ```
98
+
99
+ Update at end of each session.
100
+
101
+ ---
102
+
103
+ ## Scope Creep Detection
104
+
105
+ At each session start, check:
106
+
107
+ 1. **Are we still in the same milestone?**
108
+ - If milestone changed without completing previous → flag it
109
+
110
+ 2. **How many sessions since last milestone?**
111
+ - If 5+ sessions in same milestone → something's wrong
112
+
113
+ 3. **Is backlog growing faster than completing?**
114
+ - If yes → stop adding, start finishing
115
+
116
+ ---
117
+
118
+ ## When Milestones Slip
119
+
120
+ If a milestone takes longer than expected:
121
+
122
+ 1. **Acknowledge it** — "We're at Session 9, MVP was planned for Session 7"
123
+ 2. **Diagnose** — Scope creep? Unexpected complexity? Rework?
124
+ 3. **Adjust** — Reduce scope or extend timeline
125
+ 4. **Document** — Note in PROGRESS.md what happened
126
+
127
+ Don't silently let milestones slip. Make it visible.
128
+
129
+ ---
130
+
131
+ ## Anti-Pattern: The Endless Build
132
+
133
+ Warning signs:
134
+ - Session 15+ without real users
135
+ - "Just one more feature before launch"
136
+ - Backlog grows every session
137
+ - No milestone ever completed
138
+
139
+ Solution:
140
+ - Stop adding features
141
+ - Launch what you have
142
+ - Get real feedback
143
+ - THEN decide what's next
144
+
145
+ ---
146
+
147
+ ## Custom Milestones
148
+
149
+ For non-standard projects, define milestones in Baton setup:
150
+
151
+ ```markdown
152
+ ## Project Milestones
153
+
154
+ | Phase | Sessions | Definition of Done |
155
+ |-------|----------|-------------------|
156
+ | [Phase 1] | 1-X | [What must be true?] |
157
+ | [Phase 2] | X-Y | [What must be true?] |
158
+ | [Launch] | Y-Z | [What must be true?] |
159
+ ```
160
+
161
+ Every project needs at least:
162
+ 1. A "working" milestone (MVP)
163
+ 2. A "launch" milestone (real users)
164
+
165
+ ---
166
+
167
+ *Last updated: Baton Protocol v3.1*
@@ -0,0 +1,307 @@
1
+ ---
2
+ name: production-readiness
3
+ description: >-
4
+ Pre-launch production checklist covering security, error handling,
5
+ monitoring, database, deployment, UX polish, performance, analytics,
6
+ and legal requirements. Use before launching to real users or when
7
+ reviewing production readiness.
8
+ ---
9
+
10
+ # Production Readiness Skill — Launch Checklist
11
+
12
+ > Complete this checklist before launching to real users.
13
+ > Not every item applies to every project — mark N/A where appropriate.
14
+
15
+ ---
16
+
17
+ ## Pre-Launch Gate
18
+
19
+ **Do not launch until you can answer YES to all critical items.**
20
+
21
+ ---
22
+
23
+ ## 1. Security (Critical)
24
+
25
+ See `skills/core/security/SKILL.md` for details.
26
+
27
+ ### Must Have
28
+ - [ ] No secrets in codebase
29
+ - [ ] Environment variables for all sensitive config
30
+ - [ ] RLS enabled on all database tables
31
+ - [ ] Input validation on all forms and APIs
32
+ - [ ] Authentication on all protected routes
33
+ - [ ] HTTPS enforced
34
+
35
+ ### Should Have
36
+ - [ ] Rate limiting on public endpoints
37
+ - [ ] Security headers configured
38
+ - [ ] File upload validation (type + size)
39
+ - [ ] Error messages don't leak internals
40
+
41
+ ---
42
+
43
+ ## 2. Error Handling (Critical)
44
+
45
+ ### Must Have
46
+ - [ ] Global error boundary (catches React crashes)
47
+ - [ ] API routes return proper error responses
48
+ - [ ] Forms show validation errors to users
49
+ - [ ] Database errors don't crash the app
50
+
51
+ ### Implementation
52
+
53
+ ```tsx
54
+ // Error boundary (app/error.tsx)
55
+ 'use client'
56
+
57
+ export default function Error({
58
+ error,
59
+ reset,
60
+ }: {
61
+ error: Error
62
+ reset: () => void
63
+ }) {
64
+ return (
65
+ <div>
66
+ <h2>Something went wrong</h2>
67
+ <button onClick={reset}>Try again</button>
68
+ </div>
69
+ )
70
+ }
71
+ ```
72
+
73
+ ---
74
+
75
+ ## 3. Monitoring & Observability (Critical)
76
+
77
+ ### Must Have
78
+ - [ ] Error tracking installed (Sentry, LogRocket, etc.)
79
+ - [ ] Errors are captured with context
80
+ - [ ] Alerts configured for critical errors
81
+
82
+ ### Should Have
83
+ - [ ] Health check endpoint (`/api/health`)
84
+ - [ ] Uptime monitoring (Vercel, UptimeRobot, etc.)
85
+ - [ ] Performance monitoring (Core Web Vitals)
86
+
87
+ ### Health Check Example
88
+
89
+ ```typescript
90
+ // app/api/health/route.ts
91
+ export async function GET() {
92
+ try {
93
+ // Check database connection
94
+ await db.query('SELECT 1')
95
+
96
+ return Response.json({
97
+ status: 'healthy',
98
+ timestamp: new Date().toISOString(),
99
+ })
100
+ } catch (error) {
101
+ return Response.json(
102
+ { status: 'unhealthy', error: 'Database connection failed' },
103
+ { status: 503 }
104
+ )
105
+ }
106
+ }
107
+ ```
108
+
109
+ ---
110
+
111
+ ## 4. Database (Critical)
112
+
113
+ ### Must Have
114
+ - [ ] Backups configured (Supabase/provider handles this)
115
+ - [ ] Backup restoration tested at least once
116
+ - [ ] Migrations versioned and tracked
117
+ - [ ] Indexes on frequently queried columns
118
+
119
+ ### Should Have
120
+ - [ ] Connection pooling configured
121
+ - [ ] Query performance reviewed
122
+ - [ ] Soft deletes for important data (audit trail)
123
+
124
+ ---
125
+
126
+ ## 5. Deployment (Critical)
127
+
128
+ ### Must Have
129
+ - [ ] Production environment configured
130
+ - [ ] Environment variables set in production
131
+ - [ ] Build passes in production environment
132
+ - [ ] Domain configured and working
133
+
134
+ ### Should Have
135
+ - [ ] CI/CD pipeline configured
136
+ - [ ] Preview deployments for PRs
137
+ - [ ] Rollback procedure documented
138
+
139
+ ### Rollback Procedure Template
140
+
141
+ ```markdown
142
+ ## Rollback Procedure
143
+
144
+ 1. Go to [Vercel/Netlify/etc.] dashboard
145
+ 2. Navigate to Deployments
146
+ 3. Find last working deployment
147
+ 4. Click "Promote to Production" or "Redeploy"
148
+ 5. Verify rollback successful
149
+ 6. Investigate and fix the issue
150
+ 7. Deploy fix when ready
151
+ ```
152
+
153
+ ---
154
+
155
+ ## 6. UX Polish (Important)
156
+
157
+ ### Must Have
158
+ - [ ] Empty states for all lists ("No items yet")
159
+ - [ ] Loading states for async operations
160
+ - [ ] Error states with recovery options
161
+ - [ ] Mobile responsive (unless desktop-only)
162
+
163
+ ### Should Have
164
+ - [ ] Confirmation dialogs for destructive actions
165
+ - [ ] Success feedback for completed actions
166
+ - [ ] Keyboard accessible (Tab navigation works)
167
+ - [ ] Focus management (modals trap focus)
168
+
169
+ ### Empty State Example
170
+
171
+ ```tsx
172
+ {items.length === 0 ? (
173
+ <div className="text-center py-12">
174
+ <h3>No items yet</h3>
175
+ <p>Create your first item to get started.</p>
176
+ <Button onClick={openCreateModal}>Create Item</Button>
177
+ </div>
178
+ ) : (
179
+ <ItemsList items={items} />
180
+ )}
181
+ ```
182
+
183
+ ---
184
+
185
+ ## 7. Performance (Important)
186
+
187
+ ### Must Have
188
+ - [ ] No blocking resources on initial load
189
+ - [ ] Images optimized (Next.js Image, WebP, etc.)
190
+ - [ ] Build size reasonable (<500KB JS initial)
191
+
192
+ ### Should Have
193
+ - [ ] Core Web Vitals passing (LCP, FID, CLS)
194
+ - [ ] Lazy loading for below-fold content
195
+ - [ ] Caching strategy defined
196
+
197
+ ### Check Performance
198
+
199
+ ```bash
200
+ # Run Lighthouse audit
201
+ npx lighthouse https://yourdomain.com --view
202
+
203
+ # Or use Vercel Speed Insights, PageSpeed Insights
204
+ ```
205
+
206
+ ---
207
+
208
+ ## 8. Analytics (Important)
209
+
210
+ ### Should Have
211
+ - [ ] Page view tracking
212
+ - [ ] Key action tracking (signups, conversions)
213
+ - [ ] Error tracking linked to user sessions
214
+
215
+ ### Options
216
+
217
+ | Tool | Best For |
218
+ |------|----------|
219
+ | Vercel Analytics | Simple, privacy-focused |
220
+ | Plausible | Privacy-focused, EU compliant |
221
+ | PostHog | Product analytics, session replay |
222
+ | Google Analytics | Comprehensive, free |
223
+
224
+ ---
225
+
226
+ ## 9. Legal (If Public)
227
+
228
+ ### Must Have (If Collecting User Data)
229
+ - [ ] Privacy Policy page
230
+ - [ ] Terms of Service page
231
+ - [ ] Cookie consent (if using cookies for tracking)
232
+
233
+ ### Should Have
234
+ - [ ] GDPR compliance (if EU users)
235
+ - [ ] Data deletion capability
236
+ - [ ] Clear data usage explanation
237
+
238
+ ---
239
+
240
+ ## 10. Documentation (Important)
241
+
242
+ ### Must Have
243
+ - [ ] README with setup instructions
244
+ - [ ] Environment variables documented
245
+ - [ ] Key features documented for users
246
+
247
+ ### Should Have
248
+ - [ ] API documentation (if applicable)
249
+ - [ ] Deployment guide
250
+ - [ ] Troubleshooting guide
251
+
252
+ ---
253
+
254
+ ## Launch Readiness Score
255
+
256
+ Rate each category:
257
+ - ✅ Complete
258
+ - 🟡 Partial (acceptable for launch)
259
+ - ❌ Incomplete (blocker)
260
+
261
+ | Category | Status | Notes |
262
+ |----------|--------|-------|
263
+ | Security | | |
264
+ | Error Handling | | |
265
+ | Monitoring | | |
266
+ | Database | | |
267
+ | Deployment | | |
268
+ | UX Polish | | |
269
+ | Performance | | |
270
+ | Analytics | | |
271
+ | Legal | | |
272
+ | Documentation | | |
273
+
274
+ **Launch when:** All critical items are ✅, important items are at least 🟡.
275
+
276
+ ---
277
+
278
+ ## Post-Launch Checklist
279
+
280
+ First 24 hours:
281
+ - [ ] Monitor error tracking for new errors
282
+ - [ ] Watch for performance issues
283
+ - [ ] Respond to user feedback quickly
284
+ - [ ] Check analytics are recording
285
+
286
+ First week:
287
+ - [ ] Review error patterns
288
+ - [ ] Address critical bugs immediately
289
+ - [ ] Collect user feedback
290
+ - [ ] Plan improvements based on real usage
291
+
292
+ ---
293
+
294
+ ## Common Launch Mistakes
295
+
296
+ | Mistake | Prevention |
297
+ |---------|------------|
298
+ | Forgot to set production env vars | Use checklist, verify before launch |
299
+ | No error tracking | Install Sentry before launch |
300
+ | No backup strategy | Verify provider backups, test restore |
301
+ | Missing empty states | QA with empty database |
302
+ | No rate limiting | Add before launch, not after attack |
303
+ | No rollback plan | Document procedure, test it |
304
+
305
+ ---
306
+
307
+ *Last updated: Baton Protocol v3.1*