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 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
$ npx -y skills add popmechanic/VibesOS --skill factory --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/factoryContext preview
The summary Claude sees to decide when to auto-load this skill.
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
name: factory argument-hint: "[app-name]" description: 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. license: MIT allowed-tools: Read, Write, Bash, Glob, AskUserQuestion metadata: author: "Marcus Estes"
> **Plan mode**: If you are planning work, this entire skill is ONE plan step: "Invoke /vibes:factory". Do not decompose the steps below into separate plan tasks.
**Display this ASCII art immediately when starting:**
░▒▓████████▓▒░░▒▓██████▓▒░ ░▒▓██████▓▒░▒▓████████▓▒░░▒▓██████▓▒░░▒▓███████▓▒░░▒▓█▓▒░░▒▓█▓▒░ ░▒▓█▓▒░ ░▒▓█▓▒░░▒▓█▓▒░▒▓█▓▒░░▒▓█▓▒░ ░▒▓█▓▒░ ░▒▓█▓▒░░▒▓█▓▒░▒▓█▓▒░░▒▓█▓▒░▒▓█▓▒░░▒▓█▓▒░ ░▒▓█▓▒░ ░▒▓█▓▒░░▒▓█▓▒░▒▓█▓▒░ ░▒▓█▓▒░ ░▒▓█▓▒░░▒▓█▓▒░▒▓█▓▒░░▒▓█▓▒░▒▓█▓▒░░▒▓█▓▒░ ░▒▓██████▓▒░ ░▒▓████████▓▒░▒▓█▓▒░ ░▒▓█▓▒░ ░▒▓█▓▒░░▒▓█▓▒░▒▓███████▓▒░ ░▒▓██████▓▒░ ░▒▓█▓▒░ ░▒▓█▓▒░░▒▓█▓▒░▒▓█▓▒░ ░▒▓█▓▒░ ░▒▓█▓▒░░▒▓█▓▒░▒▓█▓▒░░▒▓█▓▒░ ░▒▓█▓▒░ ░▒▓█▓▒░ ░▒▓█▓▒░░▒▓█▓▒░▒▓█▓▒░░▒▓█▓▒░ ░▒▓█▓▒░ ░▒▓█▓▒░░▒▓█▓▒░▒▓█▓▒░░▒▓█▓▒░ ░▒▓█▓▒░ ░▒▓█▓▒░ ░▒▓█▓▒░░▒▓█▓▒░░▒▓██████▓▒░ ░▒▓█▓▒░ ░▒▓██████▓▒░░▒▓█▓▒░░▒▓█▓▒░ ░▒▓█▓▒░
---
**DO NOT generate code manually.** This skill uses pre-built scripts and API calls:
| Step | Tool | What it does | |------|------|--------------| | Assembly | `assemble-factory.js` | Generates unified index.html | | Deploy | `deploy-cloudflare.js` | Deploys to Cloudflare Workers | | Configure | `POST /app/configure` | Stores billing config in KV | | Initialize | `POST /token/:appName/initialize` | Sets up Vibe Token economics | | Grant | `POST /token/:appName/grant` | Grants tokens to partners |
**Script location:**
VIBES_ROOT="${CLAUDE_PLUGIN_ROOT:-$(dirname "$(dirname "${CLAUDE_SKILL_DIR}")")}"**Factory API base:** `https://factory.vibesos.com`
---
Transform your Vibes app into a revenue-generating SaaS with token-backed contributor rewards.
The factory skill sets up:
All configuration is stored in the factory worker. Token state lives in a Durable Object per app.
---
Detect whether you're running in a terminal (Claude Code CLI) or an editor. **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.
**Before starting, verify these prerequisites. STOP if any check fails.**
Auth is automatic — on first deploy, a browser window opens for Pocket ID login. Tokens are cached at `~/.vibes/auth.json` for subsequent deploys.
ls -la app.jsx 2>/dev/null || echo "NOT_FOUND"
**Decision tree:**
VIBES_ROOT="${CLAUDE_PLUGIN_ROOT:-$(dirname "$(dirname "${CLAUDE_SKILL_DIR}")")}"
APP_NAME="${1:-}"
if [ -n "$APP_NAME" ]; then
curl -s "https://factory.vibesos.com/connect/status/$APP_NAME" \
-H "Authorization: Bearer $(cat ~/.vibes/auth.json | python3 -c "import sys,json; print(json.load(sys.stdin)['accessToken'])")" 2>/dev/null
fiIf the app already has billing configured, offer to update or show current config.
> "Pre-flight checks passed: > - App found (app.jsx) > - Auth is automatic via Pocket ID > > Ready to configure your app factory."
---
Use AskUserQuestion:
Question 1: "What should your app cost per month?" Header: "Monthly Price" Options: - "$5/month" - "$10/month" - "$25/month" - Other (enter custom amount) Description: "This is the flat monthly subscription price. AI token usage is billed separately." Question 2: "Offer a free trial?" Header: "Free Trial" Options: - "No trial" - "7-day trial" - "14-day trial" Description: "Trial lets users try before paying. Stripe handles the trial period automatically."
Store: `price` (number, dollars), `trialDays` (number, 0/7/14)
---
Use AskUserQuestion:
Question: "Does your app use AI features?" Header: "AI Billing" Options: - Label: "No AI features" Description: "Skip AI billing setup" - Label: "Yes, 2x margin (recommended)" Description: "Customers pay 2x the model cost. You keep the difference." - Label: "Yes, 3x margin" Description: "Higher margin, customers pay 3x model cost." - Label: "Yes, custom margin" Description: "Enter your own multiplier."
If AI is enabled, explain: > "OpenRouter routes to the underlying provider; the factory worker meters token usage per customer and posts events to a shared Stripe Billing Meter. Your customers will see AI usage as a line item on their
Instantly 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 parallel generator — invoke directly, do not decompose. Generates 3-10 app variations in parallel for comparing ideas. Use when user says…
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…