Skip to content
Back to skills

Launch All

ASecurity

Use when someone asks whether a website or web app is ready to launch, or wants a pre-launch review of a vibe-coded or AI-generated site. It inspects the real product, decides which of the 40 launch checks apply, routes only to the specialists that can help, fixes what is safe, verifies the result, and reports what still needs a human. Do not use it to run every ReadyVibe skill, to certify legal compliance, or for a single-topic request that one specialist already covers.

  • 2 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added October 1, 2026
ai-agentsrustgobashnodeawssecurityperformancedocumentation

Works with

  • cli

Security analysis

A100/100

Pro scans all 16 files and shows the line behind each finding

Scanned October 1, 2026

npx -y skills add moh-obaida/ReadyVibe-Skills --skill launch-all --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Launch All?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Launch All
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/moh-obaida-launch-all/badge)](https://www.skillsdirectory.com/skills/moh-obaida-launch-all)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: launch-all
description: "Use when someone asks whether a website or web app is ready to launch, or wants a pre-launch review of a vibe-coded or AI-generated site. It inspects the real product, decides which of the 40 launch checks apply, routes only to the specialists that can help, fixes what is safe, verifies the result, and reports what still needs a human. Do not use it to run every ReadyVibe skill, to certify legal compliance, or for a single-topic request that one specialist already covers."
license: Apache-2.0
metadata:
  kind: bundle
  launch-checks: "1-40"
  helpers: "inspect-metadata,check-links,audit-markup,audit-assets,scan-secrets,observe-runtime"
  companions: "site-reconnaissance,design-system-reconnaissance,launch-verification,compliance-all,discoverability-all,trust-all,quality-all,production-all,regulated-domain-triggers,consumer-protection-readiness,payments-readiness,subscription-readiness,admin-authorization,admin-audit-log,admin-dashboard"
---

# launch-all

"It looks done. Can I launch it?" This skill answers that by looking at the product, not by ticking a list.

**Consider broadly. Activate selectively. Verify deeply.**

The canonical scope is the 40-check launch model in [references/launch-model.md](references/launch-model.md), plus the 12 conditional compliance domains handled through `compliance-all`. Read the model once at the start. Every check gets a disposition; not every check gets work. **It never runs all 55 skills.** A typical run is recon, one shared sweep, and only the handful of lanes that apply and show a real concern; everything else is recorded as not applicable (with the reason) or unknown.

## Activate when

- The user asks "is this ready to launch / ship / go live?", wants a pre-launch pass, or has just built a site with an AI tool and wants the gaps found.
- Do not activate for one narrow request ("fix my sitemap"). Use `seo-readiness` directly.
- Do not activate for "make us GDPR/CCPA compliant". Use `compliance-all`, and expect it to refuse that framing (see Escalate).

## Working alone

This skill is self-contained. Its **companions** (declared in its metadata) are skills whose method it may need to do its own promised work. Use of a companion can be conditional: declaring one does not mean running it. When a companion's lane applies, use the skill if it is installed; if not, follow its short entry in [references/companion-methods.md](references/companion-methods.md) and say in your report which lanes ran inline at reduced depth. Never skip an applicable lane silently. The lanes this bundle can activate are companions because it promises to run them when they apply: consider them all, activate only the ones that fit. Skills mentioned here only for escalation, referral, documentation, or optional deeper follow-up are not dependencies: report the hand-off and finish honestly.

Companions: `site-reconnaissance`, `design-system-reconnaissance`, `launch-verification`, `compliance-all`, `discoverability-all`, `trust-all`, `quality-all`, `production-all`, `regulated-domain-triggers`, `consumer-protection-readiness`, `payments-readiness`, `subscription-readiness`, `admin-authorization`, `admin-audit-log`, `admin-dashboard`.

## Flow

```
1. Recon        establish what this product is (site-reconnaissance)
2. Consider     walk the 40 checks; mark each APPLIES / NOT APPLICABLE (with reason) / UNKNOWN
3. Sweep        one cheap baseline of deterministic helpers (below), so specialists do not each rediscover the site
4. Route        activate only specialists whose checks apply and whose evidence shows a real concern
5. Repair       let specialists fix what is safe; collect questions for what is not
6. Verify       re-run the evidence that found each problem; confirm the fix changed behavior
7. Report       READY / FIXED / BLOCKERS / REVIEW REQUIRED / UNVERIFIED / NEXT ACTION
```

### 1. Recon: context, without a questionnaire

Run `site-reconnaissance` if installed; otherwise follow its entry in [references/companion-methods.md](references/companion-methods.md). Infer from the repository, config, routes, dependencies, environment templates, network behavior, and project docs. Establish:

- public vs internal; deployment target and production host if known
- audience, languages, apparent markets (documented ones only; do not guess a jurisdiction from a domain name)
- accounts/authentication, payments, email/newsletters, user-generated content
- analytics, advertising, cookies/storage, third-party services and embeds
- forms and what data they collect; age handling; SEO intent (should it be found?)

Ask the user only when an unresolved fact would change what you do. Good questions: "Is this meant to be indexed?", "Which countries do you sell to?", "What is the production URL?". Bad questions: anything you can read from the repo. Ask at most three at once, and keep working on everything that does not depend on the answer.

Write what you established (with its evidence label) to `.readyvibe/context.md`, so specialists can reuse it rather than re-deriving it. This is an optional working note: no skill requires it, and if it is missing you simply re-establish the facts. Keep it short and human-readable.

### 2. Consider: dispositions

For each of the 40 checks record one of:

| Disposition | Meaning |
|---|---|
| APPLIES | Evidence shows the surface exists (a form, a tracker, a public route) |
| NOT APPLICABLE | Evidence shows it does not, with a reason a reviewer can check ("no `<form>` in 12 crawled pages and none in `src/`"). "I did not look" is UNKNOWN, not not-applicable |
| UNKNOWN | Could not be determined; say what would resolve it |

Recheck triggers matter: "no marketing email" is valid only until an email vendor or newsletter form appears.

### 3. Sweep: the baseline

If a site is reachable (local dev server, preview, or production), run these once. Paths are relative to this skill's folder. Serve a build locally if none is running. For client-rendered apps add `--render`.

```bash
node scripts/inspect-metadata.mjs --url <site> --render     # titles, canonicals, robots, sitemap, noindex, social, favicon
node scripts/check-links.mjs      --url <site> --render     # broken links, dead CTAs, sitemap/canonical targets
node scripts/audit-markup.mjs     --url <site> --render     # labels, alt text, landmarks, viewport, form basics
node scripts/audit-assets.mjs     --url <site> --render     # oversized assets, blocking scripts
node scripts/scan-secrets.mjs     --root .                  # secrets, client env mistakes, source maps, localhost in output
node scripts/observe-runtime.mjs  --url <site> --block-third-party   # cookies, storage, third parties on load
```

If only source exists and no server can be started, run `scan-secrets` and the `--dir` mode against a build directory, and mark runtime-dependent checks UNKNOWN. If Playwright is unavailable, `observe-runtime` will say so; do not pretend it ran.

Helper output is evidence, not a verdict. Read the findings, discard the ones the context explains, and route the rest. If a helper reports `SITE_NOT_READ`, it read nothing (server down, wrong URL, empty build): that is UNKNOWN, never a clean result. Fix the URL or start the server and run it again.

### 4. Route: selective activation

Activate a specialist when **both** hold: its check applies, and the sweep or recon shows a concrete concern (or the check is UNKNOWN and worth resolving). Do not run a specialist to confirm that nothing exists.

| Signal from recon/sweep | Route to |
|---|---|
| Any personal-data, tracker, cookie, email, age, deletion, vendor, or market question | `compliance-all` (it applies the 12 domains) |
| Metadata, robots, sitemap, canonical, social, favicon, indexing findings | `discoverability-all` |
| CTA, placeholders, fake proof, dead controls, 404, contact path, states | `trust-all` |
| Alt text, headings, keyboard, contrast, motion, mobile layout | `quality-all` |
| Forms, unsubscribe, secrets, headers, staging artifacts, performance | `production-all` |
| Money changes hands (prices, checkout, subscriptions) | `compliance-all` (its consumer-protection domain runs `consumer-protection-readiness`, `payments-readiness`, and `subscription-readiness` as they apply) |
| Admin or operator routes exist | `admin-authorization` (and `admin-audit-log` if destructive actions exist) |
| Operators have tasks nobody can perform (submissions, privacy requests, moderation, users, refunds) and the owner wants an admin | `admin-dashboard` (builds or improves one from the real app) |
| Health, finance, education, minors, legal, crypto, gambling, AI features | `regulated-domain-triggers` first; it may stop ordinary work |

Prefer the family bundles over invoking many specialists yourself: a bundle runs one shared sweep for its family and selects within it. **Installed skills are preferred over inline fallbacks**, because they are deeper.

**If a bundle or specialist is not installed, do not stop and do not skip the lane.** Every skill has a minimum method in [references/companion-methods.md](references/companion-methods.md). Follow that entry, use the helpers in this skill's `scripts/`, and label the lane *inline, reduced depth* in the report. A launch review with only `launch-all` installed is real but shallower than one with the specialists: say which lanes ran inline, and suggest installing the full set (`npx skills add moh-obaida/ReadyVibe-Skills --all`) when depth matters (privacy, consent, admin, accessibility).

### 5. Repair

Fix what is **clear and low-risk**, in the project's own design system and conventions (`design-system-reconnaissance` before any visible change). Safe examples: favicon, localhost canonical, private sitemap route, broken internal link, basic metadata, derivable alt text, custom 404, form labels, obvious mobile overflow, robots reference, client-exposed env reference.

Do **not** fabricate: legal terms, privacy promises, retention periods, company addresses or contact details, age requirements, refund terms, jurisdiction claims, testimonials, or metrics. If a needed fact is missing, ask for it or leave a clearly marked placeholder that fails loudly, not a plausible invention.

Respect user edits. Do not overwrite hand-written copy without saying so. Prefer small, reviewable changes; note each in the report.

### 6. Verify

For every HIGH finding and every fix, re-run the same evidence that produced it and confirm the behavior changed (see `launch-verification`). "I edited the file" is not verification. If verification is impossible in this environment, the item moves to UNVERIFIED with what would settle it.

### 7. Report

Follow [references/report-format.md](references/report-format.md). Keep it concise: no 100-line check dump unless the user asks. Lead with the verdict and the single highest-value next action.

## Evidence discipline

Label each claim OBSERVED (directly verified), SOURCE-INDICATED (in code/config, runtime not proven), DECLARED (stated by docs or the user), INFERRED (reasonable, unverified), UNKNOWN, or REVIEW REQUIRED (needs human/legal/security judgment). UNKNOWN is never a pass and never a failure.

- "Analytics vendor appears in source" is not "analytics loaded before consent". Prove timing at runtime or say it is unproven.
- "Delete sets `active=false`" is not "data is deleted".
- "Unsubscribe link exists" is not "future marketing is suppressed".
- "Privacy page says X" is not "runtime behavior matches X".

## May change

Project files inside the family specialists' owned areas: metadata, icons, robots/sitemap, error pages, form markup, styling fixes, env references, missing (non-legal) navigation. It creates `.readyvibe/context.md`. It never edits history, deploys, or sends anything.

## Must not claim

"Launch-ready", "compliant", "GDPR/CCPA/ADA compliant", "secure", "accessible", "will rank/index", or "no issues" as unqualified statements. The strongest allowed verdict names its scope: "No launch blockers found in the areas verified (listed); items X, Y are unverified; items Z need human review."

## Verify

See step 6. Additionally, before reporting: re-run the sweep for any area you changed, and confirm nothing regressed (a fixed canonical must not have broken the sitemap agreement).

## Escalate

- Any regulated-domain trigger, child-directed signal, payment/auth flow that cannot be exercised, or exposed credential: stop ordinary work on that item and surface it first. An exposed credential needs rotation by the owner, not just deletion.
- Legal applicability (which laws, what wording, what retention): REVIEW REQUIRED, never resolved from memory. If the user says "make us compliant", say what can be inspected and fixed technically, and define the remaining review boundary.
- User instructions that would create compliance theater (a cookie banner with nothing to gate, a boilerplate policy with invented facts, a "GDPR compliant" badge): explain why, offer the honest alternative, and proceed only with what is supportable.

## No change is valid when

The evidence shows the site is fine in an area, or the check does not apply, or the only "fix" would invent facts. A report that says "no change; not applicable because X" is a good outcome. Do not add a FAQ, a banner, or a policy section to make a check look done.

Files in this skill

  • SKILL.md13.1 KB
  • references/companion-methods.md6.5 KB
  • references/launch-model.md10.1 KB
  • references/report-format.md4.1 KB
  • scripts/audit-assets.mjs9.2 KB
  • scripts/audit-markup.mjs12.8 KB
  • scripts/check-links.mjs14.4 KB
  • scripts/inspect-metadata.mjs23.9 KB
  • scripts/lib/browser.mjs3.3 KB
  • scripts/lib/canary.mjs1.5 KB
  • scripts/lib/html.mjs5.8 KB
  • scripts/lib/pages.mjs11.3 KB
  • scripts/lib/report.mjs3 KB
  • scripts/lib/trackers.mjs5.9 KB
  • scripts/observe-runtime.mjs25.1 KB
  • scripts/scan-secrets.mjs12.7 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…