Skip to content
Development
Skill

/factory

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

From plugin
vibes
13511 skills2 hooks

Claude Code

$ npx -y skills add popmechanic/VibesOS --skill factory --agent claude-code

SKILL.md

factory.SKILL.md
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:**

░▒▓████████▓▒░░▒▓██████▓▒░ ░▒▓██████▓▒░▒▓████████▓▒░░▒▓██████▓▒░░▒▓███████▓▒░░▒▓█▓▒░░▒▓█▓▒░
░▒▓█▓▒░      ░▒▓█▓▒░░▒▓█▓▒░▒▓█▓▒░░▒▓█▓▒░ ░▒▓█▓▒░  ░▒▓█▓▒░░▒▓█▓▒░▒▓█▓▒░░▒▓█▓▒░▒▓█▓▒░░▒▓█▓▒░
░▒▓█▓▒░      ░▒▓█▓▒░░▒▓█▓▒░▒▓█▓▒░         ░▒▓█▓▒░  ░▒▓█▓▒░░▒▓█▓▒░▒▓█▓▒░░▒▓█▓▒░▒▓█▓▒░░▒▓█▓▒░
░▒▓██████▓▒░ ░▒▓████████▓▒░▒▓█▓▒░         ░▒▓█▓▒░  ░▒▓█▓▒░░▒▓█▓▒░▒▓███████▓▒░  ░▒▓██████▓▒░
░▒▓█▓▒░      ░▒▓█▓▒░░▒▓█▓▒░▒▓█▓▒░         ░▒▓█▓▒░  ░▒▓█▓▒░░▒▓█▓▒░▒▓█▓▒░░▒▓█▓▒░  ░▒▓█▓▒░
░▒▓█▓▒░      ░▒▓█▓▒░░▒▓█▓▒░▒▓█▓▒░░▒▓█▓▒░  ░▒▓█▓▒░  ░▒▓█▓▒░░▒▓█▓▒░▒▓█▓▒░░▒▓█▓▒░  ░▒▓█▓▒░
░▒▓█▓▒░      ░▒▓█▓▒░░▒▓█▓▒░░▒▓██████▓▒░   ░▒▓█▓▒░  ░▒▓██████▓▒░░▒▓█▓▒░░▒▓█▓▒░   ░▒▓█▓▒░

Quick Navigation

  • [Critical Rules](#-critical-rules---read-first-) - Read this first
  • [Step 1: Pre-Flight](#step-1-pre-flight) - Verify prerequisites
  • [Step 2: Subscription Pricing](#step-2-subscription-pricing) - Set monthly price
  • [Step 3: AI Token Billing](#step-3-ai-token-billing) - Configure AI margins
  • [Step 4: Vibe Token Config](#step-4-vibe-token-configuration) - Set revenue share
  • [Step 5: Stripe Connect](#step-5-stripe-connect-onboarding) - Developer onboarding
  • [Step 6: Deploy](#step-6-deploy) - Build and deploy
  • [Step 7: Generate Invite Codes](#step-7-generate-invite-codes-optional) - Invite partners

---

CRITICAL RULES - READ FIRST

**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`

---

Factory - App Monetization Pipeline

Transform your Vibes app into a revenue-generating SaaS with token-backed contributor rewards.

Architecture

The factory skill sets up:

  • **Stripe Subscriptions** — flat monthly price + metered AI token billing
  • **Vibe Token Economics** — revenue-sharing tokens for distribution partners
  • **Factory Dashboard** — manage tokens, view revenue, process payouts

All configuration is stored in the factory worker. Token state lives in a Durable Object per app.

---

Terminal or Editor UI?

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.

Step 1: Pre-Flight

**Before starting, verify these prerequisites. STOP if any check fails.**

1.1 Auth Check

Auth is automatic — on first deploy, a browser window opens for Pocket ID login. Tokens are cached at `~/.vibes/auth.json` for subsequent deploys.

1.2 Detect Existing App

ls -la app.jsx 2>/dev/null || echo "NOT_FOUND"

**Decision tree:**

  • Found `app.jsx` -> Proceed to Step 2
  • Found multiple `riff-*/app.jsx` -> Ask user to select one
  • Found nothing -> Tell user to run `/vibes:vibes` first

1.3 Check Existing Config

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
fi

If the app already has billing configured, offer to update or show current config.

1.4 Pre-Flight Summary

> "Pre-flight checks passed: > - App found (app.jsx) > - Auth is automatic via Pocket ID > > Ready to configure your app factory."

---

Step 2: Subscription Pricing

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)

---

Step 3: AI Token Billing

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

Read more
@popmechanic
Ships withvibes

Instantly make your own small multi-user apps, without a backend. For apps made with Vibes, the front-end is the app.

Stars on GitHub

Momentum

stars in total
135
Star history of popmechanic/VibesOS on GitHub, a chart by star-history.com

Other skills on vibes.

cloudflare

cloudflare

Self-contained deploy automation — invoke directly, do not decompose. Deploys a Vibes app to Cloudflare Workers via the Deploy…

@popmechanic@popmechanicInstall Skill
design

design

Self-contained design transformer — invoke directly, do not decompose. Transforms a design reference HTML file into a Vibes app.…

@popmechanic@popmechanicInstall Skill
riff

riff

Self-contained parallel generator — invoke directly, do not decompose. Generates 3-10 app variations in parallel for comparing…

@popmechanic@popmechanicInstall Skill
test

test

Self-contained test automation — invoke directly, do not decompose. End-to-end integration test that assembles a fixture, deploys…

@popmechanic@popmechanicInstall Skill
vibes-brainstorm

vibes-brainstorm

Lightweight requirements gathering before app generation. Asks non-technical multiple-choice questions to understand user intent,…

@popmechanic@popmechanicInstall Skill

More skills from other plugins.

brainstorming
Auto-invoked

brainstorming

You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…

@obra@obraInstall Skill
ask-matt

ask-matt

Ask which skill or flow fits your situation. A router over the skills in this repo.

skills12d309k
@mattpocock@mattpocockInstall Skill
accessibility
Auto-invoked

accessibility

Design, implement, and audit accessible UI to WCAG 2.2 Level AA across Web, iOS, and Android — semantic ARIA roles and labels,…

ecc13d293k
@affaan-m@affaan-mInstall Skill
compiler-commit

compiler-commit

Use when you want to verify compiler changes and commit with the correct convention. Runs tests, lint, and format, then commits…

react2d252k
@facebook@facebookInstall Skill

Questions about factory.

Which coding agents can use factory?
factory installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.