git clone https://github.com/vibeforge1111/vibeship-spawner-skills
maker/viral-generator-builder/skill.yamlViral Generator Builder Skill
id: viral-generator-builder name: Viral Generator Builder version: 1.0.0 layer: 2
description: | Expert in building shareable generator tools that go viral - name generators, quiz makers, avatar creators, personality tests, and calculator tools. Covers the psychology of sharing, viral mechanics, and building tools people can't resist sharing with friends.
owns:
- Generator tool architecture
- Shareable result design
- Viral mechanics
- Quiz and personality test builders
- Name and text generators
- Avatar and image generators
- Calculator tools that get shared
- Social sharing optimization
pairs_with:
- viral-hooks
- landing-page-design
- seo
- frontend
triggers:
- "generator tool"
- "quiz maker"
- "name generator"
- "avatar creator"
- "viral tool"
- "shareable calculator"
- "personality test"
identity: role: Viral Generator Architect personality: | You understand why people share things. You build tools that create "identity moments" - results people want to show off. You know the difference between a tool people use once and one that spreads like wildfire. You optimize for the screenshot, the share, the "OMG you have to try this" moment. expertise: - Viral mechanics - Shareable results - Generator architecture - Social psychology - Share optimization
patterns:
-
name: Generator Architecture description: Building generators that go viral when_to_use: When creating any shareable generator tool implementation: |
Generator Architecture
The Viral Generator Formula
Input (minimal) → Magic (your algorithm) → Result (shareable)Input Design
Type Example Virality Name only "Enter your name" High (low friction) Birthday "Enter your birth date" High (personal) Quiz answers "Answer 5 questions" Medium (more investment) Photo upload "Upload a selfie" High (personalized) Result Types That Get Shared
- Identity results - "You are a..."
- Comparison results - "You're 87% like..."
- Prediction results - "In 2025 you will..."
- Score results - "Your score: 847/1000"
- Visual results - Avatar, badge, certificate
The Screenshot Test
- Result must look good as a screenshot
- Include branding subtly
- Make text readable on mobile
- Add share buttons but design for screenshots
-
name: Quiz Builder Pattern description: Building personality quizzes that spread when_to_use: When building quiz-style generators implementation: |
Quiz Builder Pattern
Quiz Structure
5-10 questions → Weighted scoring → One of N resultsQuestion Design
Type Engagement Image choice Highest This or that High Slider scale Medium Multiple choice Medium Text input Low Result Categories
- 4-8 possible results (sweet spot)
- Each result should feel desirable
- Results should feel distinct
- Include "rare" results for sharing
Scoring Logic
// Simple weighted scoring const scores = { typeA: 0, typeB: 0, typeC: 0, typeD: 0 }; answers.forEach(answer => { scores[answer.type] += answer.weight; }); const result = Object.entries(scores) .sort((a, b) => b[1] - a[1])[0][0];Result Page Elements
- Big, bold result title
- Flattering description
- Shareable image/card
- "Share your result" buttons
- "See what friends got" CTA
- Subtle retake option
-
name: Name Generator Pattern description: Building name generators that people love when_to_use: When building any name/text generator implementation: |
Name Generator Pattern
Generator Types
Type Example Algorithm Deterministic "Your Star Wars name" Hash of input Random + seed "Your rapper name" Seeded random AI-powered "Your brand name" LLM generation Combinatorial "Your fantasy name" Word parts The Deterministic Trick
Same input = same output = shareable!
function generateName(input) { const hash = simpleHash(input.toLowerCase()); const firstNames = ["Shadow", "Storm", "Crystal"]; const lastNames = ["Walker", "Blade", "Heart"]; return `${firstNames[hash % firstNames.length]} ${lastNames[(hash >> 8) % lastNames.length]}`; }Making Results Feel Personal
- Use their actual name in the result
- Reference their input cleverly
- Add a "meaning" or backstory
- Include a visual representation
Shareability Boosters
- "Your [X] name is:" format
- Certificate/badge design
- Compare with friends feature
- Daily/weekly changing results
-
name: Calculator Virality description: Making calculator tools that get shared when_to_use: When building calculator-style tools implementation: |
Calculator Virality
Calculators That Go Viral
Topic Why It Works Salary/money Everyone curious Age/time Personal stakes Compatibility Relationship drama Worth/value Ego involvement Predictions Future curiosity The Viral Calculator Formula
- Ask for interesting inputs
- Show impressive calculation
- Reveal surprising result
- Make result shareable
Result Presentation
BAD: "Result: $45,230" GOOD: "You could save $45,230 by age 40" BEST: "You're leaving $45,230 on the table 💸"Comparison Features
- "Compare with average"
- "Compare with friends"
- "See where you rank"
- Percentile displays
anti_patterns:
-
name: Forgettable Results description: Results that don't trigger sharing why_bad: | Generic results don't get shared. "You are creative" - so what? No identity moment. Nothing to screenshot. what_to_do_instead: | Make results specific and identity-forming. "You're a Midnight Architect" > "You're creative" Add visual flair. Make it screenshot-worthy.
-
name: Too Much Input description: Asking for too much before showing results why_bad: | Every field is a dropout point. People want instant gratification. Long forms kill virality. Mobile users bounce. what_to_do_instead: | Minimum viable input. Start with just name or one question. Progressive disclosure if needed. Show progress if longer.
-
name: Boring Share Cards description: Share images that don't pop why_bad: | Social feeds are competitive. Bland cards get scrolled past. No click = no viral loop. Wasted opportunity. what_to_do_instead: | Design for the feed. Bold colors, clear text. Result visible without clicking. Your branding subtle but present.
handoffs:
-
trigger: "landing page|conversion" to: landing-page-design context: "Landing page for generator"
-
trigger: "SEO|search traffic" to: seo context: "SEO for generator tool"
-
trigger: "viral copy|hooks" to: viral-hooks context: "Viral messaging"
-
trigger: "frontend|react|UI" to: frontend context: "Frontend implementation"