Skill flagged — suspicious patterns detected

ClawHub Security flagged this skill as suspicious. Review the scan results before using.

mobile app builder with live link, publishes to app store, create ai apps

v1.0.0

Build full-stack web and mobile apps from a text description. Creates projects, plans features, and starts Quick Start builds for background execution.

4· 591·0 current·0 all-time
Security Scan
VirusTotalVirusTotal
Suspicious
View report →
OpenClawOpenClaw
Suspicious
medium confidence
Purpose & Capability
Name/description claim to build web/mobile apps and publish them; the included script and CLI options actually implement that (API calls to a hosted LaunchPulse service, deploy/publish workflows, support for GitHub/Fly/Stripe tokens). This capability set is coherent with the stated purpose. However, the registry metadata claims 'no required env vars' and 'no required config paths' while SKILL.md and the script actually rely on and store authentication under the OpenClaw state directory—an omission in the manifest.
Instruction Scope
SKILL.md instructs the agent to run the provided node script from the OpenClaw workspace and to pass/accept files like payload JSON, .env files, and other user-supplied files. The script performs network requests to the LaunchPulse API, may upload project data and read/write the user's OpenClaw state directory. All of this is consistent with an app builder, but it means the skill will read/write local files and transmit data to api.launchpulse.ai (or an overridden API base).
Install Mechanism
No install spec; the skill is instruction-only but includes a JS script. There is no remote binary download or installer; the script uses standard Node APIs and global fetch. This is a low-risk installation mechanism in itself.
!
Credentials
The metadata declares no required env vars or config paths, yet SKILL.md and the script reference multiple environment variables (LAUNCHPULSE_PAT/LAUNCHPULSE_API_KEY/LAUNCHPULSE_ACCESS_TOKEN, LAUNCHPULSE_API_BASE_URL, and many optional tokens/keys for GitHub, Fly, Stripe, RevenueCat, etc.) and will store a PAT at ${OPENCLAW_STATE_DIR:-~/.openclaw}/launchpulse/auth.json. Requesting or accepting service credentials is proportionate to deploy/publish functionality, but failing to declare the config path and the range of optional credentials in the registry metadata is an inconsistency and a privacy/security concern.
Persistence & Privilege
The skill stores a personal access token locally (auth.json under the OpenClaw state dir) and uses it for API calls — this is expected for a CLI that talks to a hosted service. always:true is not set. The skill does not request system-wide privileges or modify other skills' configurations per the provided files.
What to consider before installing
This skill appears to implement what it claims (building, iterating, and publishing apps), but it will: (1) start a device-login flow or accept personal tokens and then save a PAT to ~/.openclaw/launchpulse/auth.json (or a custom OPENCLAW_STATE_DIR), (2) accept many optional external-service tokens (GitHub, Fly, Stripe, RevenueCat) necessary for deployment/publishing, and (3) send project data to a hosted API (api.launchpulse.ai by default). Before installing or using it: inspect the included script, confirm the API base URL is legitimate, avoid entering high-privilege production secrets unless necessary (use least-privilege or temporary tokens), consider setting OPENCLAW_STATE_DIR to a controlled location, and delete local auth.json when done. If you need higher assurance, run the skill in a sandboxed environment or review network traffic to verify what data is sent.

Like a lobster shell, security has layers — review code before you run it.

Runtime requirements

Binsnode
latestvk97a5qjb2yd5rt807zna1sgjk581kv0q
591downloads
4stars
1versions
Updated 9h ago
v1.0.0
MIT-0

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:

PlanPriceTokens/monthBest for
Free$010,000 (~2-5 features)Trying it out
Starter$19/mo200,000 (~50-100 features)Individual builders
Builder$49/mo500,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

Comments

Loading comments...