Launchgrade setup
Skill petekass/web-standards-2026/.claude/skills/launchgrade-setup
Launchgrade — stack-agnostic starter template + technical baseline for modern web projects (Web Standards 2026). WCAG 2.2 AA / BFSG, Core Web Vitals, CSP, GDPR, AI-crawler defaults. Three Claude Code skills: setup, design, audit.
npx -y skills add petekass/web-standards-2026 --skill launchgrade-setupAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Scaffolds new web projects per Launchgrade Web Standards 2026. Generates required artifacts (HTML head, robots.txt with AI-crawler defaults, sitemap.xml, security.txt, manifest, favicon set, stack-specific CSP config, 404/500, llms.txt, project AGENTS.md). Triggers on "new website", "setup", "start project", "boilerplate", "required files", "landing page", "neue Website", "Setup", "Projekt starten", "Pflicht-Files".
SKILL.md
13.4 KB, ~3.9k tokens by cl100k_base, as published. Nobody here has run it
Launchgrade Web Setup Skill
Erste Phase im Launchgrade-Workflow: Foundation. Generiert die technischen Pflicht-Artefakte aus §1, §5, §9 der AGENTS.md.
Wann triggern
- Neues Web-Projekt: Marketing-Site, Shop, Buchung, SaaS-Marketing-Frontend, Landing Page
- Migration eines Bestandsprojekts auf Launchgrade-Standards (Initialphase)
- Konkrete Setup-Fragen: CSP, robots.txt für AI-Bots, Manifest, Favicons, security.txt, hreflang
Nicht triggern bei: Backend-/Admin-Tasks, internem Tooling, ML-Pipelines, reinen Design-/Brand-Fragen (→ launchgrade-design), Audit/Pre-Launch-Check (→ launchgrade-audit).
Wo die Wahrheit liegt
Standards liegen in ./web-standards/AGENTS.md und ./web-standards/checklist.md im Repo-Root. Snapshot der Launchgrade Web Standards 2026, mit jedem Release versioniert.
Relevante Kapitel für Setup:
- §1 HTML & Document Baseline
- §5 Security
- §7 Browser-Support, Responsive & i18n
- §8 PWA & Manifest
- §10 Pflicht-Dateien im Repo-Root
Pflicht-Schritt: Vor jeder Generierung das relevante Kapitel mit Read laden. Nicht aus dem Gedächtnis arbeiten — Standards können sich ändern.
Vorgehen
-
Kontext abfragen (kompakt, in einem Schwung):
Stack — Auswahl mit kurzem Vorteil pro Option direkt sichtbar machen (nicht erst nachfragen). WordPress wird nicht angeboten (PHP-CMS-Workflow ist mit KI-Pipeline nicht effizient, Edge-CSP / Nonce /
llms.txt-Tooling fehlen out-of-the-box).Stack Vorteil (kurz) Wann nehmen Astro (Default-Empfehlung) Beste Lighthouse-Scores out-of-the-box, near-zero JS, Islands lazy-loaden Animationen pro Section. Satisfaction-Leader 2025 (94 %). Marketing-Sites, Blogs, Doku, Multi-Page mit überwiegend statischem Content + gezielter Interaktivität. Next.js Größtes Ökosystem (~60 % Marktanteil), beste AI-Tool-Unterstützung, Server Actions für Forms, Auth-Flows + Backend co-located. App-artiges: Dashboards, E-Commerce, Auth, dynamische Listen, SSR/ISR. Plain HTML Null Toolchain, schnellster Build, kein Deploy-Setup nötig. Echte One-Pager / Landing Pages ohne Forms — Form-Service (Formspree, Resend) reicht. SvelteKit Schlankere Runtime als Next, weniger Bundle-Size. Nur wenn Team Svelte-präferent — kleineres Ökosystem als React. Nuxt Wie Next, aber Vue-basiert. Nur wenn Team Vue-locked — sonst Next oder Astro. Faustregel: Bei Unsicherheit → Astro (Default). Bei "viele Forms / Auth / Dashboards" → Next.js. Bei "Single Landing-Page" → Plain HTML.
Domain — Final-URL (z.B.
example.com).Sprache(n) — Default
de, bei i18n auchhreflang-Schema (z.B.de,en).Geltungsbereich — B2C-Shop / Banking / Buchung → BFSG-relevant (im Output markieren,
accessibility-statement.mdmitgenerieren).Brand-Name + Tagline (1-Satz).
Primärfarbe — akzeptiere drei Eingabe-Formate, frag explizit:
- Hex / OKLCH / RGB-Code direkt (z.B.
#0E7C66oderoklch(0.65 0.18 165)). Schnellster Weg. - Bild-Pfad (Logo, Brand-Asset, Moodboard als
.png/.jpg/.svg). Lade das Bild mitRead(multimodal), identifiziere die dominante Brand-Farbe, normalisiere auf Hex + OKLCH und bestätige beim User vor dem Schreiben. - Referenz-URL (existierende Website / Brand-Page). Nutze
WebFetch, suche nach<meta name="theme-color">, CSS-Custom-Properties (--color-primary,--brand), oder dominanten Inline-Styles. Bei Unklarheit zwei Kandidaten zur Wahl stellen.
Bei Bild- oder URL-Input: gib den extrahierten Wert vor dem Schreiben zur Bestätigung zurück. Falls die Quelle keine eindeutige Primärfarbe hergibt, frag nach Hex-Fallback.
- Hex / OKLCH / RGB-Code direkt (z.B.
-
AGENTS.md §1, §5, §7, §8, §10 lesen.
-
Auto-Scaffold (nach Kontext, ohne weitere Rückfrage):
Pre-Check (Bash): prüfe ob ein Stack bereits initialisiert wurde — wenn ja, Scaffold überspringen und im Output vermerken.
if [ -f package.json ] || [ -f astro.config.mjs ] || [ -f astro.config.ts ] \ || [ -f next.config.js ] || [ -f next.config.ts ] || [ -f next.config.mjs ] \ || [ -f svelte.config.js ] || [ -f nuxt.config.ts ]; then echo "STACK_ALREADY_PRESENT" fiWenn frisch (kein STACK_ALREADY_PRESENT): Stack-spezifischen Non-Interactive-Befehl ausführen — keine User-Bestätigung einholen, das ist reine Mechanik. Annahmen aus User-CLAUDE.md: npm, TypeScript strict, App-Router-Pattern.
Stack Scaffold-Befehl (non-interactive) Astro npm create astro@latest . -- --template minimal --typescript strict --install --git --skip-houston --yesNext.js npx create-next-app@latest . --typescript --tailwind --app --src-dir --import-alias "@/*" --use-npm --eslint --yesSvelteKit npx sv create . --template minimal --types ts --no-add-ons --install npmNuxt npx nuxi@latest init . --packageManager npm --gitInit --forcePlain HTML kein Scaffold — Template-Files bleiben Repo-Wurzel. Konflikt-Handling: Scaffold läuft in nicht-leerem Dir (Template-Pflicht-Files in
public/existieren bereits). Astro/Next melden ggf. existing files — die Pflicht-Files werden danach in Phase 4 sowieso überschrieben, also Output ignorieren und weitermachen. Bei harten Fehlern (npm-Install-Crash, fehlende Berechtigung): abbrechen und User-Output mit konkretem Fix vorschlagen.Nach dem Scaffold: kurz mit
lsverifizieren dasspackage.json+ Framework-Config existieren. -
Pflicht-Files anpassen ODER generieren:
Fall A — Template-Klon (häufig):
public/robots.txt,public/sitemap.xml,public/llms.txt,public/site.webmanifest,public/.well-known/security.txt,public/404.html,public/500.html,SECURITY.mdexistieren bereits mit{{PLACEHOLDER}}-Tokens. Ersetze sie viaEditmit den User-Werten:{{BRAND_NAME}},{{BRAND_TAGLINE}},{{DOMAIN}},{{LANG}},{{BRAND_PRIMARY}},{{CONTACT_EMAIL}},{{SECURITY_EMAIL}},{{SECURITY_EXPIRES}}(12 Monate ab heute, ISO 8601)- Schreibe danach
project.config.jsonins Repo-Root mit den gleichen Werten +standards_snapshot(Inhalt vonweb-standards/.snapshot-version)
Fall B — Greenfield ohne Template: Pflicht-Artefakte from-scratch generieren:
- HTML5-Boilerplate-
<head>mit Pflicht-Metas (charset, viewport, title, description, canonical, OG, Twitter Card, color-scheme, theme-color) /robots.txtmit AI-Crawler-Defaults (GPTBot, ClaudeBot, Claude-SearchBot, Google-Extended, PerplexityBot, Applebot-Extended, OAI-SearchBot, Meta-ExternalAgent) — explizite Allow/Disallow-Policy, keine Default-Schwammigkeit/sitemap.xml(Template oder Generator-Hook) + Verweis in robots.txt/llms.txtmit H1 + 1-Satz-Site-Summary + Sections-Links (für AI-Discoverability)/site.webmanifestmit Pflicht-Feldern (name, short_name, icons 192/512, theme_color, background_color, display, start_url)/.well-known/security.txtmitExpires12 Monate in der Zukunft- Security-Header-Config stack-spezifisch (
vercel.json,next.config.js, nginx-Block, Cloudflare-Workers, Apache.htaccess) - CSP Level 3 mit Nonce-Pattern,
frame-ancestors 'self'+ Allowlist falls Whitelabel-Previews / Kunden-Embeds - JSON-LD Organization + WebSite auf Homepage, BreadcrumbList Template
- Favicon-Set (SVG + 32/180/512 PNG) — RealFaviconGenerator-Hinweis bei Bedarf
/404.htmlund/500.htmlTemplates mit Branding- Projekt-eigene
AGENTS.mdim Repo-Root mit: Setup, Build, Test, Conventions, Deploy, Verweis auf Launchgrade-Standards-Repo - Bei BFSG-Relevanz:
accessibility-statement.mdTemplate + Hinweis auf Pflicht (ab Juni 2025)
Default-Welcome-Page ersetzen: Der Scaffold legt eine Framework-Welcome-Page ab (
src/pages/index.astro,app/page.tsx,src/routes/+page.svelte,app.vue). Ersetze sie durch einen minimalen Placeholder — kein Marketing-Text, keine Sections, keine Designs:<h1>{{BRAND_NAME}}</h1> <p>{{BRAND_TAGLINE}}</p> <p><small>Setup abgeschlossen. Inhalt und Design folgen mit /launchgrade-design.</small></p>Begründung: solange Default-Content steht, ist die Versuchung groß "drauf aufzubauen" und damit Brand-DNA aus dem Skill
launchgrade-designzu umgehen. Saubere Übergabe = klarer Stopppunkt. -
Smoke-Test im Browser (Foundation-Verifikation, kein Visual-Diff):
Tool-Wahl in dieser Präferenz-Reihenfolge — erstes verfügbares Tool gewinnt, nicht hardcoden:
agent-browserCLI — wenncommand -v agent-browsererfolgreich- Chrome MCP /
claude-in-chrome— wennmcp__claude-in-chrome__*Tools verfügbar - Playwright via
npx playwright— Fallback - Keines verfügbar → Phase überspringen mit Hinweis im Output, Foundation bleibt valid
Ablauf:
a) Dev-Server im Hintergrund starten (Stack-Default-Port):
- Astro:
npm run dev→ 4321 - Next.js:
npm run dev→ 3000 - SvelteKit:
npm run dev→ 5173 - Nuxt:
npm run dev→ 3000 - Plain HTML:
npx serve public -p 8080
Bash mit
run_in_background: true, dann 3–5 s warten bis Ready.b) Browser-DOM-Check auf
http://localhost:<port>/:<title>enthält{{BRAND_NAME}}<meta name="theme-color">={{BRAND_PRIMARY}}<html lang="{{LANG}}">gesetzt- genau 1
<h1>im DOM
c) Pflicht-Files via
curl(ohne Browser):for p in /robots.txt /sitemap.xml /llms.txt /site.webmanifest /.well-known/security.txt; do curl -fsSL -o /dev/null -w "%{http_code} $p\n" "http://localhost:<port>$p" donePlus inhaltliche Checks:
robots.txtenthältGPTBot(AI-Crawler-Konfig vorhanden)security.txtExpires≥ heute (ISO-Datum parsen)site.webmanifesttheme_color==={{BRAND_PRIMARY}}
d) Dev-Server killen (
kill -TERM $BG_PID) — keine Zombie-Prozesse.e) Report:
Smoke-Test (<tool>): DOM: title ✓ theme-color ✓ lang ✓ h1 ✓ Files: robots ✓ sitemap ✓ llms ✓ manifest ✓ security ✓ Status: PASSBei Fail: Skill bricht nicht ab — Foundation steht, der konkrete Fehler kommt in den Output als Aufgabe für den User / nächste Phase.
-
Übersicht ausgeben: kurze Liste "Was wurde gesetzt" mit Pfaden + Scaffold-Status (frisch initialisiert / bereits vorhanden / Plain HTML) + Smoke-Test-Ergebnis + expliziter Hinweis "Content + Visual Design folgen — bitte
/launchgrade-designaufrufen, nicht selbst Hero/Sections schreiben".
Verhalten
- AGENTS.md immer lesen vor Generierung — nie aus dem Kopf.
- Stack-spezifisch — frag bei Unklarheit. Headers, Manifest, CSP unterscheiden sich zwischen Vercel / Cloudflare Pages / Cloudflare Workers / nginx / Apache. Bei Astro & Next standardmäßig Vercel-Deploy annehmen, sonst nachfragen.
- Nur Pflicht-Artefakte. Optionales (Service Worker, View Transitions, Speculation Rules) erst nach Nachfrage.
- Setup ist Foundation, kein Content. Erlaubt: scaffold, Pflicht-Files in
public/,<head>-Metas, Manifest, Favicons, minimaler Placeholder-Index mit Brand-Name + Tagline. Verboten: Hero-Sections, Marketing-Copy, konkrete Section-Inhalte, Layouts mit Brand-Farbschema / Fonts, globale Styles übertheme-colorhinaus. Content + Visual-Design →launchgrade-design. - Auf Deutsch antworten, Code/Header/Werte/Tokens auf Englisch.
- Em-dashes in user-facing Copy sparsam.
- Bei BFSG-Relevanz aktiv darauf hinweisen (B2C-Shop / Banking / Buchung).
- Bei DSGVO-Verstößen klar markieren (Google Fonts CDN, hardcoded reCAPTCHA, US-Tools ohne AVV).
Anti-Patterns
- ❌ Standards aus dem Kopf rezitieren statt AGENTS.md zu lesen.
- ❌ Hero-Sections, Marketing-Copy oder konkrete Section-Inhalte in
src/pages/,app/,src/routes/schreiben — gehört zulaunchgrade-design. - ❌ Layouts oder globale Styles mit Brand-Farben / Fonts / Komponenten anlegen —
theme-colorim Manifest ist die einzige Brand-Farb-Berührung im Setup. - ❌ Default-Welcome-Page des Scaffolds "verbessern" statt durch sauberen Placeholder zu ersetzen.
- ❌ Generische
robots.txtohne AI-Crawler-Konfiguration. - ❌ CSP mit
unsafe-inlineohne dokumentierte Begründung. - ❌ Google Fonts via
fonts.googleapis.comeinbauen. - ❌ Favicon nur als
.ico. - ❌
security.txtohneExpiresoder mitExpires < heute. - ❌
frame-ancestors 'none'ohne Allowlist-Hinweis — bricht Whitelabel-Previews. - ❌ Mehrere
<h1>pro Seite. - ❌ Bilder ohne
width/height-Attribute.
Übergabe an nächste Phase
launchgrade-designfür Brand-DNA, DESIGN.md, Anti-Slop-Setup.launchgrade-auditvor jedem Release (Lighthouse + Mozilla Observatory + PageSpeed Insights).
Aktualität
Die Standards haben einen Changelog am Ende der AGENTS.md. Wenn die Nutzerin nach einem Punkt fragt, der nach dem letzten Changelog-Eintrag liegen könnte (z.B. neue Web-Platform-Baseline-Features), kurz darauf hinweisen.
What ships with it
Read from the repository
Just SKILL.md. No reference files, no scripts.