Skip to content
cccskills
FreePublished on GitHub

ns-optimizer

Optimize NowStack Mobile across Convex, Expo, and TanStack Start. Use for performance, state, subscriptions, rendering, routing, forms, mobile UI, bundle, or data-fetching improvements.

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

Works withStripe
See how to install

Files included (1)

  • SKILL.md4.3 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

Optimizer - NowStack Mobile

<objective> Improve performance and architecture in this repo without importing assumptions from the web-only NowStack SaaS app. NowStack Mobile has three surfaces:
  • convex/ for the backend and shared auth/payment/storage logic.
  • web-app/ for TanStack Start landing, /app, and /admin.
  • mobile-app/ for Expo Router, React Native, NativeWind, store payments, and mobile UX. </objective>

<first_steps>

  1. Identify the affected surface: Convex, web, mobile, or cross-surface.
  2. Read the matching rule file before editing:
    • .agents/rules/convex.md
    • .agents/rules/web-app.md
    • .agents/rules/mobile-app.md
    • .agents/rules/auth-payments-storage.md
    • .agents/rules/development-commands.md
  3. Before touching convex/, read convex/_generated/ai/guidelines.md.
  4. Gather the cheapest real signal available: build/typecheck output, route behavior, screen flow, query callsites, logs, or measured slow path. </first_steps>

<decision_tree>

ProblemPreferred path
Convex reads are expensive, .filter() scans, missing indexes, high docs readUse convex-cost-optimizer or convex-performance-audit first
Convex schema/data shape needs a rolloutUse convex-migration-helper
Web route state, admin rendering, landing bundle, TanStack Router behaviorWork in web-app/ and verify with web typecheck/build
Mobile render jank, onboarding/paywall flow, NativeWind layout, auth store stateWork in mobile-app/ and verify with TypeScript/lint plus simulator when needed
Shared auth, payments, R2, account behaviorTreat Convex + web + mobile as one contract and verify every touched surface
</decision_tree>
<patterns> ## Convex
  • Use indexes for bounded reads; avoid broad .filter() on hot paths.
  • Keep authorization in Convex helpers and return DTOs suitable for clients.
  • Avoid duplicating backend state into local frontend stores when Convex subscriptions can be the source of truth.
  • Prefer targeted pagination and summary records only when there is measured or clearly unbounded read cost.

Web App

  • Keep route files under web-app/app/routes/.
  • Use @/*, @convex/*, and @site-config aliases already configured in web-app.
  • Keep /admin dense and operational; do not optimize by replacing useful tables with marketing-style cards.
  • Use existing Base UI/shadcn primitives in web-app/app/components/ui/ before adding new primitives.

Mobile App

  • Keep screen state local unless it must survive navigation or be shared across screens.
  • Use the existing mobile auth/store helpers before adding a new state library.
  • Prefer stable dimensions for buttons, footers, headers, and onboarding/paywall surfaces to avoid layout shifts.
  • Avoid network-dependent screenshot/store flows; use deterministic demo paths when preparing release assets.

Cross-Surface

  • site-config.ts is the shared source for product, URLs, bundle id, payment ids, and auth origins.
  • iOS production payments use Apple IAP. Do not replace that with Stripe checkout.
  • Android and web may use Stripe, with server-side payment logic in Convex.
  • R2 credentials and backend runtime secrets belong in Convex env, not committed app env files. </patterns>
<verification> Pick the narrowest set that covers the touched surface:
npx convex dev --once
cd web-app && npm run typecheck
cd web-app && npm run build
cd mobile-app && npx tsc --noEmit
cd mobile-app && npm run lint

For visible web behavior, run cd web-app && npm run dev and verify the relevant route. For mobile behavior, use Expo/simulator verification when the change affects navigation, native APIs, payments, screenshots, or layout. </verification>

<anti_patterns>

  • Do not introduce Prisma, PostgreSQL, Supabase, Firebase, Redis, or DB mirroring.
  • Do not assume org-scoped SaaS routes such as /orgs/$orgSlug; this repo's current product model is mobile-first.
  • Do not copy web-only Zustand, TanStack Form, or TanStack Query patterns unless the dependency and local convention already exist.
  • Do not optimize from taste alone. Tie larger refactors to a real signal or an obviously unbounded path. </anti_patterns>

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 17, 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 17, 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 17, 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 17, 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 17, 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 17, 2026

See all skills by Melvynx

Report a problem with this skill