{
  "schemaVersion": "1.0",
  "item": {
    "slug": "mobile-app-builder-ai",
    "name": "mobile app builder with live link, publishes to app store, create ai apps",
    "source": "tencent",
    "type": "skill",
    "category": "AI 智能",
    "sourceUrl": "https://clawhub.ai/VersaceXcodes/mobile-app-builder-ai",
    "canonicalUrl": "https://clawhub.ai/VersaceXcodes/mobile-app-builder-ai",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/mobile-app-builder-ai",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=mobile-app-builder-ai",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "SKILL.md",
      "scripts/launchpulse.cjs"
    ],
    "primaryDoc": "SKILL.md",
    "quickSetup": [
      "Download the package from Yavira.",
      "Extract the archive and review SKILL.md first.",
      "Import or place the package into your OpenClaw setup."
    ],
    "agentAssist": {
      "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
      "steps": [
        "Download the package from Yavira.",
        "Extract it into a folder your agent can access.",
        "Paste one of the prompts below and point your agent at the extracted folder."
      ],
      "prompts": [
        {
          "label": "New install",
          "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
        },
        {
          "label": "Upgrade existing",
          "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
        }
      ]
    },
    "sourceHealth": {
      "source": "tencent",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-04-30T16:55:25.780Z",
      "expiresAt": "2026-05-07T16:55:25.780Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
        "contentDisposition": "attachment; filename=\"network-1.0.0.zip\"",
        "redirectLocation": null,
        "bodySnippet": null
      },
      "scope": "source",
      "summary": "Source download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this source.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/mobile-app-builder-ai"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    },
    "downloadPageUrl": "https://openagent3.xyz/downloads/mobile-app-builder-ai",
    "agentPageUrl": "https://openagent3.xyz/skills/mobile-app-builder-ai/agent",
    "manifestUrl": "https://openagent3.xyz/skills/mobile-app-builder-ai/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/mobile-app-builder-ai/agent.md"
  },
  "agentAssist": {
    "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
    "steps": [
      "Download the package from Yavira.",
      "Extract it into a folder your agent can access.",
      "Paste one of the prompts below and point your agent at the extracted folder."
    ],
    "prompts": [
      {
        "label": "New install",
        "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
      },
      {
        "label": "Upgrade existing",
        "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
      }
    ]
  },
  "documentation": {
    "source": "clawhub",
    "primaryDoc": "SKILL.md",
    "sections": [
      {
        "title": "LaunchPulse (Web + Mobile App Generator)",
        "body": "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.\n\nWhat it does:\n\nCreates a new project (web or Expo mobile)\nPlans MVP features using AI and auto-approves them\nStarts Quick Start (single-pass background build)\nReturns immediately with project id/session id so progress can be monitored\nIterates on existing projects with change requests\nSupports production ops: deployments, app store publish, domains, database, storage, env/payment setup\n\nIf feature planning is temporarily unavailable, the skill falls back to a single MVP feature so Quick Start never stalls."
      },
      {
        "title": "Authentication",
        "body": "The first time you run the skill, it automatically starts a device-login flow:\n\nOpenClaw prints a sign-in link\nYou open it, sign in with Google on launchpulse.ai, and confirm\nOpenClaw receives a personal access token (PAT) and stores it locally\n\nToken storage path: ${OPENCLAW_STATE_DIR:-~/.openclaw}/launchpulse/auth.json\n\nAdvanced alternatives:\n\nLAUNCHPULSE_PAT / --pat <token>: provide a PAT directly\nLAUNCHPULSE_API_KEY / --api-key <token>: alias for PAT-style API key auth\nLAUNCHPULSE_ACCESS_TOKEN / --access-token <jwt>: provide a Supabase JWT (advanced)"
      },
      {
        "title": "Billing",
        "body": "LaunchPulse uses a token-based billing system. Every AI operation (feature planning, building, iterating) consumes tokens.\n\nPlans:\n\nPlanPriceTokens/monthBest forFree$010,000 (~2-5 features)Trying it outStarter$19/mo200,000 (~50-100 features)Individual buildersBuilder$49/mo500,000 (~125-250 features)Serious app builders\n\nToken addon packs (one-time, never expire):\n\n50K tokens: $5\n100K tokens: $9\n500K tokens: $39 (22% off)\n1M tokens: $69 (31% off)\n\nWhat happens when you run out:\n\nBefore Quick Start/iterate starts, the skill checks your balance and blocks with a clear message if exhausted\nIf tokens run out during a build, the backend will stop progress and report billing context in status APIs\nRun /launchpulse status to check your balance anytime\nRun /launchpulse upgrade to purchase more tokens or upgrade your plan"
      },
      {
        "title": "How to use",
        "body": "Login (optional, happens automatically on first use):\n\n/launchpulse login\n\nLogout (clears stored token):\n\n/launchpulse logout\n\nCheck balance:\n\n/launchpulse status\n\nUpgrade plan or buy tokens:\n\n/launchpulse upgrade (shows all options)\n/launchpulse upgrade --tier STARTER (subscribe to Starter)\n/launchpulse upgrade --tier BUILDER --billing-period annual (annual Builder)\n/launchpulse upgrade --tokens 0 (buy 50K token pack)\n\nQuick Start a web app:\n\n/launchpulse web \"Create a landing page for a dog walking business\"\n\nQuick Start a mobile app (Expo):\n\n/launchpulse mobile \"Create an Expo app for habit tracking\"\n\nIterate on an existing project:\n\n/launchpulse iterate <projectId> \"Add a contact form to the homepage\"\n\nProduction operations:\n\n/launchpulse projects\n/launchpulse project-status <projectId>\n/launchpulse deploy <projectId> --target cloud-run --wait\n/launchpulse deploy-status <projectId> <deploymentId>\n/launchpulse store-publish <projectId> --payload-file ./store-publish.json --wait\n/launchpulse store-status <projectId> [--publish-id <id>]\n/launchpulse store-2fa <projectId> <publishId> <code>\n/launchpulse domains search \"mybrand\"\n/launchpulse domains check mybrand.com\n/launchpulse domains add <projectId> mybrand.com\n/launchpulse domains provision <projectId> mybrand.com my-fly-app\n/launchpulse db info <projectId>\n/launchpulse db table <projectId> users\n/launchpulse db query <projectId> \"select * from users limit 10\"\n/launchpulse storage init\n/launchpulse storage upload <projectId> --payload-file ./upload.json\n/launchpulse env-files list <projectId>\n/launchpulse env-files save <projectId> --file-path vitereact/.env --vars-file ./vars.json\n/launchpulse payments inject-env <projectId> --project-type vitereact\n/launchpulse payments setup <projectId> --project-type expo --stripe-publishable-key pk_test_... --revenuecat-ios-key appl_... --revenuecat-secret-key sk_...\n\nIf the user says \"iterate it\" without an id, use the most recent projectId from the current chat/session."
      },
      {
        "title": "What the assistant should do internally",
        "body": "Run the script from the OpenClaw workspace root:\n\ncd ~/.openclaw/workspace\nnode skills/launchpulse/scripts/launchpulse.cjs login\nnode skills/launchpulse/scripts/launchpulse.cjs status\nnode skills/launchpulse/scripts/launchpulse.cjs upgrade --tier STARTER\nnode skills/launchpulse/scripts/launchpulse.cjs web \"<description>\"\nnode skills/launchpulse/scripts/launchpulse.cjs mobile \"<description>\"\nnode skills/launchpulse/scripts/launchpulse.cjs iterate <projectId> \"<change request>\"\nnode skills/launchpulse/scripts/launchpulse.cjs projects\nnode skills/launchpulse/scripts/launchpulse.cjs project-status <projectId>\nnode skills/launchpulse/scripts/launchpulse.cjs deploy <projectId> --target cloud-run --wait\nnode skills/launchpulse/scripts/launchpulse.cjs store-publish <projectId> --payload-file ./store-publish.json --wait\nnode skills/launchpulse/scripts/launchpulse.cjs domains search \"<query>\"\nnode skills/launchpulse/scripts/launchpulse.cjs db info <projectId>\nnode skills/launchpulse/scripts/launchpulse.cjs payments setup <projectId> --project-type vitereact --vars-file ./vars.json\n\nUseful options:\n\n--api-base <url>: override API base (for local/dev backend)\n--name <slug>: preferred project id\n--pat <token> / --access-token <jwt>: advanced auth overrides\n--no-plan: skip AI planner and use MVP fallback feature directly\n--timeout-min <n>: timeout in minutes for long-running commands (iterate/deploy/store wait)\n--chat-id <id>: (iterate) use a specific project chat\n--provider <id> / --model <id>: (iterate) override AI provider/model\n--target <cloud-run|fly>: (deploy) deployment target\n--wait: poll until terminal status (deploy/store publish)\n--payload-file <path>: JSON payload for complex commands\n--project-type <vitereact|expo>: payment/env injection mode\n--vars-file <path> / --file-path <path>: env-files save/payment setup"
      },
      {
        "title": "User updates (required)",
        "body": "When running this skill for users in Telegram/OpenClaw, keep updates short and frequent:\n\nSend a milestone update after each major step: auth, project creation, planning/fallback, quick-start kickoff.\nWhen script returns status: \"quick_start_started\", always send an explicit completion update immediately with projectId, sessionId, and guidance to monitor via project-status.\nIf stuck or degraded (planner failure, quick-start start failure), say exactly what happened and what is still usable.\nIf status: \"token_limit_exceeded\", tell the user their tokens are used up and share the upgrade URL from the output."
      },
      {
        "title": "Output",
        "body": "The script prints a final JSON object to stdout including:\n\nok: boolean success flag\nstatus: operation-specific status (quick_start_started, success, failed, token_limit_exceeded, deploy/store/domain/db/payment states)\nprojectId, mode, sessionId\npreview: URLs (frontendUrl, backendUrl, expoGoUrl)\nfeatures: counts snapshot (total, selected, completed)\nbilling: (when applicable) tier, upgradeUrl, buyTokensUrl\n\nExit codes: 0=success, 1=error, 2=paused, 3=timeout, 4=failed, 5=billing/token limit"
      },
      {
        "title": "Backend selection",
        "body": "Default API: https://api.launchpulse.ai/api\n\nOverride for local dev:\n\nLAUNCHPULSE_API_BASE_URL=http://localhost:667/api\nor --api-base http://localhost:667/api"
      },
      {
        "title": "1.1.1",
        "body": "Switched web and mobile flow to Quick Start only\nRemoved auto-mode loop polling/continue behavior from create flow\nweb/mobile now return immediately with status: \"quick_start_started\""
      },
      {
        "title": "1.1.0",
        "body": "Added production commands: projects, project-status, deploy/deploy-status\nAdded store publish support (start/status/2FA/wait)\nAdded domains command suite (search/check/map/provision/status/dns/checkout/register/verification)\nAdded database command suite (info/table/query)\nAdded storage command suite (init/upload/save-assets)\nAdded env-files and payment setup commands (inject env + Stripe/RevenueCat env save)\nHardened upgrade failure exit behavior (non-zero on checkout fallback failure)"
      },
      {
        "title": "1.0.0",
        "body": "Initial ClawHub release\nDevice auth flow (Google sign-in)\nWeb and mobile (Expo) project creation\nAI-powered feature planning with fallback\nAuto-build with live polling\nProject iteration support\nToken balance checking and billing integration\nstatus command to check plan and usage\nupgrade command with direct Stripe checkout links"
      }
    ],
    "body": "LaunchPulse (Web + Mobile App Generator)\n\nBuild 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.\n\nWhat it does:\n\nCreates a new project (web or Expo mobile)\nPlans MVP features using AI and auto-approves them\nStarts Quick Start (single-pass background build)\nReturns immediately with project id/session id so progress can be monitored\nIterates on existing projects with change requests\nSupports production ops: deployments, app store publish, domains, database, storage, env/payment setup\n\nIf feature planning is temporarily unavailable, the skill falls back to a single MVP feature so Quick Start never stalls.\n\nAuthentication\n\nThe first time you run the skill, it automatically starts a device-login flow:\n\nOpenClaw prints a sign-in link\nYou open it, sign in with Google on launchpulse.ai, and confirm\nOpenClaw receives a personal access token (PAT) and stores it locally\n\nToken storage path: ${OPENCLAW_STATE_DIR:-~/.openclaw}/launchpulse/auth.json\n\nAdvanced alternatives:\n\nLAUNCHPULSE_PAT / --pat <token>: provide a PAT directly\nLAUNCHPULSE_API_KEY / --api-key <token>: alias for PAT-style API key auth\nLAUNCHPULSE_ACCESS_TOKEN / --access-token <jwt>: provide a Supabase JWT (advanced)\nBilling\n\nLaunchPulse uses a token-based billing system. Every AI operation (feature planning, building, iterating) consumes tokens.\n\nPlans:\n\nPlan\tPrice\tTokens/month\tBest for\nFree\t$0\t10,000 (~2-5 features)\tTrying it out\nStarter\t$19/mo\t200,000 (~50-100 features)\tIndividual builders\nBuilder\t$49/mo\t500,000 (~125-250 features)\tSerious app builders\n\nToken addon packs (one-time, never expire):\n\n50K tokens: $5\n100K tokens: $9\n500K tokens: $39 (22% off)\n1M tokens: $69 (31% off)\n\nWhat happens when you run out:\n\nBefore Quick Start/iterate starts, the skill checks your balance and blocks with a clear message if exhausted\nIf tokens run out during a build, the backend will stop progress and report billing context in status APIs\nRun /launchpulse status to check your balance anytime\nRun /launchpulse upgrade to purchase more tokens or upgrade your plan\nHow to use\n\nLogin (optional, happens automatically on first use):\n\n/launchpulse login\n\nLogout (clears stored token):\n\n/launchpulse logout\n\nCheck balance:\n\n/launchpulse status\n\nUpgrade plan or buy tokens:\n\n/launchpulse upgrade (shows all options)\n/launchpulse upgrade --tier STARTER (subscribe to Starter)\n/launchpulse upgrade --tier BUILDER --billing-period annual (annual Builder)\n/launchpulse upgrade --tokens 0 (buy 50K token pack)\n\nQuick Start a web app:\n\n/launchpulse web \"Create a landing page for a dog walking business\"\n\nQuick Start a mobile app (Expo):\n\n/launchpulse mobile \"Create an Expo app for habit tracking\"\n\nIterate on an existing project:\n\n/launchpulse iterate <projectId> \"Add a contact form to the homepage\"\n\nProduction operations:\n\n/launchpulse projects\n/launchpulse project-status <projectId>\n/launchpulse deploy <projectId> --target cloud-run --wait\n/launchpulse deploy-status <projectId> <deploymentId>\n/launchpulse store-publish <projectId> --payload-file ./store-publish.json --wait\n/launchpulse store-status <projectId> [--publish-id <id>]\n/launchpulse store-2fa <projectId> <publishId> <code>\n/launchpulse domains search \"mybrand\"\n/launchpulse domains check mybrand.com\n/launchpulse domains add <projectId> mybrand.com\n/launchpulse domains provision <projectId> mybrand.com my-fly-app\n/launchpulse db info <projectId>\n/launchpulse db table <projectId> users\n/launchpulse db query <projectId> \"select * from users limit 10\"\n/launchpulse storage init\n/launchpulse storage upload <projectId> --payload-file ./upload.json\n/launchpulse env-files list <projectId>\n/launchpulse env-files save <projectId> --file-path vitereact/.env --vars-file ./vars.json\n/launchpulse payments inject-env <projectId> --project-type vitereact\n/launchpulse payments setup <projectId> --project-type expo --stripe-publishable-key pk_test_... --revenuecat-ios-key appl_... --revenuecat-secret-key sk_...\n\nIf the user says \"iterate it\" without an id, use the most recent projectId from the current chat/session.\n\nWhat the assistant should do internally\n\nRun the script from the OpenClaw workspace root:\n\ncd ~/.openclaw/workspace\nnode skills/launchpulse/scripts/launchpulse.cjs login\nnode skills/launchpulse/scripts/launchpulse.cjs status\nnode skills/launchpulse/scripts/launchpulse.cjs upgrade --tier STARTER\nnode skills/launchpulse/scripts/launchpulse.cjs web \"<description>\"\nnode skills/launchpulse/scripts/launchpulse.cjs mobile \"<description>\"\nnode skills/launchpulse/scripts/launchpulse.cjs iterate <projectId> \"<change request>\"\nnode skills/launchpulse/scripts/launchpulse.cjs projects\nnode skills/launchpulse/scripts/launchpulse.cjs project-status <projectId>\nnode skills/launchpulse/scripts/launchpulse.cjs deploy <projectId> --target cloud-run --wait\nnode skills/launchpulse/scripts/launchpulse.cjs store-publish <projectId> --payload-file ./store-publish.json --wait\nnode skills/launchpulse/scripts/launchpulse.cjs domains search \"<query>\"\nnode skills/launchpulse/scripts/launchpulse.cjs db info <projectId>\nnode skills/launchpulse/scripts/launchpulse.cjs payments setup <projectId> --project-type vitereact --vars-file ./vars.json\n\nUseful options:\n\n--api-base <url>: override API base (for local/dev backend)\n--name <slug>: preferred project id\n--pat <token> / --access-token <jwt>: advanced auth overrides\n--no-plan: skip AI planner and use MVP fallback feature directly\n--timeout-min <n>: timeout in minutes for long-running commands (iterate/deploy/store wait)\n--chat-id <id>: (iterate) use a specific project chat\n--provider <id> / --model <id>: (iterate) override AI provider/model\n--target <cloud-run|fly>: (deploy) deployment target\n--wait: poll until terminal status (deploy/store publish)\n--payload-file <path>: JSON payload for complex commands\n--project-type <vitereact|expo>: payment/env injection mode\n--vars-file <path> / --file-path <path>: env-files save/payment setup\nUser updates (required)\n\nWhen running this skill for users in Telegram/OpenClaw, keep updates short and frequent:\n\nSend a milestone update after each major step: auth, project creation, planning/fallback, quick-start kickoff.\nWhen script returns status: \"quick_start_started\", always send an explicit completion update immediately with projectId, sessionId, and guidance to monitor via project-status.\nIf stuck or degraded (planner failure, quick-start start failure), say exactly what happened and what is still usable.\nIf status: \"token_limit_exceeded\", tell the user their tokens are used up and share the upgrade URL from the output.\nOutput\n\nThe script prints a final JSON object to stdout including:\n\nok: boolean success flag\nstatus: operation-specific status (quick_start_started, success, failed, token_limit_exceeded, deploy/store/domain/db/payment states)\nprojectId, mode, sessionId\npreview: URLs (frontendUrl, backendUrl, expoGoUrl)\nfeatures: counts snapshot (total, selected, completed)\nbilling: (when applicable) tier, upgradeUrl, buyTokensUrl\n\nExit codes: 0=success, 1=error, 2=paused, 3=timeout, 4=failed, 5=billing/token limit\n\nBackend selection\n\nDefault API: https://api.launchpulse.ai/api\n\nOverride for local dev:\n\nLAUNCHPULSE_API_BASE_URL=http://localhost:667/api\nor --api-base http://localhost:667/api\nChangelog\n1.1.1\nSwitched web and mobile flow to Quick Start only\nRemoved auto-mode loop polling/continue behavior from create flow\nweb/mobile now return immediately with status: \"quick_start_started\"\n1.1.0\nAdded production commands: projects, project-status, deploy/deploy-status\nAdded store publish support (start/status/2FA/wait)\nAdded domains command suite (search/check/map/provision/status/dns/checkout/register/verification)\nAdded database command suite (info/table/query)\nAdded storage command suite (init/upload/save-assets)\nAdded env-files and payment setup commands (inject env + Stripe/RevenueCat env save)\nHardened upgrade failure exit behavior (non-zero on checkout fallback failure)\n1.0.0\nInitial ClawHub release\nDevice auth flow (Google sign-in)\nWeb and mobile (Expo) project creation\nAI-powered feature planning with fallback\nAuto-build with live polling\nProject iteration support\nToken balance checking and billing integration\nstatus command to check plan and usage\nupgrade command with direct Stripe checkout links"
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/VersaceXcodes/mobile-app-builder-ai",
    "publisherUrl": "https://clawhub.ai/VersaceXcodes/mobile-app-builder-ai",
    "owner": "VersaceXcodes",
    "version": "1.0.0",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/mobile-app-builder-ai",
    "downloadUrl": "https://openagent3.xyz/downloads/mobile-app-builder-ai",
    "agentUrl": "https://openagent3.xyz/skills/mobile-app-builder-ai/agent",
    "manifestUrl": "https://openagent3.xyz/skills/mobile-app-builder-ai/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/mobile-app-builder-ai/agent.md"
  }
}