@rubytech/create-maxy-code 0.1.167 → 0.1.170

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.
Files changed (136) hide show
  1. package/package.json +1 -1
  2. package/payload/platform/config/brand.json +1 -1
  3. package/payload/platform/plugins/.claude-plugin/marketplace.json +0 -5
  4. package/payload/platform/plugins/docs/references/platform.md +1 -1
  5. package/payload/premium-plugins/.claude-plugin/marketplace.json +10 -0
  6. package/payload/premium-plugins/teaching/.claude-plugin/plugin.json +8 -0
  7. package/payload/premium-plugins/teaching/PLUGIN.md +58 -0
  8. package/payload/premium-plugins/teaching/skills/interactive-tutor/SKILL.md +59 -0
  9. package/payload/premium-plugins/teaching/skills/interactive-tutor/references/assessment.md +70 -0
  10. package/payload/premium-plugins/teaching/skills/interactive-tutor/references/classroom-conduct.md +43 -0
  11. package/payload/premium-plugins/teaching/skills/interactive-tutor/references/teaching-modes.md +83 -0
  12. package/payload/premium-plugins/teaching/skills/lesson-planner/SKILL.md +48 -0
  13. package/payload/premium-plugins/teaching/skills/lesson-planner/references/context-gathering.md +41 -0
  14. package/payload/premium-plugins/teaching/skills/lesson-planner/references/plan-structure.md +94 -0
  15. package/payload/premium-plugins/teaching/skills/study-pack-builder/SKILL.md +52 -0
  16. package/payload/premium-plugins/teaching/skills/study-pack-builder/references/disaggregation.md +49 -0
  17. package/payload/premium-plugins/teaching/skills/study-pack-builder/references/materials.md +116 -0
  18. package/payload/premium-plugins/writer-craft/.claude-plugin/plugin.json +17 -0
  19. package/payload/premium-plugins/writer-craft/PLUGIN.md +130 -0
  20. package/payload/premium-plugins/writer-craft/agents/writer-craft--manuscript-reviewer.md +96 -0
  21. package/payload/premium-plugins/writer-craft/mcp/package.json +19 -0
  22. package/payload/premium-plugins/writer-craft/mcp/scripts/smoke.mjs +152 -0
  23. package/payload/premium-plugins/writer-craft/mcp/src/index.ts +289 -0
  24. package/payload/premium-plugins/writer-craft/mcp/src/lib/neo4j.ts +56 -0
  25. package/payload/premium-plugins/writer-craft/mcp/src/lib/voice-corpus.ts +54 -0
  26. package/payload/premium-plugins/writer-craft/mcp/src/tools/voice-distil-profile.ts +303 -0
  27. package/payload/premium-plugins/writer-craft/mcp/src/tools/voice-record-feedback.ts +114 -0
  28. package/payload/premium-plugins/writer-craft/mcp/src/tools/voice-retrieve-conditioning.ts +145 -0
  29. package/payload/premium-plugins/writer-craft/mcp/src/tools/voice-tag-content.ts +117 -0
  30. package/payload/premium-plugins/writer-craft/mcp/tsconfig.json +8 -0
  31. package/payload/premium-plugins/writer-craft/skills/citation-style/SKILL.md +94 -0
  32. package/payload/premium-plugins/writer-craft/skills/citation-style/references/book-and-chapter-models.md +77 -0
  33. package/payload/premium-plugins/writer-craft/skills/citation-style/references/citation-rules.md +103 -0
  34. package/payload/premium-plugins/writer-craft/skills/citation-style/references/journal-article-models.md +74 -0
  35. package/payload/premium-plugins/writer-craft/skills/citation-style/references/other-source-models.md +146 -0
  36. package/payload/premium-plugins/writer-craft/skills/citation-style/references/reference-list-rules.md +70 -0
  37. package/payload/premium-plugins/writer-craft/skills/editorial-practice/SKILL.md +108 -0
  38. package/payload/premium-plugins/writer-craft/skills/editorial-practice/references/copyediting.md +73 -0
  39. package/payload/premium-plugins/writer-craft/skills/editorial-practice/references/developmental-editing.md +85 -0
  40. package/payload/premium-plugins/writer-craft/skills/editorial-practice/references/genre-specific-editing.md +78 -0
  41. package/payload/premium-plugins/writer-craft/skills/editorial-practice/references/line-editing.md +55 -0
  42. package/payload/premium-plugins/writer-craft/skills/editorial-practice/references/self-editing.md +89 -0
  43. package/payload/premium-plugins/writer-craft/skills/persuasive-storytelling/SKILL.md +114 -0
  44. package/payload/premium-plugins/writer-craft/skills/persuasive-storytelling/references/audience-analysis.md +73 -0
  45. package/payload/premium-plugins/writer-craft/skills/persuasive-storytelling/references/crafting-persuasive-story.md +76 -0
  46. package/payload/premium-plugins/writer-craft/skills/persuasive-storytelling/references/persuasion-case-studies.md +67 -0
  47. package/payload/premium-plugins/writer-craft/skills/persuasive-storytelling/references/transformation-framework.md +86 -0
  48. package/payload/premium-plugins/writer-craft/skills/point-of-view/SKILL.md +97 -0
  49. package/payload/premium-plugins/writer-craft/skills/point-of-view/references/indirect-narration.md +72 -0
  50. package/payload/premium-plugins/writer-craft/skills/point-of-view/references/pov-types-and-voice.md +91 -0
  51. package/payload/premium-plugins/writer-craft/skills/point-of-view/references/protagonist-filter.md +71 -0
  52. package/payload/premium-plugins/writer-craft/skills/point-of-view/references/tense-and-person.md +85 -0
  53. package/payload/premium-plugins/writer-craft/skills/prose-craft/SKILL.md +100 -0
  54. package/payload/premium-plugins/writer-craft/skills/prose-craft/references/punctuation-and-grammar.md +72 -0
  55. package/payload/premium-plugins/writer-craft/skills/prose-craft/references/repetition.md +71 -0
  56. package/payload/premium-plugins/writer-craft/skills/prose-craft/references/sound-and-rhythm.md +64 -0
  57. package/payload/premium-plugins/writer-craft/skills/prose-craft/references/word-economy.md +93 -0
  58. package/payload/premium-plugins/writer-craft/skills/reader-engagement/SKILL.md +100 -0
  59. package/payload/premium-plugins/writer-craft/skills/reader-engagement/references/cause-effect-setup-payoff.md +79 -0
  60. package/payload/premium-plugins/writer-craft/skills/reader-engagement/references/conflict-escalation.md +81 -0
  61. package/payload/premium-plugins/writer-craft/skills/reader-engagement/references/hooking-readers.md +67 -0
  62. package/payload/premium-plugins/writer-craft/skills/reader-engagement/references/neurochemistry-of-engagement.md +94 -0
  63. package/payload/premium-plugins/writer-craft/skills/review-manuscript/SKILL.md +111 -0
  64. package/payload/premium-plugins/writer-craft/skills/review-manuscript/references/review-manuscript-checklist.md +119 -0
  65. package/payload/premium-plugins/writer-craft/skills/review-prose/SKILL.md +99 -0
  66. package/payload/premium-plugins/writer-craft/skills/review-prose/references/prose-review-checklist.md +112 -0
  67. package/payload/premium-plugins/writer-craft/skills/review-scene/SKILL.md +99 -0
  68. package/payload/premium-plugins/writer-craft/skills/review-scene/references/scene-analysis-framework.md +95 -0
  69. package/payload/premium-plugins/writer-craft/skills/story-architecture/SKILL.md +106 -0
  70. package/payload/premium-plugins/writer-craft/skills/story-architecture/references/blueprinting-and-scene-cards.md +118 -0
  71. package/payload/premium-plugins/writer-craft/skills/story-architecture/references/inner-issue-and-protagonist-goal.md +66 -0
  72. package/payload/premium-plugins/writer-craft/skills/story-architecture/references/misbelief-desire-worldview.md +87 -0
  73. package/payload/premium-plugins/writer-craft/skills/story-architecture/references/origin-scenes-and-escalation.md +82 -0
  74. package/payload/premium-plugins/writer-craft/skills/story-blueprint/SKILL.md +133 -0
  75. package/payload/premium-plugins/writer-craft/skills/story-blueprint/references/blueprinting-exercises.md +118 -0
  76. package/payload/premium-plugins/writer-craft/skills/story-blueprint/references/blueprinting-process.md +128 -0
  77. package/payload/premium-plugins/writer-craft/skills/voice-mirror/SKILL.md +166 -0
  78. package/payload/server/{chunk-3TRIXQSJ.js → chunk-L2YK2VK3.js} +17 -29
  79. package/payload/server/maxy-edge.js +1 -1
  80. package/payload/server/server.js +1 -1
  81. package/payload/platform/plugins/venture-studio/.claude-plugin/plugin.json +0 -8
  82. package/payload/platform/plugins/venture-studio/PLUGIN.md +0 -119
  83. package/payload/platform/plugins/venture-studio/bin/scaffold.sh +0 -116
  84. package/payload/platform/plugins/venture-studio/skills/brand-pack/SKILL.md +0 -256
  85. package/payload/platform/plugins/venture-studio/skills/brand-pack/references/color-psychology.md +0 -118
  86. package/payload/platform/plugins/venture-studio/skills/investor-data-room/SKILL.md +0 -376
  87. package/payload/platform/plugins/venture-studio/skills/investor-data-room/references/business-plan-template.md +0 -64
  88. package/payload/platform/plugins/venture-studio/skills/investor-data-room/references/compliance-research-checklist.md +0 -53
  89. package/payload/platform/plugins/venture-studio/skills/investor-data-room/references/data-room-structure.md +0 -88
  90. package/payload/platform/plugins/venture-studio/skills/investor-data-room/references/deck-blueprint-template.md +0 -39
  91. package/payload/platform/plugins/venture-studio/skills/investor-data-room/references/design-tokens-application.md +0 -79
  92. package/payload/platform/plugins/venture-studio/skills/investor-data-room/references/html-pdf-pipeline.md +0 -236
  93. package/payload/platform/plugins/venture-studio/skills/investor-data-room/references/internal-workings-scrub.md +0 -33
  94. package/payload/platform/plugins/venture-studio/skills/investor-data-room/references/termsheet-template.md +0 -88
  95. package/payload/platform/plugins/venture-studio/skills/investor-data-room/templates/prospectus/index.html +0 -1565
  96. package/payload/platform/plugins/venture-studio/skills/investor-data-room/templates/prospectus/render-pdf.mjs +0 -91
  97. package/payload/platform/plugins/venture-studio/skills/investor-data-room/templates/prospectus/term_sheet.html +0 -715
  98. package/payload/platform/plugins/venture-studio/skills/office-hours/SKILL.md +0 -587
  99. package/payload/platform/plugins/venture-studio/skills/prototype-host/SKILL.md +0 -179
  100. package/payload/platform/plugins/venture-studio/skills/prototype-host/references/cloudflared-ingress-edit.md +0 -81
  101. package/payload/platform/plugins/venture-studio/skills/prototype-host/references/scaffold-frameworks.md +0 -60
  102. package/payload/platform/plugins/venture-studio/skills/prototype-host/references/systemd-user-service.md +0 -104
  103. package/payload/platform/plugins/venture-studio/skills/zero-to-prototype/SKILL.md +0 -336
  104. package/payload/platform/plugins/venture-studio/skills/zero-to-prototype/references/aarrr-metrics.md +0 -275
  105. package/payload/platform/plugins/venture-studio/skills/zero-to-prototype/references/assumption-testing.md +0 -93
  106. package/payload/platform/plugins/venture-studio/skills/zero-to-prototype/references/boolean-search.md +0 -308
  107. package/payload/platform/plugins/venture-studio/skills/zero-to-prototype/references/build-measure-learn.md +0 -262
  108. package/payload/platform/plugins/venture-studio/skills/zero-to-prototype/references/business-model-canvas.md +0 -171
  109. package/payload/platform/plugins/venture-studio/skills/zero-to-prototype/references/commitment-signals.md +0 -246
  110. package/payload/platform/plugins/venture-studio/skills/zero-to-prototype/references/design-thinking.md +0 -183
  111. package/payload/platform/plugins/venture-studio/skills/zero-to-prototype/references/earlyvangelist.md +0 -190
  112. package/payload/platform/plugins/venture-studio/skills/zero-to-prototype/references/first-principles.md +0 -58
  113. package/payload/platform/plugins/venture-studio/skills/zero-to-prototype/references/fishbone.md +0 -114
  114. package/payload/platform/plugins/venture-studio/skills/zero-to-prototype/references/five-whys.md +0 -43
  115. package/payload/platform/plugins/venture-studio/skills/zero-to-prototype/references/ice-scoring.md +0 -237
  116. package/payload/platform/plugins/venture-studio/skills/zero-to-prototype/references/innovation-accounting.md +0 -290
  117. package/payload/platform/plugins/venture-studio/skills/zero-to-prototype/references/jtbd.md +0 -105
  118. package/payload/platform/plugins/venture-studio/skills/zero-to-prototype/references/landing-page.md +0 -361
  119. package/payload/platform/plugins/venture-studio/skills/zero-to-prototype/references/market-type.md +0 -167
  120. package/payload/platform/plugins/venture-studio/skills/zero-to-prototype/references/mom-test.md +0 -193
  121. package/payload/platform/plugins/venture-studio/skills/zero-to-prototype/references/mvp-types.md +0 -200
  122. package/payload/platform/plugins/venture-studio/skills/zero-to-prototype/references/og-images.md +0 -239
  123. package/payload/platform/plugins/venture-studio/skills/zero-to-prototype/references/pareto.md +0 -103
  124. package/payload/platform/plugins/venture-studio/skills/zero-to-prototype/references/persona-development.md +0 -291
  125. package/payload/platform/plugins/venture-studio/skills/zero-to-prototype/references/pivot-types.md +0 -225
  126. package/payload/platform/plugins/venture-studio/skills/zero-to-prototype/references/positioning-statement.md +0 -179
  127. package/payload/platform/plugins/venture-studio/skills/zero-to-prototype/references/prd.md +0 -363
  128. package/payload/platform/plugins/venture-studio/skills/zero-to-prototype/references/pre-mortem.md +0 -74
  129. package/payload/platform/plugins/venture-studio/skills/zero-to-prototype/references/problem-validation.md +0 -253
  130. package/payload/platform/plugins/venture-studio/skills/zero-to-prototype/references/product-market-fit.md +0 -256
  131. package/payload/platform/plugins/venture-studio/skills/zero-to-prototype/references/research-synthesis.md +0 -276
  132. package/payload/platform/plugins/venture-studio/skills/zero-to-prototype/references/three-engines-of-growth.md +0 -248
  133. package/payload/platform/plugins/venture-studio/skills/zero-to-prototype/references/validation-tests.md +0 -89
  134. package/payload/platform/plugins/venture-studio/skills/zero-to-prototype/references/value-proposition-canvas.md +0 -121
  135. package/payload/platform/plugins/venture-studio/skills/zero-to-prototype/references/win-loss-analysis.md +0 -242
  136. package/payload/platform/plugins/venture-studio/skills/zero-to-prototype/references/workflow-mapping.md +0 -271
@@ -1,193 +0,0 @@
1
- # The Mom Test
2
-
3
- ## Purpose
4
- Extract truth from customer conversations by asking questions that even your mom can't lie to you about, avoiding the false positives that kill startups.
5
-
6
- ## When to Use
7
- - Conducting customer discovery conversations
8
- - Validating problem and solution hypotheses
9
- - Gathering requirements from potential customers
10
- - Avoiding "false positive" feedback that feels good but isn't true
11
- - Learning what customers actually do, not what they say they'd do
12
-
13
- ## Process
14
-
15
- ### 1. The Three Rules
16
-
17
- Three simple rules for crafting good questions:
18
-
19
- 1. **Talk about their life instead of your idea**
20
- 2. **Ask about specifics in the past instead of generics or opinions about the future**
21
- 3. **Talk less and listen more**
22
-
23
- ### 2. Good Questions vs. Bad Questions
24
-
25
- **BAD: "Do you think it's a good idea?"**
26
- - Only the market can tell if your idea is good—all else is opinion
27
- - FIX: "How do you currently handle X? What have you tried?"
28
-
29
- **BAD: "Would you buy a product that does X?"**
30
- - Hypothetical future promises from optimistic people
31
- - FIX: "How much do you currently spend on solving this?"
32
-
33
- **BAD: "How much would you pay for X?"**
34
- - Numbers feel rigorous but are still hypothetical
35
- - FIX: "What does this problem cost you now? What's your budget for this?"
36
-
37
- **SORT-OF-OKAY: "What would your dream product do?"**
38
- - Good as setup, bad if you stop there
39
- - FIX: "Why do you want those features? What would they let you do?"
40
-
41
- **GOOD: "Why do you bother?"**
42
- - Gets from perceived problem to real one
43
- - Reveals the job-to-be-done behind the stated need
44
-
45
- **GOOD: "What are the implications of that?"**
46
- - Distinguishes must-solve from nice-to-have
47
- - Reveals if problems have costly implications or don't actually matter
48
-
49
- **GOOD: "Talk me through the last time that happened."**
50
- - Specific past events reveal truth; hypotheticals invite lies
51
- - Shows actual workflow, tools used, time spent
52
-
53
- **GOOD: "What else have you tried?"**
54
- - If they haven't looked for solutions, they won't look for yours
55
- - Reveals how motivated they actually are
56
-
57
- **GOOD: "Who else should I talk to?"**
58
- - End every conversation this way
59
- - If they won't intro you, either you screwed up or they don't care
60
-
61
- ### 3. Avoid the Three Types of Bad Data
62
-
63
- **1. Compliments**
64
- - "That's so cool!" "I love it!" "Great idea!"
65
- - Worthless because people lie to be nice
66
- - DEFLECT: "Thanks! How are you dealing with this currently?"
67
-
68
- **2. Fluff (Generics, Hypotheticals, Future)**
69
- - "I usually..." "I always..." "I would definitely..."
70
- - Generic claims describe who they want to be, not who they are
71
- - ANCHOR: "When's the last time that happened? Walk me through it."
72
-
73
- **3. Ideas**
74
- - "You should add..." "What if it also..."
75
- - Feature requests aren't validation
76
- - DIG: "Why do you want that? How are you coping without it?"
77
-
78
- ### 4. Deflecting and Anchoring Techniques
79
-
80
- **When you receive a compliment:**
81
- > Them: "That's a great idea!"
82
- > You: "Thanks! How are you solving this problem today?"
83
-
84
- **When you receive fluff:**
85
- > Them: "I would definitely use that!"
86
- > You: "Tell me about the last time this came up—what did you do?"
87
-
88
- **When you receive an idea:**
89
- > Them: "You should add a reporting feature."
90
- > You: "Interesting—what would you do with the reports?"
91
-
92
- **When you slip into pitch mode:**
93
- > You: "Whoops—I got excited and started pitching. How are you handling this currently?"
94
-
95
- ### 5. The Currencies of Conversation
96
-
97
- Words are cheap. Track commitment through "currencies":
98
-
99
- | Currency | Low Value | High Value |
100
- |----------|-----------|------------|
101
- | **Time** | "Let's chat sometime" | Schedules specific meeting |
102
- | **Reputation** | "I might share this" | Introduces you to colleague |
103
- | **Money** | "I would pay for that" | Pre-order or deposit |
104
- | **Effort** | "Send me info" | Tries your prototype |
105
-
106
- **Rule:** Advancement = they give you something valuable (time, intro, money, effort)
107
-
108
- ### 6. Signs You're Failing the Mom Test
109
-
110
- In the meeting:
111
- - You're talking more than they are
112
- - You're defending your idea
113
- - They're complimenting you
114
-
115
- Back at the office:
116
- - "That meeting went really well"
117
- - "Everyone I talk to loves the idea"
118
- - "We're getting a lot of positive feedback"
119
-
120
- **These are warning signs.** Get specific: Why did they love it? What exactly would they use it for? What are they doing about this today?
121
-
122
- ### 7. The Process
123
-
124
- **Before conversations:**
125
- - Decide your 3 biggest learning goals
126
- - Know what commitment/next step you'll push for
127
- - Do desk research first (don't waste their time on Googleable questions)
128
-
129
- **During conversations:**
130
- - Frame it (vision, where you're at, how they can help)
131
- - Keep it casual (not an interrogation)
132
- - Ask good questions, deflect compliments, anchor fluff
133
- - Take notes with symbols (☇ pain, $ money, ☆ follow-up)
134
- - Push for commitment at the end
135
-
136
- **After conversations:**
137
- - Review notes with your team
138
- - Update beliefs and plans
139
- - Decide next 3 big questions
140
-
141
- ### 8. Synthesis
142
-
143
- After your conversation, ask:
144
- - Did I learn facts or collect opinions?
145
- - Did they give up something valuable (time, reputation, money)?
146
- - Would I bet money on what I learned?
147
- - What do I need to learn next?
148
-
149
- ## Example
150
-
151
- **Idea**: "App that helps remote workers find great cafés to work from"
152
-
153
- ### Bad Conversation (Fails the Mom Test)
154
-
155
- You: "I'm building an app to help remote workers find cafés. Would you use it?"
156
- Them: "Yeah, that sounds useful!"
157
- You: "What features would you want?"
158
- Them: "Maybe ratings for WiFi quality? And photos of the space?"
159
- You: "Great! Do you think $5/month is reasonable?"
160
- Them: "Sure, I'd pay that."
161
-
162
- **What you learned:** Nothing useful. All fluff and hypotheticals.
163
-
164
- ### Good Conversation (Passes the Mom Test)
165
-
166
- You: "Tell me about the last time you worked from a café—how did you find it?"
167
-
168
- Them: "I usually just go to the same Starbucks near my house."
169
-
170
- You: "Have you ever tried finding a new place? Walk me through what happened."
171
-
172
- Them: "Yeah, last month I wanted somewhere quieter. I Googled 'cafés with WiFi' and checked Yelp reviews."
173
-
174
- You: "How did that work out?"
175
-
176
- Them: "It was okay. The reviews didn't mention WiFi speed, so I had to guess. One place had no outlets."
177
-
178
- You: "How often do you look for new places?"
179
-
180
- Them: "Honestly? Maybe once every few months. I mostly stick to what I know."
181
-
182
- You: "What would make you try new places more often?"
183
-
184
- Them: "I guess if I knew for sure the WiFi would be good. But honestly, reliability matters more than variety."
185
-
186
- **What you learned:**
187
- - They use existing tools (Google, Yelp) - you're competing with free
188
- - WiFi reliability is the key pain (outlets mentioned too)
189
- - Low frequency of need (monthly at best)
190
- - Inertia is strong - they prefer familiar places
191
- - This might not be a big enough pain to pay for
192
-
193
- **Insight:** The problem exists but may not be severe enough to build a business around. The frequency is low and existing free tools partially solve it. Need to find users who need this more frequently (digital nomads? traveling salespeople?) or test whether someone would actually pay before building.
@@ -1,200 +0,0 @@
1
- # MVP Types
2
-
3
- ## Purpose
4
- Choose the right type of Minimum Viable Product to test your riskiest assumption with the least effort, learning what you need before building what you don't.
5
-
6
- ## When to Use
7
- - Ready to test a business hypothesis but unsure how to start
8
- - Want to validate demand before building the full product
9
- - Need to choose between different approaches to testing
10
- - Have limited resources and need maximum learning per dollar
11
- - Deciding what to build first
12
-
13
- ## Process
14
-
15
- ### 1. Identify Your Riskiest Assumption
16
-
17
- Before choosing an MVP type, clarify what you're testing:
18
-
19
- **Common Riskiest Assumptions:**
20
- - Will customers pay for this? (Value hypothesis)
21
- - Can we acquire customers cost-effectively? (Growth hypothesis)
22
- - Can we actually build this? (Technical feasibility)
23
- - Will customers use this repeatedly? (Retention hypothesis)
24
- - Will customers recommend this? (Viral hypothesis)
25
-
26
- The MVP type should be chosen to test your RISKIEST assumption with MINIMUM effort.
27
-
28
- ### 2. MVP Type Selection Matrix
29
-
30
- | MVP Type | Best For Testing | Effort Level | Time to Learn |
31
- |----------|------------------|--------------|---------------|
32
- | Landing Page | Demand, messaging, pricing | Very Low | Days |
33
- | Video/Demo | Demand, concept comprehension | Low | Days-Weeks |
34
- | Concierge | Value delivery, workflow | Medium | Weeks |
35
- | Wizard of Oz | Value delivery at scale | Medium-High | Weeks |
36
- | Piecemeal | Full workflow without code | Medium | Weeks |
37
- | Single-Feature | Core value proposition | High | Months |
38
- | Smoke Test | Demand for specific feature | Very Low | Days |
39
-
40
- ### 3. MVP Types Explained
41
-
42
- **Landing Page MVP**
43
- - **What:** Marketing page describing the product with signup/pre-order
44
- - **Tests:** Is there demand? Does the value prop resonate? Will they pay?
45
- - **Process:** Create page → Drive traffic → Measure conversions
46
- - **Success Metric:** Signup rate, pre-orders, email captures
47
- - **Example:** Buffer started with a landing page describing the service and pricing before writing any code
48
-
49
- **Video/Demo MVP**
50
- - **What:** Explainer video showing how the product would work
51
- - **Tests:** Do people understand and want this? Can we explain it simply?
52
- - **Process:** Create video → Share with target audience → Measure engagement
53
- - **Success Metric:** Shares, signups, comments
54
- - **Example:** Dropbox's explainer video drove waiting list from 5,000 to 75,000
55
-
56
- **Concierge MVP**
57
- - **What:** Manually deliver the value to a small number of customers
58
- - **Tests:** Does our solution actually solve the problem? What's the real workflow?
59
- - **Process:** Find 1-5 customers → Deliver value by hand → Learn and iterate
60
- - **Success Metric:** Customer satisfaction, willingness to pay, retention
61
- - **Example:** Food on the Table founder personally planned meals and shopped with his first customer
62
-
63
- **Wizard of Oz MVP**
64
- - **What:** Looks automated to users, but humans do the work behind the scenes
65
- - **Tests:** Will the solution work at scale? What does "good" look like?
66
- - **Process:** Build interface → Manually fulfill requests → Iterate on experience
67
- - **Success Metric:** User behavior, satisfaction, unit economics hints
68
- - **Example:** Aardvark (acquired by Google) had humans answer questions before building AI
69
-
70
- **Piecemeal MVP**
71
- - **What:** Combine existing tools to deliver value without building
72
- - **Tests:** Full workflow, integration points, customer acceptance
73
- - **Process:** String together Typeform + Zapier + Airtable + Stripe
74
- - **Success Metric:** Completion rates, customer satisfaction, revenue
75
- - **Example:** Early marketplaces using Google Forms + manual matching + PayPal
76
-
77
- **Single-Feature MVP**
78
- - **What:** Build one core feature exceptionally well
79
- - **Tests:** Core value hypothesis with real product
80
- - **Process:** Build the ONE thing that matters most → Ship → Measure
81
- - **Success Metric:** Usage, retention, satisfaction
82
- - **Example:** Twitter launched with just "post 140 characters" - nothing else
83
-
84
- **Smoke Test (Fake Door)**
85
- - **What:** Button/link for a feature that doesn't exist, measuring interest
86
- - **Tests:** Would people want this feature?
87
- - **Process:** Add button → Track clicks → Show "coming soon" message
88
- - **Success Metric:** Click-through rate vs. baseline
89
- - **Example:** Amazon reportedly tested categories by adding links before building fulfillment
90
-
91
- ### 4. Choosing Your MVP Type
92
-
93
- **If you need to test DEMAND:**
94
- → Landing Page MVP (fastest, cheapest)
95
- → Video MVP (if concept needs demonstration)
96
-
97
- **If you need to test VALUE DELIVERY:**
98
- → Concierge MVP (for complex services)
99
- → Wizard of Oz MVP (for tech products)
100
- → Piecemeal MVP (for workflow-heavy products)
101
-
102
- **If you need to test TECHNICAL FEASIBILITY:**
103
- → Single-Feature MVP (must actually build)
104
- → Prototype/Demo (to prove it's possible)
105
-
106
- **If you need to test WILLINGNESS TO PAY:**
107
- → Landing Page with pricing tiers
108
- → Concierge with actual invoicing
109
- → Pre-orders with real money
110
-
111
- ### 5. MVP Design Principles
112
-
113
- **Remove everything that doesn't test your hypothesis:**
114
- - Feature X doesn't matter for this test? Remove it.
115
- - Visual design doesn't affect the hypothesis? Use templates.
116
- - Account system not needed for test? Skip it.
117
-
118
- **Set clear success criteria BEFORE launching:**
119
- - "Success = 100 signups in 2 weeks"
120
- - "Success = 3 out of 5 concierge customers paying"
121
- - "Success = 20% click-through on feature interest"
122
-
123
- **Plan your learning questions:**
124
- - What will this MVP tell us?
125
- - What will it NOT tell us?
126
- - What would make us abandon this idea?
127
- - What would make us move forward?
128
-
129
- ### 6. Common Mistakes
130
-
131
- **Building too much:** "It's not ready yet" is usually fear, not wisdom
132
- **Testing the wrong thing:** Cool tech demo doesn't test market demand
133
- **No success criteria:** "We'll know it when we see it" leads to confirmation bias
134
- **Ignoring the results:** "Users didn't like it, but they will eventually..."
135
- **Moving too fast from MVP to full build:** MVP success → more MVPs, not full product
136
-
137
- ### 7. Synthesis
138
-
139
- After choosing and designing your MVP:
140
- - What specific hypothesis does this test?
141
- - What's the minimum required to run this test?
142
- - What would "validated" look like? What would "invalidated" look like?
143
- - How long until we have results?
144
- - What will we do with each possible outcome?
145
-
146
- ## Example
147
-
148
- **Idea**: "AI-powered legal contract review for freelancers"
149
-
150
- ### Riskiest Assumptions
151
-
152
- 1. Freelancers actually worry about contracts (demand)
153
- 2. They'll pay for contract review (willingness to pay)
154
- 3. AI can provide accurate, useful feedback (technical feasibility)
155
- 4. They'll trust AI for legal advice (adoption/trust)
156
-
157
- ### MVP Selection
158
-
159
- **Riskiest assumption:** #2 - Will freelancers pay for this?
160
-
161
- (#1 can be tested through conversations; #3 and #4 matter only if #2 is true)
162
-
163
- **Selected MVP Type:** Landing Page + Concierge combo
164
-
165
- ### MVP Design
166
-
167
- **Phase 1: Landing Page (1 week)**
168
- - Value proposition: "AI contract review for freelancers - $29 per contract"
169
- - Target: Freelancer communities (Reddit, Twitter, Slack groups)
170
- - CTA: "Upload your contract for review"
171
- - Success criteria: 20 uploads in 2 weeks
172
-
173
- **Phase 2: Concierge (if Phase 1 succeeds)**
174
- - Manually review uploaded contracts
175
- - Use AI tools to assist (but human reviews output)
176
- - Send back marked-up contract with concerns highlighted
177
- - Charge $29 via Stripe
178
- - Success criteria: 5 paid reviews in 2 weeks
179
-
180
- ### Learning Questions
181
-
182
- **Phase 1 will tell us:**
183
- - Is there demand? (upload rate)
184
- - Does the value prop resonate? (which headlines work)
185
- - What types of contracts? (scope of problem)
186
-
187
- **Phase 1 will NOT tell us:**
188
- - Will they actually pay? (need Phase 2)
189
- - Will they come back? (need Phase 2)
190
-
191
- **Phase 2 will tell us:**
192
- - Will they pay? (conversion rate)
193
- - What's the real workflow? (manual process reveals it)
194
- - What makes a "good" review? (customer feedback)
195
-
196
- **Kill criteria:**
197
- - Phase 1: <5 uploads → Abandon
198
- - Phase 2: <20% conversion to paid → Pivot price or value prop
199
-
200
- **Insight:** By sequencing Landing Page → Concierge, we test demand quickly and cheaply before investing in manual delivery. If demand doesn't exist, we haven't wasted time building the service.
@@ -1,239 +0,0 @@
1
- ---
2
- name: og-images
3
- description: Generates Open Graph and Twitter Card images for social media sharing. Use when someone needs to create or update OG images, social media preview images, or Twitter cards. Triggers include "generate OG images", "create social images", "update twitter card", "social media previews", or when discussing meta tags for social sharing.
4
- ---
5
-
6
- # OG Image Generator
7
-
8
- This skill generates Open Graph (OG) and Twitter Card images for social media sharing using a Next.js page and Playwright screenshots.
9
-
10
- ## Overview
11
-
12
- The system consists of:
13
- 1. **OG Page** (`/app/og/page.tsx`) - A Next.js page that renders the image at exact dimensions
14
- 2. **OG Layout** (`/app/og/layout.tsx`) - A wrapper layout for the OG route
15
- 3. **Playwright** - Takes screenshots at the correct viewport sizes
16
- 4. **Static Images** - Saved to `/public/` for use in meta tags
17
-
18
- ## Image Formats & Dimensions
19
-
20
- | Format | Dimensions | Use Case |
21
- |--------|------------|----------|
22
- | Landscape | 1200×628 | Twitter, LinkedIn, Facebook, Open Graph |
23
- | Square | 1200×1200 | Instagram, general social |
24
- | Portrait | 1080×1350 | Instagram feed, mobile-first platforms |
25
- | LinkedIn Banner | 4200×700 | LinkedIn company page cover image |
26
-
27
- ## Workflow
28
-
29
- ### Step 1: Create/Update the OG Page
30
-
31
- The OG page at `/app/og/page.tsx` should:
32
-
33
- 1. Accept a `format` query parameter (`landscape`, `square`, `portrait`)
34
- 2. Render at exact dimensions using inline styles with min/max constraints
35
- 3. Use the site's branding (colors, fonts, logo)
36
- 4. Include the hero image with proper styling (rounded corners, glow/shadow)
37
-
38
- **Key styling requirements:**
39
- - Set explicit `width`, `height`, `minWidth`, `maxWidth`, `minHeight`, `maxHeight` on the container
40
- - Use `overflow: "hidden"` to prevent content overflow
41
- - Apply `borderRadius` and `boxShadow` directly to `<Image>` elements (not containers) when using `objectFit: "contain"`
42
- - For images that should fill their container, use `fill` prop with `objectFit: "cover"`
43
-
44
- **Example structure:**
45
- ```tsx
46
- const dimensions: Record<Format, { width: number; height: number }> = {
47
- landscape: { width: 1200, height: 628 },
48
- square: { width: 1200, height: 1200 },
49
- portrait: { width: 1080, height: 1350 },
50
- "linkedin-banner": { width: 4200, height: 700 },
51
- };
52
-
53
- export default async function OGImage({
54
- searchParams,
55
- }: {
56
- searchParams: Promise<{ format?: string }>;
57
- }) {
58
- const params = await searchParams;
59
- const format = (params.format as Format) || "landscape";
60
- const { width, height } = dimensions[format] || dimensions.landscape;
61
-
62
- return (
63
- <div style={{
64
- width,
65
- height,
66
- minWidth: width,
67
- maxWidth: width,
68
- minHeight: height,
69
- maxHeight: height,
70
- display: "flex",
71
- // ... rest of styles
72
- }}>
73
- {/* Content */}
74
- </div>
75
- );
76
- }
77
- ```
78
-
79
- ### Step 2: Create the Layout
80
-
81
- Create `/app/og/layout.tsx` to wrap the OG page:
82
-
83
- ```tsx
84
- export default function OGLayout({ children }: { children: React.ReactNode }) {
85
- return (
86
- <div
87
- style={{
88
- margin: 0,
89
- padding: 0,
90
- overflow: "hidden",
91
- backgroundColor: "#1a1f25",
92
- minHeight: "100vh",
93
- }}
94
- >
95
- {children}
96
- </div>
97
- );
98
- }
99
- ```
100
-
101
- ### Step 3: Hide from Search Engines
102
-
103
- Add to `/public/robots.txt`:
104
- ```
105
- # Hide internal OG image generation page
106
- Disallow: /og
107
- ```
108
-
109
- ### Step 4: Generate Images with Playwright
110
-
111
- Run the dev server, then use Playwright to screenshot each format:
112
-
113
- ```bash
114
- # Portrait (1080×1350)
115
- npx playwright screenshot --viewport-size="1080,1350" "http://localhost:3001/og?format=portrait" public/og-portrait.png
116
-
117
- # Landscape (1200×628)
118
- npx playwright screenshot --viewport-size="1200,628" "http://localhost:3001/og?format=landscape" public/og-landscape.png
119
-
120
- # Square (1200×1200)
121
- npx playwright screenshot --viewport-size="1200,1200" "http://localhost:3001/og?format=square" public/og-square.png
122
-
123
- # LinkedIn Banner (4200×700)
124
- npx playwright screenshot --viewport-size="4200,700" "http://localhost:3001/og?format=linkedin-banner" public/og-linkedin-banner.png
125
- ```
126
-
127
- ### Step 5: Update Meta Tags
128
-
129
- In `/app/layout.tsx`, add the OG and Twitter meta tags:
130
-
131
- ```tsx
132
- export const metadata: Metadata = {
133
- openGraph: {
134
- title: "Your Title",
135
- description: "Your description",
136
- images: [
137
- {
138
- url: "/og-landscape.png",
139
- width: 1200,
140
- height: 628,
141
- alt: "Description",
142
- },
143
- ],
144
- type: "website",
145
- },
146
- twitter: {
147
- card: "summary_large_image",
148
- title: "Your Title",
149
- description: "Your description",
150
- images: ["/og-landscape.png"],
151
- },
152
- };
153
- ```
154
-
155
- ## LinkedIn Banner Layout
156
-
157
- The LinkedIn company page cover image (4200×700) uses a split layout: the left 50% is empty space showing only the background wallpaper, and the right 50% contains all text and the company logo. This accounts for the LinkedIn profile photo and company info that overlay the left side of the banner on the LinkedIn page.
158
-
159
- **Layout principles:**
160
- - Use a two-column flex layout with each half at 50% width
161
- - Left half: empty — only the background image/wallpaper shows through
162
- - Right half: company logo and any text, right-aligned or centered within that half
163
- - Keep text minimal and large enough to read at reduced sizes (LinkedIn scales the banner down)
164
- - The background wallpaper should span the full 4200×700 area behind both halves
165
-
166
- **Example structure:**
167
- ```tsx
168
- {format === "linkedin-banner" && (
169
- <div style={{
170
- width: 4200,
171
- height: 700,
172
- display: "flex",
173
- position: "relative",
174
- overflow: "hidden",
175
- }}>
176
- {/* Background wallpaper spanning full width */}
177
- <Image src="/background.jpg" alt="" fill style={{ objectFit: "cover" }} />
178
-
179
- {/* Left half: intentionally empty (background only) */}
180
- <div style={{ width: "50%", flexShrink: 0 }} />
181
-
182
- {/* Right half: logo and text */}
183
- <div style={{
184
- width: "50%",
185
- display: "flex",
186
- flexDirection: "column",
187
- alignItems: "flex-end",
188
- justifyContent: "center",
189
- padding: "32px 48px",
190
- position: "relative",
191
- zIndex: 1,
192
- }}>
193
- <Image src="/logo.png" alt="Company Logo" width={120} height={120} />
194
- <h1 style={{ color: "#fff", fontSize: 28, marginTop: 16 }}>Company Name</h1>
195
- <p style={{ color: "#ccc", fontSize: 16 }}>Tagline goes here</p>
196
- </div>
197
- </div>
198
- )}
199
- ```
200
-
201
- ## Common Issues & Solutions
202
-
203
- ### Image appears truncated
204
- - Use `objectFit: "contain"` instead of `"cover"`
205
- - Ensure container has enough height for the image
206
-
207
- ### Rounded corners not visible
208
- - Apply `borderRadius` directly to the `<Image>` style prop, not the container
209
- - This is required when using `objectFit: "contain"` because the image doesn't fill the container
210
-
211
- ### Shadow not visible
212
- - Use a colored glow (e.g., cyan) instead of pure black on dark backgrounds
213
- - Example: `boxShadow: "0 0 60px rgba(0, 212, 255, 0.3), 0 20px 60px rgba(0, 0, 0, 0.5)"`
214
-
215
- ### Icon not filling container
216
- - Use `fill` prop on Next.js Image component
217
- - Add `position: "relative"` to container and `objectFit: "cover"` to image
218
-
219
- ### Wrong dimensions in screenshot
220
- - Set explicit min/max constraints on the outer container
221
- - Use the exact viewport size in Playwright command
222
-
223
- ## Regenerating Images
224
-
225
- When making changes to the OG page, always regenerate all three images:
226
-
227
- ```bash
228
- npx playwright screenshot --viewport-size="1080,1350" "http://localhost:3001/og?format=portrait" public/og-portrait.png && \
229
- npx playwright screenshot --viewport-size="1200,628" "http://localhost:3001/og?format=landscape" public/og-landscape.png && \
230
- npx playwright screenshot --viewport-size="1200,1200" "http://localhost:3001/og?format=square" public/og-square.png && \
231
- npx playwright screenshot --viewport-size="4200,700" "http://localhost:3001/og?format=linkedin-banner" public/og-linkedin-banner.png
232
- ```
233
-
234
- ## Verification
235
-
236
- After generating, verify:
237
- 1. Images exist in `/public/` with correct file sizes
238
- 2. Dimensions are correct (use an image viewer or `file` command)
239
- 3. Visual appearance matches design (open the files to inspect)