Agent Skills
LaunchSaaS ships an agent skill with commands to scaffold, iterate, and customize apps in the monorepo
LaunchSaaS ships an agent skill — a set of commands that encode this monorepo's conventions (template structure, capability wiring, i18n, schema reuse) so the agent makes contextually correct edits instead of guessing.
The skill lives at .agents/skills/launchsaas/ and is the primary interface for
building on LaunchSaaS with an AI agent.
How to Invoke
Call a command with /launchsaas <command> <args>:
/launchsaas create AI writing tool for marketers
/launchsaas new-feature user notifications with read-marking
/launchsaas doctorRun /launchsaas with no command to print the command list.
Commands
| Command | Args | Purpose |
|---|---|---|
create | <description> [--ref <url>] | Copy the best-fit template into a new app + write a next-step checklist. Copy-only. |
new-page | <description> | Add an App Router route page or UI surface. Use content for MDX content. |
new-feature | <description> | Full-stack feature: DB table (if needed) + service + API + UI. |
rebrand | [app] | Update name, tagline, logo/favicon/og assets, i18n strings, SEO, marketing homepage. |
add-capability | <type> [provider] | Wire a capability (payment/email/storage/cache/newsletter/cron) into an app. |
auth | <subcommand> [args] | Better Auth workflows: OAuth providers, captcha, magic link, email/password. |
integration | <type> [provider] | Configure app integrations that are not capabilities or auth features (analytics/live-chat). |
content | <subcommand> [args] | Add MDX content: blog posts, docs pages, changelog entries, static pages. |
add-email | <description> | Add a transactional email template (enum + switch case + i18n fan-out). |
prune | <module> [app] | Safely remove an unused template module. Destructive — needs a clean git tree. |
add-locale | <locale> [app] | Add a language to an existing app. |
doctor | [app] | Config health check: flag capabilities that resolve to null. |
deploy | [app] | Deploy to production: platform, database, env vars, domain alignment, readiness checklist. |
Examples
/launchsaas create AI tool directory --ref https://theresanaiforthat.com
/launchsaas new-page dashboard analytics page
/launchsaas rebrand launchsaas
/launchsaas add-capability email resend
/launchsaas add-capability cron qstash
/launchsaas auth add-provider google
/launchsaas auth add-captcha cloudflare-turnstile
/launchsaas integration analytics plausible
/launchsaas content add-page "privacy policy"
/launchsaas content add-doc "API rate limits"
/launchsaas add-email trial expiring reminder
/launchsaas prune blog
/launchsaas add-locale fr
/launchsaas doctor
/launchsaas deployTypical Lifecycle
Building a new product usually flows through the commands in this order:
create— scaffold from the closest template. This is copy-only; it hands you a checklist rather than a fully wired app.- Commit the scaffold — all follow-up commands check for a clean git tree.
Commit now so they don't block you:
git add apps/<slug> package.json && git commit -m "feat: scaffold <slug>" rebrand— make it yours: name, logo, favicon, OG image, marketing homepage.add-capability/auth/integration— turn on the providers and services you need (payments, email, social login, captcha, analytics, live chat). Each finishes with a setup checklist.new-feature/new-page/content— build your product's unique UI surfaces and MDX content.prune— drop template modules you don't use (e.g. blog, docs).doctor— verify env, auth, and capability wiring before you ship.deploy— deploy to production: choose a platform, configure production env vars, rundb:migrate, and walk through a readiness checklist.
create never edits src/capabilities.ts or src/env.ts. Capability wiring
is delegated to add-capability so you never end up in a half-configured
state where code references a provider whose env and dashboard resources don't
exist.
Safety Model
- Archive before mutating. Every command that edits existing files checks
git statusfirst and asks you to commit or stash if the tree is dirty. pruneis destructive and requires a clean tree (or explicit override), so a removal is always reversible withgit stash pop.- Scoped writes. Commands stay inside the target app plus root workspace
metadata; they won't silently change shared
packages/*or other apps. - Docs stay in sync. Commands that touch a code surface in the Documentation Sync table also update its paired doc page.
Resources
- AI-Assisted Development — how the agent docs are layered
- Providers — capability wiring reference
- Project Structure — the monorepo map