Skip to content
cccskills
FreePublished on GitHub

ns-publish-to-production

Publish NowStack Mobile production surfaces. Use for Convex prod, web deploy, production env sync, and coordinating iOS/Android release skills.

The English summary is being prepared. Showing the original description.

Works withStripeVercel
See how to install

Files included (1)

  • SKILL.md3.5 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

Publish To Production - NowStack Mobile

<objective> Ship the production stack without confusing web deploy with mobile store release. This workflow coordinates Convex prod, `web-app` production deployment, and handoff to the dedicated iOS/Android store skills. </objective> <scope> This skill covers:
  • Convex production deployment and env verification.
  • web-app/ production build/deploy preparation.
  • Runtime-secret placement between Convex, web public env, and mobile public env.
  • Handoff to ns-ios-deploy-app, ns-deploy-android-app, and ns-generate-store-screenshots.

This skill does not submit App Store or Google Play builds directly. Use the dedicated store skills for that. </scope>

<preflight> Run/read:
git status --short --branch
git remote -v
npx convex --version
npx convex env list --prod || true
cd web-app && npm run typecheck
cd web-app && npm run build
cd mobile-app && npx tsc --noEmit

Read:

  • site-config.ts
  • convex/http.ts
  • convex/auth.ts
  • convex/storage/
  • web-app/package.json
  • mobile-app/package.json
  • .agents/rules/auth-payments-storage.md
  • .agents/rules/store-release.md </preflight>

<env_rules>

  • Convex backend secrets stay in Convex env.
  • Do not commit .env, .env.local, .env.production, store keys, App Store .p8, Google service account JSON, Stripe secrets, or R2 secrets.
  • Web/mobile public env values may exist locally for builds only when they are non-secret and required by the framework.
  • iOS production payments use Apple IAP. Do not route iOS production checkout through Stripe.
  • Android/web Stripe server logic belongs in Convex. </env_rules>

<web_deploy> Web deploy is owned by the ns-web-deploy skill — run it; do not duplicate its steps here. It covers the full one-shot flow: the mandatory nitro Vite plugin (without it Vercel ships a SPA and every route 404s), web-app/vercel.json running convex deploy so the backend ships with the frontend, npm run setup:vercel (deploy key + Root Directory = web-app), and deploying from the repo root with --archive=tgz or a push to main.

Non-negotiables to assert before declaring the web surface done:

  • npm run check-setup passes the "web-app/vercel.json" AND "web-app nitro plugin" checks.
  • CONVEX_DEPLOY_KEY (Production) is set so the backend never drifts behind the frontend.
  • The build log shows convex deploy running AND Generated .vercel/output/nitro.json.
  • Every public route (/, /privacy, /cgv, /support) returns 200, not 404 — a SPA-404 regression only surfaces on the live routes, not in the build.

See ns-web-deploy and docs/production-checklist.md stage 2 for the step-by-step. </web_deploy>

<mobile_handoff> Before declaring production complete:

  • Run ns-generate-store-screenshots if store screenshots are missing or stale.
  • Use ns-ios-deploy-app for TestFlight/App Store Connect (asc workflow).
  • Use ns-deploy-android-app for Google Play (gpc workflow).
  • Verify production Convex URLs and public app URLs match site-config.ts. </mobile_handoff>

<success_criteria>

  • Convex prod env is present and verified.
  • web-app typecheck/build pass.
  • Mobile TypeScript passes when mobile config/env changed.
  • Store-release work is either completed through dedicated skills or explicitly listed as remaining.
  • No production secret is written to git-tracked files. </success_criteria>

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

Complete guide for building beautiful apps with Expo Router. Covers fundamentals, styling, components, navigation, animations, patterns, and native tabs.

The English summary is being prepared. Showing the original description.

Melvynx/saveit.now32Updated Oct 19, 2026

convex

Free

Routes general Convex requests to the right project skill. Use when the user asks which Convex skill to use or gives an underspecified Convex app task.

The English summary is being prepared. Showing the original description.

Melvynx/saveit.now32Updated Oct 19, 2026

Use when optimizing Convex database read bandwidth, documents-read cost, query indexes, full-table scans, function-level usage dashboard findings, or code that uses .filter(), unbounded .collect(), N+1 reads, or expensive reactive Convex queries.

The English summary is being prepared. Showing the original description.

Melvynx/saveit.now32Updated Oct 19, 2026

Build reusable Convex components with isolated tables and app-facing wrappers. Use for defineComponent, app.use, ComponentApi, or shared backend modules.

The English summary is being prepared. Showing the original description.

Melvynx/saveit.now32Updated Oct 19, 2026

Plan safe Convex schema and data migrations. Use for widen-migrate-narrow rollouts, backfills, breaking field changes, table splits, or failed schema deploys.

The English summary is being prepared. Showing the original description.

Melvynx/saveit.now32Updated Oct 19, 2026

Audit Convex performance for hot reads, write contention, subscriptions, function limits, OCC conflicts, latency, read amplification, and expensive reactive queries.

The English summary is being prepared. Showing the original description.

Melvynx/saveit.now32Updated Oct 19, 2026

See all skills by Melvynx

Report a problem with this skill