cloudflare
Self-contained deploy automation — invoke directly, do not decompose. Deploys a Vibes app to Cloudflare Workers via the Deploy API. Use when deploying,…
Self-contained parallel generator — invoke directly, do not decompose. Generates 3-10 app variations in parallel for comparing ideas. Use when user says "explore options", "give me variations", "riff on this", "brainstorm approaches", or wants to see multiple interpretations of
$ npx -y skills add popmechanic/VibesOS --skill riff --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/riffContext preview
The summary Claude sees to decide when to auto-load this skill.
Self-contained parallel generator — invoke directly, do not decompose. Generates 3-10 app variations in parallel for comparing ideas. Use when user says "explore options", "give me variations", "riff on this", "brainstorm approaches", or wants to see multiple interpretations of
name: riff argument-hint: "[prompt]" description: Self-contained parallel generator — invoke directly, do not decompose. Generates 3-10 app variations in parallel for comparing ideas. Use when user says "explore options", "give me variations", "riff on this", "brainstorm approaches", or wants to see multiple interpretations of a concept. license: MIT allowed-tools: Read, Write, Bash, Task, Glob, AskUserQuestion metadata: author: "Marcus Estes"
> **Plan mode**: If you are planning work, this entire skill is ONE plan step: "Invoke /vibes:riff". Do not decompose the steps below into separate plan tasks.
**Display this ASCII art immediately when starting:**
░▒▓█▓▒░░▒▓█▓▒░▒▓█▓▒░▒▓███████▓▒░░▒▓████████▓▒░░▒▓███████▓▒░ ░▒▓█▓▒░░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░░▒▓█▓▒░▒▓█▓▒░ ░▒▓█▓▒░ ░▒▓█▓▒▒▓█▓▒░░▒▓█▓▒░▒▓█▓▒░░▒▓█▓▒░▒▓█▓▒░ ░▒▓█▓▒░ ░▒▓█▓▒▒▓█▓▒░░▒▓█▓▒░▒▓███████▓▒░░▒▓██████▓▒░ ░▒▓██████▓▒░ ░▒▓█▓▓█▓▒░ ░▒▓█▓▒░▒▓█▓▒░░▒▓█▓▒░▒▓█▓▒░ ░▒▓█▓▒░ ░▒▓█▓▓█▓▒░ ░▒▓█▓▒░▒▓█▓▒░░▒▓█▓▒░▒▓█▓▒░ ░▒▓█▓▒░ ░▒▓██▓▒░ ░▒▓█▓▒░▒▓███████▓▒░░▒▓████████▓▒░▒▓███████▓▒░
Generate multiple app variations in parallel. Each riff is a different INTERPRETATION - different ideas, not just styling.
Detect whether you're running in a terminal (Claude Code CLI) or an editor (Cursor, Windsurf, VS Code with Copilot). **Terminal agents** use `AskUserQuestion` for all input. **Editor agents** present requirements as a checklist comment, wait for user edits, then proceed. See the vibes skill for the full detection and interaction pattern.
**Use AskUserQuestion to collect all config at once.**
Question 1: "What kind of app do you want to explore? (broad/loose is fine)" Header: "Theme" Options: User enters via "Other" Question 2: "Describe the visual style - colors, mood, aesthetic" Header: "Visual" Options: ["Warm sunset tones", "Clean minimal white", "Neon cyberpunk", "Other (describe)"] Question 3: "How many variations should I generate?" Header: "Count" Options: ["3 (recommended)", "5", "7", "10"]
After receiving all answers, **proceed immediately to Step 2** - no more questions.
**Note:** If the `frontend-design` skill is available, use it for enhanced visual design quality.
mkdir -p riff-1 riff-2 riff-3 ...
**Use the bundled script to generate riffs in parallel.** Each script instance calls `claude -p` (uses subscription tokens) and writes directly to disk.
Generate riffs in parallel based on user's count:
VIBES_ROOT="${CLAUDE_PLUGIN_ROOT:-$(dirname "$(dirname "${CLAUDE_SKILL_DIR}")")}"
# For each N from 1 to ${count}:
bun "$VIBES_ROOT/scripts/generate-riff.js" "${prompt}" N riff-N/app.jsx "${visual}" &
# Then wait for all
wait
echo "All ${count} riffs generated!"Example for count=3:
VIBES_ROOT="${CLAUDE_PLUGIN_ROOT:-$(dirname "$(dirname "${CLAUDE_SKILL_DIR}")")}"
bun "$VIBES_ROOT/scripts/generate-riff.js" "productivity apps" 1 riff-1/app.jsx "warm sunset oranges and soft creams" &
bun "$VIBES_ROOT/scripts/generate-riff.js" "productivity apps" 2 riff-2/app.jsx "warm sunset oranges and soft creams" &
bun "$VIBES_ROOT/scripts/generate-riff.js" "productivity apps" 3 riff-3/app.jsx "warm sunset oranges and soft creams" &
wait**Why this works:**
Convert each app.jsx to a complete index.html:
VIBES_ROOT="${CLAUDE_PLUGIN_ROOT:-$(dirname "$(dirname "${CLAUDE_SKILL_DIR}")")}"
bun "$VIBES_ROOT/scripts/assemble-all.js" riff-1 riff-2 riff-3 ...Read the **pitch.md** files (NOT the full code) for fast evaluation:
# Read pitch files - contains reasoning about theme, colors, functionality cat riff-*/pitch.md # Also read BUSINESS comments for app names (just first 10 lines of each) head -10 riff-*/app.jsx
**pitch.md** contains the model's reasoning about theme, colors, and design choices. **BUSINESS comment** (top of app.jsx) contains: name, pitch, customer, revenue.
Then create RANKINGS.md using this format:
# Riff Rankings: [Theme] ## Summary | Rank | App Name | Score | Best For | |------|----------|-------|----------| | 1 | [Name] | XX/50 | [one-liner] | | 2 | [Name] | XX/50 | [one-liner] | | ... | ... | ... | ... | ## Detailed Scores ### #1: [App Name] (riff-N) | Criterion | Score | Notes | |-----------|-------|-------| | Originality | X/10 | [Why unique or derivative] | | Market Potential | X/10 | [Target audience size, demand] | | Feasibility | X/10 | [Technical complexity, time to build] | | Monetization | X/10 | [Revenue model viability] | | Wow Factor | X/10 | [First impression, engagement] | | **Total** | **XX/50** | | [Repeat for each riff] ## Recommendations - **Best for solo founder:** [riff-N] - [reason] - **Fastest to ship:** [riff-N] - [reason] - **Most innovative:** [riff-N] - [reason] - **Best monetization:** [riff-N] - [reason]
**Scoring Guidelines:**
Create index.html gallery page with:
Generated ${count} riffs for "${prompt}":
#1: riff-X - App Name (XX/50)
#2: riff-Y - App Name (XX/50)
...
Open index.html for gallery, oInstantly make your own small multi-user apps, without a backend. For apps made with Vibes, the front-end is the app.
Repo: popmechanic/VibesOS
Self-contained deploy automation — invoke directly, do not decompose. Deploys a Vibes app to Cloudflare Workers via the Deploy API. Use when deploying,…
Self-contained design transformer — invoke directly, do not decompose. Transforms a design reference HTML file into a Vibes app. Use when user provides a…
Self-contained SaaS pipeline — invoke directly, do not decompose. Generates a factory app with landing page, Stripe subscription checkout, Vibe Token…
Self-contained test automation — invoke directly, do not decompose. End-to-end integration test that assembles a fixture, deploys to Cloudflare (with…
Lightweight requirements gathering before app generation. Asks non-technical multiple-choice questions to understand user intent, then produces a brief for the…