From rune
Orchestrates full deployment and marketing pipeline: pre-flight tests, deploy to platform, live verification, marketing assets, announcements. Triggers on 'launch', 'ship to production', or '/rune launch'.
npx claudepluginhub rune-kit/rune --plugin @rune/analyticsThis skill uses the workspace's default tool permissions.
Orchestrate the full deployment and marketing pipeline. Launch coordinates testing, deployment, live site verification, marketing asset creation, and public announcement. One command to go from "code ready" to "product live and marketed."
Deploys applications to Vercel, Netlify, AWS, GCP, DigitalOcean, or VPS with pre-deploy tests, security scans, build verification, and post-deploy health checks.
Provides pre-launch checklist for production deployments covering code quality, security, performance, accessibility, infrastructure, documentation, and feature flags.
Orchestrates multi-team approvals, QA checklists, and go-live steps for SEO content and technical launches, covering pre-flight, CMS/code review, analytics, and post-launch validation.
Share bugs, ideas, or general feedback.
Orchestrate the full deployment and marketing pipeline. Launch coordinates testing, deployment, live site verification, marketing asset creation, and public announcement. One command to go from "code ready" to "product live and marketed."
- ALL tests must pass before any deploy attempt. Zero exceptions. Block deploy if any of: tests failing, TypeScript errors present, build fails, or sentinel CRITICAL issues detected./rune launch — manual invocationteam when delegating launch taskstest (L2): pre-deployment full test suiteaudit (L2): pre-launch health check — full 7-phase quality gatedeploy (L2): push to target platformincident (L2): if post-launch health check fails → triage and containretro (L2): post-launch retrospective — what went well, what didn'tbrowser-pilot (L3): verify live site screenshots and performancemarketing (L2): create launch assets (landing copy, social, SEO)watchdog (L3): setup post-deploy monitoringvideo-creator (L3): create launch/demo video content/rune launch direct invocationteam (L1): when team delegates launch phaseBefore starting the pipeline, verify that prerequisite artifacts exist. Scan using Glob — do NOT hardcode paths, use discovery patterns.
REQUIRED ARTIFACTS:
Source code: Glob **/*.{ts,tsx,js,jsx,py,rs,go} — at least 1 match
Build config: Glob {package.json,Cargo.toml,pyproject.toml,go.mod} — at least 1 match
Tests: Glob **/*.{test,spec}.* OR **/test_*.* — at least 1 match
RECOMMENDED ARTIFACTS (warn if missing, don't block):
Design system: Glob .rune/design-system.md — if frontend project
Deploy config: Glob {vercel.json,netlify.toml,Dockerfile,fly.toml,.github/workflows/*} — any 1
README: Glob README.md
Environment: Glob .env.example OR .env.production — warn about secrets if .env found
BLOCKING CONDITIONS:
❌ No source code found → STOP: "Nothing to deploy"
❌ No build config found → STOP: "No project config detected — cannot determine build/deploy"
❌ No tests found → WARN: "No tests detected — pre-flight will run build-only verification"
Report artifact status before proceeding:
## Artifact Check
- Source: ✅ [N] files ([language])
- Build config: ✅ [file]
- Tests: ✅ [N] test files | ⚠️ No tests found
- Deploy config: ✅ [platform] | ⚠️ Not found (will detect in Phase 2)
- Design system: ✅ .rune/design-system.md | ⚠️ Not found (run /rune design first for UI projects)
TodoWrite([
{ content: "PRE-FLIGHT: Run full test suite and verification", status: "pending", activeForm: "Running pre-flight checks" },
{ content: "DEPLOY: Detect platform and push to production", status: "pending", activeForm: "Deploying to production" },
{ content: "VERIFY LIVE: Check live URL and setup monitoring", status: "pending", activeForm: "Verifying live deployment" },
{ content: "MARKET: Generate landing copy and social assets", status: "pending", activeForm: "Generating marketing assets" },
{ content: "ANNOUNCE: Present all marketing assets to user", status: "pending", activeForm: "Preparing announcement" }
])
Mark todo[0] in_progress.
REQUIRED SUB-SKILL: rune:verification
→ Invoke `verification` with scope: "full".
→ verification runs: type check, lint, unit tests, integration tests, build.
→ Capture: passed count, failed count, coverage %, build output.
Block deploy if ANY of:
[ ] Tests failing (failed count > 0)
[ ] TypeScript errors present
[ ] Build fails
[ ] sentinel CRITICAL issues detected (invoke rune:sentinel if not already run)
If any check fails: → STOP immediately → Report: "PRE-FLIGHT FAILED — deploy blocked" → List all failures with file + line references → Do NOT proceed to Phase 2
Mark todo[0] completed only when ALL checks pass.
Mark todo[1] in_progress.
2a. Detect deployment platform.
Bash: ls package.json
Read: package.json (check "scripts" for deploy, build, start commands)
Platform detection (in order):
1. Check package.json scripts for "vercel" → platform = Vercel
2. Check package.json scripts for "netlify" → platform = Netlify
3. Check for vercel.json or .vercel/ dir → platform = Vercel
4. Check for netlify.toml → platform = Netlify
5. Check for Dockerfile or fly.toml → platform = custom/fly.io
6. Fallback: ask user for deploy command before continuing
2b. Execute deploy command.
Vercel:
Bash: npx vercel --prod
Capture: deployment URL from stdout
Netlify:
Bash: npx netlify deploy --prod --dir=[build_output_dir]
Capture: deployment URL from stdout
Custom (package.json script):
Bash: npm run deploy
Capture: deployment URL or status from stdout
Fly.io:
Bash: flyctl deploy
Capture: deployment URL from stdout
Error recovery:
If deploy command exits non-zero:
→ Capture full stderr
→ Report: "DEPLOY FAILED: [error summary]"
→ Do NOT proceed to Phase 3
→ Present raw error to user for diagnosis
Mark todo[1] completed when deploy returns a live URL.
Mark todo[2] in_progress.
3a. Verify live site.
REQUIRED SUB-SKILL: rune:browser-pilot
→ Invoke `browser-pilot` with the deployed URL.
→ browser-pilot checks: page loads (HTTP 200), no console errors, critical UI elements visible.
→ Capture: screenshot, status code, load time, any JS errors.
Error recovery:
If browser-pilot returns non-200 or JS errors:
→ Report: "LIVE VERIFY FAILED: [details]"
→ Do NOT proceed to Phase 4
→ Present screenshot + error log to user
3b. Setup monitoring.
REQUIRED SUB-SKILL: rune:watchdog
→ Invoke `watchdog` with: url=[deployed URL], interval=5min, alert_on=[5xx, timeout].
→ watchdog configures health check endpoint monitoring.
→ Capture: monitoring confirmation + health endpoint path.
Mark todo[2] completed when live verification passes and monitoring is active.
Mark todo[3] in_progress.
4a. Generate marketing assets.
REQUIRED SUB-SKILL: rune:marketing
→ Invoke `marketing` with: project context, deployed URL, key features.
→ marketing generates:
- Landing page hero copy (headline, subheadline, CTA)
- Twitter/X announcement thread (3-5 tweets)
- LinkedIn post
- Product Hunt tagline + description
- SEO meta tags (title, description, og:image alt)
→ Capture: all generated copy as structured output.
4b. Optional — launch video.
If user requested video content:
REQUIRED SUB-SKILL: rune:video-creator
→ Invoke `video-creator` with: deployed URL, feature list, target platform.
→ Capture: video script + asset manifest.
Mark todo[3] completed when all requested assets are generated.
Mark todo[4] in_progress.
Present all assets to user in structured format. Do not auto-publish — user approves before posting.
Present:
- Deployed URL (clickable)
- Monitoring status
- All marketing copy blocks (ready to copy-paste)
- Video script (if generated)
- Next steps checklist
Mark todo[4] completed.
| Gate | Requires | If Missing |
|---|---|---|
| Test Gate | verification output showing all green | Run rune:verification first |
| Security Gate | sentinel output with no CRITICAL findings | Run rune:sentinel first |
| Deploy Gate | Successful deploy confirmation before marketing | Deploy first |
## Launch Report
- **Status**: live | failed | partial
- **URL**: [deployed URL]
- **Tests**: [passed]/[total]
### Deployment
- Platform: [Vercel | Netlify | custom]
- Build: [success | failed]
- URL: [live URL]
### Monitoring
- Health endpoint: [path]
- Check interval: 5min
- Watchdog: active | failed
### Marketing Assets
- Hero copy: [ready | skipped]
- Twitter thread: [ready | skipped]
- LinkedIn post: [ready | skipped]
- Product Hunt: [ready | skipped]
- SEO meta: [ready | skipped]
- Launch video: [ready | skipped]
| Artifact | Format | Location |
|---|---|---|
| Deploy status + live URL | Inline (Launch Report) | Emitted at session end |
| Marketing assets (copy, social, SEO) | Markdown (inline) | Generated by rune:marketing, presented in Phase 5 |
| Release checklist | Markdown (inline) | Shown in Announce phase |
| Monitoring confirmation | Inline | Watchdog setup output |
| Launch Report | Markdown (inline) | Emitted at end of session |
Known failure modes for this skill. Check these before declaring done.
| Failure Mode | Severity | Mitigation |
|---|---|---|
| Attempting deploy with failing tests or TypeScript errors | CRITICAL | HARD-GATE blocks this — pre-flight must be 100% green |
| Running marketing before deploy verified live | HIGH | Constraint 4: deploy → verify HTTP 200 → THEN market. Never simultaneous |
| No rollback plan before production deploy | MEDIUM | Constraint 3: document rollback strategy before running deploy command |
| Platform auto-detected incorrectly (wrong deploy command) | MEDIUM | Verify platform config files before running — ask if ambiguous |
| Marketing assets generated from assumptions rather than scout output | MEDIUM | Step 1 requires scout to run — copy based on actual features, not assumptions |
~$0.08-0.15 per launch. Sonnet for coordination, delegates to haiku for scanning.
Scope guardrail: Do not publish marketing assets or trigger external announcements unless explicitly delegated by the parent agent.