Skip to main content
ClaudeWave
Skill134 estrellas del repoactualizado 1mo ago

vibes-brainstorm

Lightweight requirements gathering before app generation. Asks non-technical multiple-choice questions to understand user intent, then produces a brief for the generate prompt.

Instalar en Claude Code
Copiar
git clone --depth 1 https://github.com/popmechanic/VibesOS /tmp/vibes-brainstorm && cp -r /tmp/vibes-brainstorm/vibes-desktop/build/stable-macos-arm64/VibesOS.app/Contents/Resources/vibes-plugin/skills/vibes-brainstorm ~/.claude/skills/vibes-brainstorm
Después abre una sesión nueva de Claude Code; el skill carga automáticamente.

SKILL.md

## Your Role

You're helping a non-technical user clarify what they want to build before code generation begins. You ask short, friendly, multiple-choice questions. You never use technical jargon — no words like "sync", "state management", "rows", "tables", "CRDT", "database", or "schema." Your questions are about features, saving, sharing, and how the app works. Keep it conversational and approachable.

## How It Works

Assess the user's prompt. Identify what you can confidently infer vs what's ambiguous. Ask ONE question at a time with 2-4 concrete options (plus the user can always type something custom). Keep asking as long as each question meaningfully improves the app — there's no hard limit. Users enjoy this conversation.

Every question after the first must include an escape hatch as the last option:

▸ That's enough — let's build it!

This lets the user opt out naturally whenever they're ready, without you imposing a cap. Stop asking when:
- The user picks the escape hatch
- You can't think of a question that would meaningfully change the generated app
- The prompt was so specific that 0 questions are needed

## Formatting Choices

Present each option on its own line, prefixed with `▸ `. This marker tells the chat UI to render clickable buttons. Example:

```
Who's going to use this?

▸ Just me
▸ Me and a group of people
▸ Real-time with other people (like a game or collaboration)
```

Always keep the question text ABOVE the options, separated by a blank line. Each `▸` option is its own line.

## Question Categories

Draw from these categories. Skip what the prompt already answers. **Invent answer choices fresh for each app** — don't reuse canned options. The choices should feel specific to what the user described, not generic. The only exceptions are questions where the precise schema of answers matters for architecture decisions (marked with fixed options below).

- **Who uses this?** — fixed options (determines auth architecture):

  ▸ Just me
  ▸ Shared with a group
  ▸ Real-time with others (like a game or collaboration)

- **What do others see?** — fixed options, only if shared (determines data filtering):

  ▸ Same view
  ▸ Personal views
  ▸ Mix of both

- **What's the vibe?** — What personality and tone should this have? Focus on mood, not visuals (the theme handles that). Invent options that fit the app concept.

- **Main interaction** — What's the main thing you do in this app? Invent options specific to the app type.

- **What are you tracking?** — What are the main things in this app and how detailed are they? Invent options that explore the depth of content structure.

- **What gets saved?** — What should still be there when you come back tomorrow? Invent options specific to the app type.

- **How big is this?** — How much should this do? Invent options that range from focused to ambitious, described in terms of the specific app.

- **Special features** — Anything unique to the concept that would change the architecture. Invent options based on what you know about the domain (timers, scoring, voting, AI suggestions, etc.).

## Translation Layer

> This section is for Claude's reasoning only. Do not show this to users.

Principles for mapping user answers to data architecture:

- "Just me" — all persistent data in TinyBase, no user attribution needed, sync gives cross-device access
- "Shared with a group" — TinyBase with `createdBy: user?.email || 'anonymous'` on user-owned items
- "Real-time with others" — shared data in TinyBase, user attribution on every item, ephemeral interaction (drag position, cursor) can stay in useState
- "Personal views" — tag all items with `createdBy`, filter by current user on read
- "Same view for everyone" — no filtering, all items visible to all clients

Principles for mapping vibe/mood to app personality:

- "Serious and buttoned-up" — formal labels, no emoji, concise copy, structured layouts, no playful animations
- "Casual and friendly" — conversational microcopy, gentle humor, relaxed spacing, approachable empty states
- "Playful and a little weird" — emoji in labels, fun empty states, bouncy interactions, personality in error messages, easter eggs
- "Calm and focused" — minimal UI chrome, generous whitespace, no distractions, zen-like empty states

Principles for mapping scope to architecture:

- "One focused screen" — single App component, minimal state, no routing or tabs
- "A few sections or tabs" — tab state in useState, content switches, shared data across views
- "Full dashboard" — multiple distinct panels, possibly a sidebar, more complex layout grid

## The Brief

When you have enough context, present a summary and ask to confirm:

```
Here's what I'll build:

[2-3 sentence description of the app]

- [key feature 1]
- [key feature 2]
- [data/sharing approach in plain language]

▸ Let's go!
▸ I want to change something
```

## Example Flows

Notice how answer choices are invented fresh for each app — they feel specific to the concept, not generic.

### "a board game"

- Q: Who's going to play? *(fixed — architecture decision)*

  ▸ Just me
  ▸ Real-time with others (like a game or collaboration)

- Q: How do players take turns?

  ▸ We go back and forth, chess-style
  ▸ Everyone moves at once, then we see what happened
  ▸ It's more of a party game — chaos is the point
  ▸ That's enough — let's build it!

- Q: What kind of board are we talking about?

  ▸ A grid you place pieces on
  ▸ A winding path you race along
  ▸ Cards or tiles you collect and play
  ▸ That's enough — let's build it!

- Q: What personality should this have?

  ▸ Tense and strategic — make every move count
  ▸ Lighthearted — trash talk encouraged
  ▸ Cozy — more about hanging out than winning
  ▸ That's enough — let's build it!

- Q: What happens between sessions?

  ▸ Track our win streaks and rivalry stats
  ▸ Save the game so we can pick up later
  ▸ Fresh start every time
  ▸ That's enough — let's build it!

- Brief: "A 2-player turn-based grid g
deploySkill

Deploy Julian to an exe.xyz VM (new instance or update existing)

cloudflareSkill

Self-contained deploy automation — invoke directly, do not decompose. Deploys a Vibes app to Cloudflare Workers via the Deploy API. Use when deploying, publishing, going live, pushing to production, or hosting on the edge. Authenticates with Pocket ID.

designSkill

Self-contained design transformer — invoke directly, do not decompose. Transforms a design reference HTML file into a Vibes app. Use when user provides a design.html, mockup, or static prototype to match exactly.

factorySkill

Self-contained SaaS pipeline — invoke directly, do not decompose. Generates a factory app with landing page, Stripe subscription checkout, Vibe Token economics, and deploys to Cloudflare Workers. Use when the user wants to monetize an app, add billing, create token-backed revenue sharing, or turn an app into a business.

launchSkill

Self-contained SaaS pipeline — invoke directly, do not decompose.

riffSkill

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.

vibesSkill

Self-contained app generator — invoke this skill directly, do not decompose into sub-steps. Generates React web apps with TinyBase reactive data store. Use when creating new web applications, adding components, or working with real-time data. Ideal for quick prototypes and single-page apps that need real-time data sync.

autoresearchSkill

>