Website-Skill: Ablauf
Dieses Skill erstellt eine Kundenwebsite aus einem Briefing. Jeder Kunde erhält einen genehmigten Plan, eine Codebasis und ein Prüfskript. Der genehmigte Plan steuert die Routen, Titel, Beschreibungen, Überschriften und die Sitemap.
In diesem Dokument ist <skill-dir> der Ordner, der diese Datei enthält, und <client-folder> der Ordner für diesen Kunden. Falls der Benutzer keine Ordnerkonvention hat, verwende clients/<client>/.
Voraussetzungen
- Lies die Notizen für diesen Kunden, falls vorhanden. Gib dem Benutzer die zutreffenden Regeln in 2–3 Zeilen.
- Finde das Briefing, das Firmenprofil, das Logo und die Fotos.
- Stelle sicher, dass Node.js, Python 3 und
rsyncverfügbar sind.
WARNUNG: SETZE KEINE FAKTEN AUF DIE WEBSITE, DIE NICHT IM BRIEFING STEHEN. EIN ERFUNDENES ZERTIFIKAT, EIN ERFUNDENER KUNDENNAME, EINE ERFUNDENE ZAHL ODER EIN ERFUNDENES TESTIMONIAL IST EIN RECHTLICHES UND VERTRAUENSRISIKO FÜR DEN KUNDEN.
Phase 1: Fakten
- Lies
references/brief-intake.md. - Lies jede Quelldatei vollständig.
- Schreibe
<client-folder>/site-brief/facts.md. - Durchsuche die aktuelle Website, falls der Kunde eine hat. Notiere jede URL für die Weiterleitungsliste.
- Schreibe
<client-folder>/site-brief/questions-for-client.md, falls Fakten fehlen.
TOR 1. Zeige dem Benutzer die Zusammenfassung des Faktenblatts und die Liste der Lücken. Warte, bis der Benutzer antwortet. Fahre nur mit Lücken fort, wenn der Benutzer zustimmt. Eine Seite, die einen fehlenden Fakt benötigt, bleibt außerhalb des Plans oder bleibt ohne diesen Fakt.
Phase 2: Site-Plan
- Lies
references/site-plan.md. - Führe die Keyword-Recherche für den Markt des Kunden durch.
- Kopiere
<skill-dir>/assets/site-plan.template.jsonnach<client-folder>/site-brief/site-plan.json. - Fülle einen Eintrag für jede Seite aus.
- Vergleiche den Plan mit dem Angebot, falls vorhanden. Jeder Punkt im Umfang muss eine Seite oder ein Feature haben. Ein Formular im Umfang benötigt
server-Hosting oder einen vereinbarten Ersatz. - Führe das Plan-Tor aus. Korrigiere jedes FEHLGESCHLAGEN.
python3 <skill-dir>/scripts/site_gate.py plan <client-folder>/site-brief/site-plan.json
TOR 2. Zeige dem Benutzer eine Tabelle mit diesen Spalten: URL, primäres Keyword, monatliches Suchvolumen, Titel. Gib auch die Hosting-Wahl an. Warte auf die Zustimmung des Benutzers. Schreibe dann die Zustimmung in den Plan als "approved_by" und "approved_on". Das Build-Tor schlägt ohne diese Felder fehl.
Phase 3: Grundgerüst
- Wähle den Ordner
<client-folder>/website/. - Führe das Grundgerüst-Skript aus. Das Skript funktioniert mit Leerzeichen und Großbuchstaben im Pfad.
bash <skill-dir>/scripts/scaffold.sh "<client-folder>/website" static
- Verwende
serveranstelle vonstaticnur, wenn der Plan ein Server-Feature benötigt (siehereferences/launch.md). - Kopiere das genehmigte
site-plan.jsonnachsrc/lib/site-plan.json. - Ersetze jeden
__FILL-Wert insrc/lib/site.tsmit einem Wert aus dem Faktenblatt. - Lies die Anleitungen für Metadaten, Bilder, Schriftarten und statische Exporte in
node_modules/next/dist/docs/01-app/.
HINWEIS: Next.js ändert sich zwischen Hauptversionen. Die Anleitungen in node_modules passen zur installierten Version. Deine Trainingsdaten tun das nicht.
Phase 4: Designrichtung
- Lies
references/design-and-copy.md. - Erstelle die Farb- und Schrift-Tokens aus dem Logo. Füge sie in
globals.cssein. - Erstelle
public/logo.webp,public/og.webp(1200 x 630 Pixel) undsrc/app/icon.pngaus dem Logo. - Baue nur den Header, den Footer und die Startseite.
- Starte die Vorschau. Verwende
npx serve out -l 3210für eine statische Website nach einem Build. Verwendenpm run devfür eine Server-Website. - Öffne
http://127.0.0.1:3210in einem Browser. Überprüfe die Seite bei 375, 768 und 1280 Pixeln.
HINWEIS: Ein eingebetteter Browser kann HTTP 431 für localhost zurückgeben. Die Adresse 127.0.0.1 hat diesen Fehler nicht.
TOR 3. Zeige dem Benutzer die Startseite. Warte auf die Zustimmung des Benutzers zum Design. Alle anderen Seiten verwenden dieses Design.
VORSICHT: BAUE DIE ANDEREN SEITEN NICHT VOR TOR 3. EINE SPÄTE DESIGNÄNDERUNG FÜHRT ZU EINER MIGRATION ALLER SEITEN.
Phase 5: Seiten
- Lies
references/seo-build-spec.md. - Lege Inhalte in typisierten Datendateien in
src/lib/ab (z. B.services.ts). Halte die Seitendateien schlank. - Verwende eine dynamische Route mit
generateStaticParamsfür jeden wiederholten Seitentyp. - Hole jeden Titel, jede Beschreibung und jede H1 aus dem Plan mit
pageMetadata()undgetPage(). - Schreibe den Text für den Käufer in der Stimme des Kunden. Verwende nur Fakten aus
facts.md. - Füge interne Links gemäß der Spezifikation hinzu.
- Baue die Website.
npm run build
- Führe das Build-Tor aus. Korrigiere jedes FEHLGESCHLAGEN an seiner Ursache. Ändere NICHT das Tor, um ein Bestehen zu erreichen.
python3 <skill-dir>/scripts/site_gate.py build <client-folder>/website
- Führe
npx tsc --noEmitundnpm run lintaus.
Phase 6: Überprüfung
- Überprüfe jeden Seitentyp im Browser bei 375, 768 und 1280 Pixeln.
- Überprüfe jeden CTA: Telefon, WhatsApp, E-Mail und Formular.
- Falls der Benutzer es wünscht, bereite den Seitentext für den Kunden in einem Dokument vor. Folge
references/design-and-copy.md. - Stelle eine Vorschau nur dann bereit, wenn der Benutzer dich dazu auffordert. Ein Vorschau-Build ist nicht indexierbar.
TOR 4. Gib dem Benutzer die Vorschau-URL und das Tor-Ergebnis. Warte auf die Zustimmung des Benutzers zum Launch.
Phase 7: Launch
- Lies
references/launch.md. - Baue mit
SITE_INDEXABLE=1. - Führe das Build-Tor mit
--releaseaus. Das Tor muss bestehen. - Führe die Launch-Schritte in
references/launch.mdaus.
WARNUNG: VERBINDE DIE DOMAIN NICHT UND PUSHE NICHT IN DIE PRODUKTION OHNE EINE GENEHMIGUNG IN DER AKTUELLEN SITZUNG. DIE LIVE-DOMAIN BEEINTRÄCHTIGT DAS GESCHÄFT DES KUNDEN.
Abschluss
- Gib dem Benutzer eine Liste der verbleibenden Kundenaktionen.
- Notiere Pfade, Entscheidungen und Erkenntnisse in den Notizen für diesen Kunden.
- Teile dem Benutzer mit, dass die Website für SEO-Inhaltsarbeit bereit ist.
Feste Regeln
| Regel | Grund |
|---|---|
| Eine URL pro Dienst | Eine Ein-Seiten-Website gibt einem Dienst keine URL, die ranken kann |
| Ein primäres Keyword pro URL | Zwei Seiten zu einem Keyword konkurrieren miteinander |
| Der Plan ist die einzige Quelle für Titel und Routen | Das Tor vergleicht das gebaute HTML mit dem Plan |
| Keine animierten Zahlenzähler | Das HTML zeigt 0, bevor das Skript läuft |
| Tore sind Skripte | Jeder Fehler, den die Skripte abfangen, ist zuvor einer Person entgangen |
Referenzen
| Datei | Lies sie in |
|---|---|
references/brief-intake.md | Phase 1 |
references/site-plan.md | Phase 2 |
references/design-and-copy.md | Phase 4 und Phase 6 |
references/seo-build-spec.md | Phase 5 |
references/launch.md | Phase 2 (Hosting) und Phase 7 |