Build full-stack web and mobile apps from a text description. Creates projects, plans features, and starts Quick Start builds for background execution.
Scanned 9/7/2026
Install to Claude Code
npx -y skills add modbender/skill-library-mcp --skill mobile-app-builder-ai --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Mobile App Builder Ai?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/modbender-mobile-app-builder-ai)More formats (shields.io, HTML) on the badges page.
---
name: launchpulse
version: 1.1.1
description: Build full-stack web and mobile apps from a text description. Creates projects, plans features, and starts Quick Start builds for background execution.
homepage: https://launchpulse.ai
license: MIT
user-invocable: true
metadata: {"openclaw":{"homepage":"https://launchpulse.ai","requires":{"bins":["node"]},"author":"LaunchPulse","categories":["development","deployment"]}}
---
# LaunchPulse (Web + Mobile App Generator)
Build production-ready web apps and Expo mobile apps from a text description. LaunchPulse plans features, starts Quick Start in the background, and returns project/session context immediately.
**What it does:**
1. Creates a new project (web or Expo mobile)
2. Plans MVP features using AI and auto-approves them
3. Starts Quick Start (single-pass background build)
4. Returns immediately with project id/session id so progress can be monitored
5. Iterates on existing projects with change requests
6. Supports production ops: deployments, app store publish, domains, database, storage, env/payment setup
If feature planning is temporarily unavailable, the skill falls back to a single MVP feature so Quick Start never stalls.
## Authentication
The first time you run the skill, it automatically starts a device-login flow:
1. OpenClaw prints a sign-in link
2. You open it, sign in with Google on launchpulse.ai, and confirm
3. OpenClaw receives a personal access token (PAT) and stores it locally
Token storage path: `${OPENCLAW_STATE_DIR:-~/.openclaw}/launchpulse/auth.json`
Advanced alternatives:
- `LAUNCHPULSE_PAT` / `--pat <token>`: provide a PAT directly
- `LAUNCHPULSE_API_KEY` / `--api-key <token>`: alias for PAT-style API key auth
- `LAUNCHPULSE_ACCESS_TOKEN` / `--access-token <jwt>`: provide a Supabase JWT (advanced)
## Billing
LaunchPulse uses a token-based billing system. Every AI operation (feature planning, building, iterating) consumes tokens.
**Plans:**
| Plan | Price | Tokens/month | Best for |
|------|-------|-------------|----------|
| Free | $0 | 10,000 (~2-5 features) | Trying it out |
| Starter | $19/mo | 200,000 (~50-100 features) | Individual builders |
| Builder | $49/mo | 500,000 (~125-250 features) | Serious app builders |
**Token addon packs** (one-time, never expire):
- 50K tokens: $5
- 100K tokens: $9
- 500K tokens: $39 (22% off)
- 1M tokens: $69 (31% off)
**What happens when you run out:**
- Before Quick Start/iterate starts, the skill checks your balance and blocks with a clear message if exhausted
- If tokens run out during a build, the backend will stop progress and report billing context in status APIs
- Run `/launchpulse status` to check your balance anytime
- Run `/launchpulse upgrade` to purchase more tokens or upgrade your plan
## How to use
**Login** (optional, happens automatically on first use):
- `/launchpulse login`
**Logout** (clears stored token):
- `/launchpulse logout`
**Check balance:**
- `/launchpulse status`
**Upgrade plan or buy tokens:**
- `/launchpulse upgrade` (shows all options)
- `/launchpulse upgrade --tier STARTER` (subscribe to Starter)
- `/launchpulse upgrade --tier BUILDER --billing-period annual` (annual Builder)
- `/launchpulse upgrade --tokens 0` (buy 50K token pack)
**Quick Start a web app:**
- `/launchpulse web "Create a landing page for a dog walking business"`
**Quick Start a mobile app (Expo):**
- `/launchpulse mobile "Create an Expo app for habit tracking"`
**Iterate on an existing project:**
- `/launchpulse iterate <projectId> "Add a contact form to the homepage"`
**Production operations:**
- `/launchpulse projects`
- `/launchpulse project-status <projectId>`
- `/launchpulse deploy <projectId> --target cloud-run --wait`
- `/launchpulse deploy-status <projectId> <deploymentId>`
- `/launchpulse store-publish <projectId> --payload-file ./store-publish.json --wait`
- `/launchpulse store-status <projectId> [--publish-id <id>]`
- `/launchpulse store-2fa <projectId> <publishId> <code>`
- `/launchpulse domains search "mybrand"`
- `/launchpulse domains check mybrand.com`
- `/launchpulse domains add <projectId> mybrand.com`
- `/launchpulse domains provision <projectId> mybrand.com my-fly-app`
- `/launchpulse db info <projectId>`
- `/launchpulse db table <projectId> users`
- `/launchpulse db query <projectId> "select * from users limit 10"`
- `/launchpulse storage init`
- `/launchpulse storage upload <projectId> --payload-file ./upload.json`
- `/launchpulse env-files list <projectId>`
- `/launchpulse env-files save <projectId> --file-path vitereact/.env --vars-file ./vars.json`
- `/launchpulse payments inject-env <projectId> --project-type vitereact`
- `/launchpulse payments setup <projectId> --project-type expo --stripe-publishable-key pk_test_... --revenuecat-ios-key appl_... --revenuecat-secret-key sk_...`
If the user says "iterate it" without an id, use the most recent `projectId` from the current chat/session.
### What the assistant should do internally
Run the script from the OpenClaw workspace root:
- `cd ~/.openclaw/workspace`
- `node skills/launchpulse/scripts/launchpulse.cjs login`
- `node skills/launchpulse/scripts/launchpulse.cjs status`
- `node skills/launchpulse/scripts/launchpulse.cjs upgrade --tier STARTER`
- `node skills/launchpulse/scripts/launchpulse.cjs web "<description>"`
- `node skills/launchpulse/scripts/launchpulse.cjs mobile "<description>"`
- `node skills/launchpulse/scripts/launchpulse.cjs iterate <projectId> "<change request>"`
- `node skills/launchpulse/scripts/launchpulse.cjs projects`
- `node skills/launchpulse/scripts/launchpulse.cjs project-status <projectId>`
- `node skills/launchpulse/scripts/launchpulse.cjs deploy <projectId> --target cloud-run --wait`
- `node skills/launchpulse/scripts/launchpulse.cjs store-publish <projectId> --payload-file ./store-publish.json --wait`
- `node skills/launchpulse/scripts/launchpulse.cjs domains search "<query>"`
- `node skills/launchpulse/scripts/launchpulse.cjs db info <projectId>`
- `node skills/launchpulse/scripts/launchpulse.cjs payments setup <projectId> --project-type vitereact --vars-file ./vars.json`
Useful options:
- `--api-base <url>`: override API base (for local/dev backend)
- `--name <slug>`: preferred project id
- `--pat <token>` / `--access-token <jwt>`: advanced auth overrides
- `--no-plan`: skip AI planner and use MVP fallback feature directly
- `--timeout-min <n>`: timeout in minutes for long-running commands (iterate/deploy/store wait)
- `--chat-id <id>`: (iterate) use a specific project chat
- `--provider <id>` / `--model <id>`: (iterate) override AI provider/model
- `--target <cloud-run|fly>`: (deploy) deployment target
- `--wait`: poll until terminal status (deploy/store publish)
- `--payload-file <path>`: JSON payload for complex commands
- `--project-type <vitereact|expo>`: payment/env injection mode
- `--vars-file <path>` / `--file-path <path>`: env-files save/payment setup
### User updates (required)
When running this skill for users in Telegram/OpenClaw, keep updates short and frequent:
- Send a milestone update after each major step: auth, project creation, planning/fallback, quick-start kickoff.
- When script returns `status: "quick_start_started"`, always send an explicit completion update immediately with `projectId`, `sessionId`, and guidance to monitor via `project-status`.
- If stuck or degraded (planner failure, quick-start start failure), say exactly what happened and what is still usable.
- If `status: "token_limit_exceeded"`, tell the user their tokens are used up and share the upgrade URL from the output.
## Output
The script prints a final JSON object to stdout including:
- `ok`: boolean success flag
- `status`: operation-specific status (`quick_start_started`, `success`, `failed`, `token_limit_exceeded`, deploy/store/domain/db/payment states)
- `projectId`, `mode`, `sessionId`
- `preview`: URLs (frontendUrl, backendUrl, expoGoUrl)
- `features`: counts snapshot (total, selected, completed)
- `billing`: (when applicable) tier, upgradeUrl, buyTokensUrl
**Exit codes:** 0=success, 1=error, 2=paused, 3=timeout, 4=failed, 5=billing/token limit
## Backend selection
Default API: `https://api.launchpulse.ai/api`
Override for local dev:
- `LAUNCHPULSE_API_BASE_URL=http://localhost:667/api`
- or `--api-base http://localhost:667/api`
## Changelog
### 1.1.1
- Switched `web` and `mobile` flow to Quick Start only
- Removed auto-mode loop polling/continue behavior from create flow
- `web`/`mobile` now return immediately with `status: "quick_start_started"`
### 1.1.0
- Added production commands: projects, project-status, deploy/deploy-status
- Added store publish support (start/status/2FA/wait)
- Added domains command suite (search/check/map/provision/status/dns/checkout/register/verification)
- Added database command suite (info/table/query)
- Added storage command suite (init/upload/save-assets)
- Added env-files and payment setup commands (inject env + Stripe/RevenueCat env save)
- Hardened upgrade failure exit behavior (non-zero on checkout fallback failure)
### 1.0.0
- Initial ClawHub release
- Device auth flow (Google sign-in)
- Web and mobile (Expo) project creation
- AI-powered feature planning with fallback
- Auto-build with live polling
- Project iteration support
- Token balance checking and billing integration
- `status` command to check plan and usage
- `upgrade` command with direct Stripe checkout links
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!