launch
Skill5 starsChanged 2 months agoMITView on GitHub
Take a developed project end-to-end through launch — domain, hosting, payments, email infra, algorithm-researched copy, and multi-platform distribution — with zero copy-paste. Trigger on "launch <project>", "ship <project>", "take <project> live", or "/launch <dir>".
- Reads credentials
66 other projects use a version of this.
Adopted by
Most recently taken up by
- BermanRoman/promt-seo-geotheir own version, first seen Nov 8, 2026
- ADWilkinson/astacktheir own version, first seen Nov 8, 2026
- noah-thing/open-cursortheir own version, first seen Nov 8, 2026
- Yeachan-Heo/oh-my-claudecodetheir own version, first seen Nov 8, 2026
- lalulali/vespyrtheir own version, first seen Nov 6, 2026
- microsoft/vscodetheir own version, first seen Nov 2, 2026
Used with
Projects with it also use add-policy, tool-rename-deprecation and 10 more.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
OpenCortexIDESkilladd-policy
Use when adding, modifying, or reviewing VS Code configuration policies. Covers the full policy lifecycle from registration to export to platform-specific artifacts. Run on ANY change that adds a `policy:` field to a configuration property.
Also in 4 projects that use this
gitpod-ioSkilltool-rename-deprecation
Ensure renamed built-in tool references preserve backward compatibility. Use when renaming a toolReferenceName, tool set referenceName, or any tool identifier. Run on ANY change to tool registration code. Covers legacyToolReferenceFullNames for tools and legacyFullNames for tool sets.
Also in 4 projects that use this
CesarjoquinSkillcompetitors
When the user wants to create competitor comparison or alternative pages for SEO and sales enablement. Also use when the user mentions 'alternative page,' 'vs page,' 'competitor comparison,' 'comparison page,' '[Product] vs [Product],' '[Product] alternative,' 'competitive landing pages,' 'how do we compare to X,' 'battle card,' or 'competitor teardown.' Use this for any content that positions your product against competitors. Covers four formats: singular alternative, plural alternatives, you vs competitor, and competitor vs competitor. For sales-specific competitor docs, see sales-enablement.
Also in 12 projects that use this
CesarjoquinSkillpaywalls
When the user wants to create or optimize in-app paywalls, upgrade screens, upsell modals, or feature gates. Also use when the user mentions "paywall," "upgrade screen," "upgrade modal," "upsell," "feature gate," "convert free to paid," "freemium conversion," "trial expiration screen," "limit reached screen," "plan upgrade prompt," "in-app pricing," "free users won't upgrade," "trial to paid conversion," or "how do I get users to pay." Use this for any in-product moment where you're asking users to upgrade. Distinct from public pricing pages (see cro) — this focuses on in-product upgrade moments where the user has already experienced value. For pricing decisions, see pricing.
Also in 9 projects that use this
riggyzSkillattribution
Attribution rules for issues, pull requests, work items, reviews, and comments created or edited by the agent in GitHub, Linear, Azure DevOps, or similar collaboration systems. Use when creating, commenting on, reviewing, or modifying external tracker content.
Also in 6 projects that use this
coreyhaines31Skillconversion-tracking
Set up, audit, verify, or fix website conversion tracking. Use when the conversion is a form submission, booked meeting, chat, phone call, signup, or purchase; when conversions must reach Google Ads, Meta, GA4, LinkedIn, TikTok, or Microsoft Ads; when the work involves GTM tags and dataLayer events, pixels, the Conversions API (CAPI), Enhanced Conversions, server-side tagging, or gclid and fbclid capture; or when the user reports conversion problems like "conversions stopped", "double counting", "spend but no conversions", "GA4 and Google Ads don't match", or an Unverified or Inactive status. Covers lead gen and ecommerce. Always fire on confirmed success, never the submit click; verify a test conversion arrives; diagnose before changing anything; offer free and native paths alongside paid ones and disclose partner tools. For tracking plans and UTMs, see analytics. For attribution models, see attribution. For campaigns and bidding, see ads. For CRM lead-stage design, see revops.
Also in 3 projects that use this
- +4 more from Cesarjoquin
Other versions66 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 66
- microsoft/vscode★ 195ksame name
- coreyhaines31/marketingskills★ 59ksame name
- Yeachan-Heo/oh-my-claude-sisyphus★ 41ksame name
- Yeachan-Heo/oh-my-claudecode★ 41ksame name
- posit-dev/positron★ 4.3ksame name
- Nexus-JPF/note-companion★ 874same name
- whitecircle/halo★ 851same name
- menkesu/awesome-pm-skills★ 441same name
- NeuralInverse/neuralinverse★ 221same name
- Cesarjoquin/Marketing-Skills★ 190same name
56 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository57 other files it gives its agents.
- adversarial-reviewSkill
- aesthetic-animaxxingSkill
- ai-search-optimizationSkill
- announceSkill
- audio-trackSkill
- blindspotSkill
- brave-wesSkill
- chrome-wesSkill
- clihubSkill
- dashclaw-governanceSkill
- deskclawSkill
- de-vibeSkill
- dispatch-blocksSkill
- epic-infographicsSkill
- fable-gptSkill
- frontend-verifySkill
- gsap-astroSkill
- gsap-coreSkill
- gsap-frameworksSkill
- gsap-nextjsSkill
- gsap-nuxtSkill
- gsap-performanceSkill
- gsap-pluginsSkill
- gsap-react-routerSkill
- gsap-reactSkill
- gsap-scrolltriggerSkill
- gsap-sveltekitSkill
- gsap-tanstack-routerSkill
- gsap-timelineSkill
- gsap-utilsSkill
- gsap-vanillaSkill
- harness-healthSkill
- iphoneSkill
- landing-page-cro-expertSkill
- launch-videoSkill
- logo-revealSkill
- marketingSkill
- marketing-studioSkill
- meditateSkill
- moleresearchSkill
- og-assetsSkill
- petstoreSkill
- phone-gotchasSkill
- phoneSkill
- preflightSkill
- product-demoSkill
- ship-itSkill
- shipSkill
- show-meSkill
- skillfindSkill
- social-clipSkill
- spec-probeSkill
- teamSkill
- tregSkill
- wes-voiceSkill
- wrapSkill
- xplainerSkill
The file
We split this skill into the rules it gives an agent
3 rules. 0 are common, 2 are distinctive, and 1 is very specific to this project.
0
Common
Most of the 60 edited versions we read keep these.
2
Distinctive
This author's own choices. Worth a look.
1
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 56
Verify test checkout end-to-end.
- Distinctive: line 99
NEVER re-run a spend step (domain purchase, live Stripe) after a failure without a fresh approval gate — check the launch plan state and …
- Very specific: line 105
No money, no posts, no sends — end to end.
“Common” is measured: kept by at least 6 in 10 of the 60 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
/launch — full launch orchestration
You are orchestrating a product launch using two layers:
- CLI (
launch/, package@marketing-studio/launch) — everything deterministic: state, validation, posting providers, research fetchers, payload rendering. Run it asnode "C:/Projects/animations/../dist/index.js" <cmd>(orlaunch <cmd>if linked) -- the CLI lives in this package,C:/Projects/animations/... - This session — everything generative or credentialed-through-MCP: DashClaw infra calls, WebSearch synthesis, draft copywriting, and the approval gates. The CLI never holds DashClaw credentials and never sends email/SMS.
Honesty rule: each step below is labeled [CLI] or [session]. Don't do session work by shelling out, and don't reimplement CLI work inline.
Target <dir> is the project directory being launched (sibling of the engine repo).
Humans can drive the same engine visually with launch ui (local dashboard, same gates — see docs/ui-dashboard.md); this skill remains the autonomous path.
Sequence
1. Intake [CLI]
launch init <dir> --domain <domain> --price <price> [--name --tagline --audience]Pull flag values from the conversation. Read back <dir>/.launch/launch.config.json and confirm the summary with the user. Re-run with --force if they correct anything.
2. DashClaw setup [session]
select_project(orcreate_projectif this product has no DashClaw project yet).create_launchwithdeclared_stackfrom the config — typically["domain", "vercel", "stripe", "resend"].preflight_launch— validates every provider token BEFORE any money is spent. If it fails, STOP and present a remediation table (provider → failing check → fix); do not proceed to spend steps.
3. Domain [session] — 💰 SPEND GATE #1
check_domain_availabilityfor the config domain (and 2-3 alternatives if taken).- Present price and alternatives to the user.
- SPEND GATE: ask the user for explicit approval with AskUserQuestion and WAIT for their answer. Never call
purchase_domainwithout a fresh approval in this conversation. Record the approval decision viadashclaw_guard+dashclaw_recordfor the audit trail. - On approval:
purchase_domain. On decline: skip to step 4 using an already-owned domain or stop.
4. Hosting [session]
create_vercel_project(link the product repo).create_vercel_deploymentand pollget_vercel_deployment_statusuntil READY.add_vercel_domainfor the purchased domain.set_dns_recordsper Vercel's required records (A/CNAME from the add-domain response); verify withget_dns_records.- Set any product env vars with
set_vercel_env_var.
5. Payments [session] — 💰 SPEND GATE #2 (live mode)
Stripe best practices: create in TEST mode first, verify the full flow, then — and only then — recreate in live mode behind the gate.
create_stripe_product+create_stripe_price(TEST mode) from config pricing.create_stripe_webhookpointing at the product's webhook endpoint; store the signing secret as a Vercel env var (set_vercel_env_var), never in the repo.- Verify test checkout end-to-end.
- SPEND GATE: live mode creates real billable objects. Ask the user for explicit approval with AskUserQuestion and WAIT for their answer before recreating product/price/webhook in live mode. Audit via
dashclaw_guard+dashclaw_record.
6. Email infra [session]
create_resend_domainfor the config domain.set_dns_recordswith the DKIM/SPF records from the response.verify_resend_domain(DNS propagation can take minutes — poll, don't fail fast).
7. Research [CLI + session]
- [CLI]
launch research <dir>(live mode — keyless fetchers: x-algorithm README, Algolia Show HN winners, hunted.space, per-sub Reddit rules). - [session] WebSearch synthesis per platform (queries from THINKING.md: "X algorithm ranking signals
<month year>", "<month year>LinkedIn algorithm what's working", PH featuring criteria). Write the synthesis into each brief's## Session researchsection — the CLI preserves that section on regeneration. - [CLI]
launch research <dir> --checkmust pass (all briefs fresh) before copy.
8. Copy [CLI + session]
- [CLI]
launch copy <dir> --scaffold. - [session] Fill every draft in
<dir>/.launch/drafts/with real copy written from the research briefs (hooks from Show HN winners, X thread structure, LinkedIn link-in-first-comment, per-sub Reddit angles, email/SMS from the announcement templates). Replace every{{placeholder}}including{{unsubscribeUrl}}. - [CLI]
launch copy <dir> --validate— loop fill→validate until exit 0.
9. 🚦 PUBLISH GATE [session]
Render EVERY draft (all platforms + the email HTML + SMS text) to the user in one review block. Ask for explicit approval with AskUserQuestion (multiSelect per-platform opt-out) and WAIT for the user's answer. Nothing is published until the user approves; platforms they deselect are skipped. Record the decision via dashclaw_record.
10. Distribute [CLI + session]
- [CLI]
launch post <dir> --all --live— posts X, Bluesky, Facebook, LinkedIn, YouTube, Reddit via API; submits sitemap + URL inspection to Google; skips blocked providers with a summary; the posted-ledger makes re-runs idempotent. - [CLI] Assisted platforms at their recommended times (from the briefs):
launch post <dir> --platform hackernews --assist --live— opens the prefilled Show HN submitlink, copies the maker comment. The HUMAN clicks submit.launch post <dir> --platform producthunt --assist --live— writes.launch/out/producthunt-kit.md, opens the submit page, copies the tagline. Schedule per the kit (12:01 AM PT, low-competition day).
- [CLI]
launch notify <dir> --channel emailand--channel sms— renders artifacts +.launch/out/notify-payloads.json(consent-filtered). - [session] For each payload entry:
send_resend_email/send_twilio_smswith the exactinputobject. The CLI never sends.
11. Verify & report [CLI + session]
- [session]
verify_launch+get_launch_statusfor the infra side. - [CLI]
launch status <dir>for the distribution side. - Final report: live URL, posted links from the ledger, pending assisted steps, and the stats command (
launch stats <dir> --platform producthunt --slug <slug>).
Failure handling
- Any MCP failure: surface the error verbatim, consult
get_launch_status, and fix forward. - NEVER re-run a spend step (domain purchase, live Stripe) after a failure without a fresh approval gate — check the launch plan state and the audit log first.
- Posting failures: the ledger guarantees completed platforms are skipped on re-run; fix the failing provider (see
launch doctor) and re-runlaunch post <dir> --all --live. - Credential problems:
launch doctor --jsongives provider → mode → fix hint; degrade blocked API platforms to assisted/manual instead of failing the launch.
Dry-run rehearsal (run this before any real launch)
No money, no posts, no sends — end to end. launch post is DRY-RUN BY DEFAULT now,
so --dry-run below is optional (kept for back-compat) and --live is what actually
publishes. --assist is the one exception: it opens a prefilled page and copies text
but submits nothing, so it runs for real without --live.
launch init <dir> --domain <domain> --price <price>
launch research <dir> --offline
launch copy <dir> --scaffold
# fill drafts (session) …
launch copy <dir> --validate
launch post <dir> --all --dry-run # prints exact request payloads, writes nothing
launch notify <dir> --channel email --dry-run
launch notify <dir> --channel sms --dry-run
launch status <dir>Skip every DashClaw spend step during rehearsal (no purchase_domain, no live Stripe). The rehearsal is green when every command exits 0 and the drafts pass validation.
Credentials
Social API keys live in the engine repo's .env (template: .env.example, per-provider setup cost/time guides in docs/setup-<provider>.md, launch-day checklist in docs/launch-runbook.md). DashClaw infra credentials live with the DashClaw MCP server — this skill calls the tools, the CLI never sees those secrets.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

