Communitygithub.com

PhuongDeveloper/landingpage

Anwendungen und Websites auf Vercel bereitstellen. Verwenden Sie diese Fähigkeit, wenn der Benutzer Bereitstellungsaktionen wie 'meine App bereitstellen', 'bereitstellen und mir den Link geben', 'live schalten' oder 'Vorschau-Bereitstellung erstellen' anfordert.

Was ist landingpage?

Diese Fähigkeit ermöglicht KI-Agenten, Projekte auf Vercel bereitzustellen, wobei der Schwerpunkt auf Vorschau-Bereitstellungen (nicht Produktion) liegt, sofern der Benutzer nicht ausdrücklich etwas anderes verlangt. Sie unterstützt mehrere Plattformen (Claude Code, claude.ai, Codex) und führt eine schrittweise Entscheidungsfindung durch: Sie erfasst zunächst den Projektstatus (Git-Remote, Vercel-Verknüpfung, CLI-Authentifizierung und verfügbare Teams), wählt dann die optimale Bereitstellungsmethode aus – Git-Push, direktes CLI-Deployment oder einen anmeldefreien Fallback für Sandbox-Umgebungen. Ihre Hauptstärke liegt darin, Projekte in den idealen Zustand zu überführen: mit Vercel verknüpft und per Git-Push bereitstellbar. Bei Bedarf installiert und authentifiziert sie die Vercel-CLI, verknüpft das Projekt mit dem richtigen Team und stellt dann wie gewünscht bereit. Für Umgebungen ohne CLI (z. B. claude.ai) bietet sie ein Fallback-Skript, das eine Vorschau-URL und eine Claim-URL ausgibt. Die Ausgabe zeigt stets die Vorschau-URL an und informiert den Benutzer über den Status der Bereitstellung. Sie behandelt Fehler wie Netzwerkbeschränkungen oder Authentifizierungsprobleme mit klaren Anleitungen, z. B. zum Erhöhen der Berechtigungen oder zum Hinzufügen von Domains zur Whitelist.

Funktioniert mit✓Claude Code✓Codex CLI~Cursor
npx skills add https://github.com/PhuongDeveloper/landingpage/tree/HEAD/.agents/skills/deploy-to-vercel

In Ihrer bevorzugten KI fragen

Öffnet einen neuen Chat, in dem dieser Agent-Skill bereits geladen ist.

Dokumentation

Auf Vercel bereitstellen

Jedes Projekt auf Vercel bereitstellen. Immer als Vorschau bereitstellen (nicht als Produktion), es sei denn, der Benutzer verlangt explizit die Produktion.

Das Ziel ist es, den Benutzer in die beste langfristige Einrichtung zu bringen: sein Projekt mit Vercel verknüpft und mit Git-Push-Bereitstellungen. Jede Methode unten versucht, den Benutzer diesem Zustand näher zu bringen.

Schritt 1: Projektstatus sammeln

Führen Sie alle vier Prüfungen durch, bevor Sie sich für eine Methode entscheiden:

# 1. Nach einem Git-Remote suchen
git remote get-url origin 2>/dev/null

# 2. Prüfen, ob lokal mit einem Vercel-Projekt verknüpft (entweder Datei bedeutet verknüpft)
cat .vercel/project.json 2>/dev/null || cat .vercel/repo.json 2>/dev/null

# 3. Prüfen, ob die Vercel-CLI installiert und authentifiziert ist
vercel whoami 2>/dev/null

# 4. Verfügbare Teams auflisten (falls authentifiziert)
vercel teams list --format json 2>/dev/null

Teamauswahl

Wenn der Benutzer zu mehreren Teams gehört, präsentieren Sie alle verfügbaren Team-Slugs als Aufzählungsliste und fragen Sie, auf welches Team bereitgestellt werden soll. Sobald der Benutzer ein Team ausgewählt hat, fahren Sie sofort mit dem nächsten Schritt fort – fragen Sie nicht nach zusätzlicher Bestätigung.

Übergeben Sie den Team-Slug über --scope bei allen nachfolgenden CLI-Befehlen (vercel deploy, vercel link, vercel inspect usw.):

vercel deploy [pfad] -y --no-wait --scope <team-slug>

Wenn das Projekt bereits verknüpft ist (.vercel/project.json oder .vercel/repo.json existiert), bestimmt die orgId in diesen Dateien das Team – es muss nicht erneut gefragt werden. Wenn es nur ein Team (oder nur ein persönliches Konto) gibt, überspringen Sie die Eingabeaufforderung und verwenden Sie es direkt.

Über das Verzeichnis .vercel/: Ein verknüpftes Projekt hat entweder:

  • .vercel/project.json – erstellt durch vercel link (einfache Projektverknüpfung). Enthält projectId und orgId.
  • .vercel/repo.json – erstellt durch vercel link --repo (Repo-basierte Verknüpfung). Enthält orgId, remoteName und ein projects-Array, das Verzeichnisse Vercel-Projekt-IDs zuordnet.

Jede dieser Dateien bedeutet, dass das Projekt verknüpft ist. Prüfen Sie beide.

Verwenden Sie NICHT vercel project inspect, vercel ls oder vercel link, um den Status in einem nicht verknüpften Verzeichnis zu erkennen – ohne eine .vercel/-Konfiguration fragen sie interaktiv nach (oder verknüpfen mit --yes stillschweigend als Nebeneffekt). Nur vercel whoami kann sicher überall ausgeführt werden.

Schritt 2: Bereitstellungsmethode auswählen

Verknüpft (.vercel/ existiert) + hat Git-Remote → Git-Push

Dies ist der ideale Zustand. Das Projekt ist verknüpft und hat eine Git-Integration.

  1. Fragen Sie den Benutzer, bevor Sie pushen. Nie ohne explizite Zustimmung pushen:

    Dieses Projekt ist über Git mit Vercel verbunden. Ich kann committen und pushen,
    um eine Bereitstellung auszulösen. Möchten Sie fortfahren?
    
  2. Committen und pushen:

    git add .
    git commit -m "deploy: <Beschreibung der Änderungen>"
    git push
    

    Vercel erstellt automatisch aus dem Push. Nicht-Produktions-Branches erhalten Vorschau-Bereitstellungen; der Produktions-Branch (normalerweise main) erhält eine Produktions-Bereitstellung.

  3. Vorschau-URL abrufen. Wenn die CLI authentifiziert ist:

    sleep 5
    vercel ls --format json
    

    Die JSON-Ausgabe hat ein deployments-Array. Finden Sie den neuesten Eintrag – sein url-Feld ist die Vorschau-URL.

    Wenn die CLI nicht authentifiziert ist, sagen Sie dem Benutzer, er solle das Vercel-Dashboard oder die Commit-Statusprüfungen seines Git-Anbieters nach der Vorschau-URL durchsuchen.


Verknüpft (.vercel/ existiert) + kein Git-Remote → vercel deploy

Das Projekt ist verknüpft, aber es gibt kein Git-Repo. Direkt mit der CLI bereitstellen.

vercel deploy [pfad] -y --no-wait

Verwenden Sie --no-wait, damit die CLI sofort mit der Bereitstellungs-URL zurückkehrt, anstatt zu blockieren, bis der Build abgeschlossen ist (Builds können eine Weile dauern). Überprüfen Sie dann den Bereitstellungsstatus mit:

vercel inspect <bereitstellungs-url>

Für Produktions-Bereitstellungen (nur wenn der Benutzer explizit danach fragt):

vercel deploy [pfad] --prod -y --no-wait

Nicht verknüpft + CLI ist authentifiziert → Zuerst verknüpfen, dann bereitstellen

Die CLI funktioniert, aber das Projekt ist noch nicht verknüpft. Dies ist die Gelegenheit, den Benutzer in den besten Zustand zu bringen.

  1. Fragen Sie den Benutzer, auf welches Team bereitgestellt werden soll. Präsentieren Sie die Team-Slugs aus Schritt 1 als Aufzählungsliste. Wenn es nur ein Team (oder nur ein persönliches Konto) gibt, überspringen Sie diesen Schritt.

  2. Sobald ein Team ausgewählt ist, fahren Sie direkt mit der Verknüpfung fort. Sagen Sie dem Benutzer, was passieren wird, aber fragen Sie nicht nach separater Bestätigung:

    Verknüpfe dieses Projekt mit <Teamname> auf Vercel. Dadurch wird ein Vercel-Projekt
    erstellt, auf das bereitgestellt werden kann, und automatische Bereitstellungen bei zukünftigen
    Git-Pushes werden aktiviert.
    
  3. Wenn ein Git-Remote existiert, verwenden Sie die Repo-basierte Verknüpfung mit dem ausgewählten Team-Bereich:

    vercel link --repo --scope <team-slug>
    

    Dies liest die Git-Remote-URL und gleicht sie mit vorhandenen Vercel-Projekten ab, die von diesem Repo aus bereitstellen. Es erstellt .vercel/repo.json. Dies ist viel zuverlässiger als vercel link (ohne --repo), das versucht, nach Verzeichnisnamen zuzuordnen und oft fehlschlägt, wenn der lokale Ordner und das Vercel-Projekt unterschiedlich benannt sind.

    Wenn es keinen Git-Remote gibt, fallen Sie auf die Standardverknüpfung zurück:

    vercel link --scope <team-slug>
    

    Dies fordert den Benutzer auf, ein Projekt auszuwählen oder zu erstellen. Es erstellt .vercel/project.json.

  4. Dann mit der besten verfügbaren Methode bereitstellen:

    • Wenn ein Git-Remote existiert → committen und pushen (siehe Git-Push-Methode oben)
    • Wenn kein Git-Remote → vercel deploy [pfad] -y --no-wait --scope <team-slug>, dann vercel inspect <url> um den Status zu überprüfen

Nicht verknüpft + CLI nicht authentifiziert → Installieren, authentifizieren, verknüpfen, bereitstellen

Die Vercel-CLI ist überhaupt nicht eingerichtet.

  1. Installieren Sie die CLI (falls nicht bereits installiert):

    npm install -g vercel
    
  2. Authentifizieren:

    vercel login
    

    Der Benutzer schließt die Authentifizierung in seinem Browser ab. Wenn in einer nicht interaktiven Umgebung, in der eine Anmeldung nicht möglich ist, fahren Sie mit dem anmeldefreien Fallback unten fort.

  3. Fragen Sie, auf welches Team bereitgestellt werden soll – präsentieren Sie die Team-Slugs von vercel teams list --format json als Aufzählungsliste. Wenn nur ein Team / persönliches Konto vorhanden ist, überspringen Sie dies. Sobald ausgewählt, sofort fortfahren.

  4. Verknüpfen Sie das Projekt mit dem ausgewählten Team-Bereich (verwenden Sie --repo, wenn ein Git-Remote existiert, ansonsten einfaches vercel link):

    vercel link --repo --scope <team-slug>   # wenn Git-Remote existiert
    vercel link --scope <team-slug>          # wenn kein Git-Remote
    
  5. Bereitstellen mit der besten verfügbaren Methode (Git-Push, wenn Remote existiert, ansonsten vercel deploy -y --no-wait --scope <team-slug>, dann vercel inspect <url> um den Status zu überprüfen).


Anmeldefreier Fallback – claude.ai-Sandbox

Wann verwenden: Letzter Ausweg, wenn die CLI in der claude.ai-Sandbox nicht installiert oder authentifiziert werden kann. Dies erfordert keine Authentifizierung – es gibt eine Vorschau-URL (Live-Site) und eine Claim-URL (Übertragung auf Ihr Vercel-Konto) zurück.

bash /mnt/skills/user/deploy-to-vercel/resources/deploy.sh [pfad]

Argumente:

  • pfad - Zu deployendes Verzeichnis oder eine .tgz-Datei (standardmäßig aktuelles Verzeichnis)

Beispiele:

# Aktuelles Verzeichnis deployen
bash /mnt/skills/user/deploy-to-vercel/resources/deploy.sh

# Bestimmtes Projekt deployen
bash /mnt/skills/user/deploy-to-vercel/resources/deploy.sh /pfad/zum/projekt

# Vorhandenes Tarball deployen
bash /mnt/skills/user/deploy-to-vercel/resources/deploy.sh /pfad/zum/projekt.tgz

Das Skript erkennt das Framework automatisch aus package.json, packt das Projekt (ohne node_modules, .git, .env), lädt es hoch und wartet auf den Abschluss des Builds.

Sagen Sie dem Benutzer: "Ihre Bereitstellung ist bereit unter [previewUrl]. Beanspruchen Sie sie unter [claimUrl], um Ihre Bereitstellung zu verwalten."


Anmeldefreier Fallback – Codex-Sandbox

Wann verwenden: In der Codex-Sandbox, in der die CLI möglicherweise nicht authentifiziert ist. Codex läuft standardmäßig in einer abgesicherten Umgebung – versuchen Sie es zuerst mit der CLI und fallen Sie auf das Bereitstellungsskript zurück, wenn die Authentifizierung fehlschlägt.

  1. Prüfen, ob die Vercel-CLI installiert ist (für diese Prüfung ist keine Eskalation erforderlich):

    command -v vercel
    
  2. Wenn vercel installiert ist, versuchen Sie, mit der CLI bereitzustellen:

    vercel deploy [pfad] -y --no-wait
    
  3. Wenn vercel nicht installiert ist oder die CLI mit "No existing credentials found" fehlschlägt, verwenden Sie das Fallback-Skript:

    skill_dir="<pfad-zum-skill>"
    
    # Aktuelles Verzeichnis deployen
    bash "$skill_dir/resources/deploy-codex.sh"
    
    # Bestimmtes Projekt deployen
    bash "$skill_dir/resources/deploy-codex.sh" /pfad/zum/projekt
    
    # Vorhandenes Tarball deployen
    bash "$skill_dir/resources/deploy-codex.sh" /pfad/zum/projekt.tgz
    

Das Skript übernimmt Framework-Erkennung, Paketierung und Bereitstellung. Es wartet auf den Abschluss des Builds und gibt JSON mit previewUrl und claimUrl zurück.

Sagen Sie dem Benutzer: "Ihre Bereitstellung ist bereit unter [previewUrl]. Beanspruchen Sie sie unter [claimUrl], um Ihre Bereitstellung zu verwalten."

Erweiterter Netzwerkzugriff: Eskalieren Sie nur den eigentlichen Bereitstellungsbefehl, wenn die Sandbox den Netzwerkaufruf blockiert (sandbox_permissions=require_escalated). Eskalieren Sie nicht die command -v vercel-Prüfung.


Agent-spezifische Hinweise

Claude Code / Terminal-basierte Agenten

Sie haben vollen Shell-Zugriff. Verwenden Sie NICHT den Pfad /mnt/skills/. Folgen Sie dem Entscheidungsfluss oben mit der CLI direkt.

Für den anmeldefreien Fallback führen Sie das Bereitstellungsskript aus dem installierten Speicherort des Skills aus:

bash ~/.claude/skills/deploy-to-vercel/resources/deploy.sh [pfad]

Der Pfad kann variieren, je nachdem, wo der Benutzer den Skill installiert hat.

Sandbox-Umgebungen (claude.ai)

Sie können wahrscheinlich vercel login oder git push nicht ausführen. Gehen Sie direkt zum anmeldefreien Fallback – claude.ai-Sandbox.

Codex

Codex läuft in einer Sandbox. Prüfen Sie zuerst, ob die CLI verfügbar ist, und fallen Sie dann auf das Bereitstellungsskript zurück. Gehen Sie zum anmeldefreien Fallback – Codex-Sandbox.


Ausgabe

Zeigen Sie dem Benutzer immer die Bereitstellungs-URL.

  • Git-Push: Verwenden Sie vercel ls --format json, um die Vorschau-URL zu finden. Wenn die CLI nicht authentifiziert ist, sagen Sie dem Benutzer, er solle das Vercel-Dashboard oder die Commit-Statusprüfungen überprüfen.
  • CLI-Deploy: Zeigen Sie die von vercel deploy --no-wait zurückgegebene URL. Verwenden Sie vercel inspect <url>, um den Build-Status zu überprüfen und dem Benutzer zu melden.
  • Anmeldefreier Fallback: Zeigen Sie sowohl die Vorschau-URL als auch die Claim-URL:
    Bereitstellung erfolgreich!
    
    Vorschau-URL: https://my-app-abc123.vercel.app
    Claim-URL:    https://vercel.com/claim-deployment?code=...
    
    Sehen Sie sich Ihre Seite unter der Vorschau-URL an.
    Um diese Bereitstellung auf Ihr Vercel-Konto zu übertragen, besuchen Sie die Claim-URL.
    

Führen Sie kein Curl oder Fetch auf der bereitgestellten URL aus, um zu überprüfen, ob sie funktioniert. Geben Sie einfach den Link zurück.


Fehlerbehebung

Netzwerk-Egress-Fehler (claude.ai)

Wenn die Bereitstellung aufgrund von Netzwerkbeschränkungen auf claude.ai fehlschlägt, sagen Sie dem Benutzer:

Bereitstellung aufgrund von Netzwerkbeschränkungen fehlgeschlagen. So beheben Sie das Problem:

1. Gehen Sie zu https://claude.ai/settings/capabilities
2. Fügen Sie *.vercel.com zu den erlaubten Domains hinzu
3. Versuchen Sie die Bereitstellung erneut

Erweiterter Netzwerkzugriff (Codex / Sandbox-Umgebungen)

Wenn die Bereitstellung aufgrund von Netzwerkproblemen (Timeouts, DNS-Fehler, Verbindungsabbrüche) in einer Sandbox-Umgebung fehlschlägt, führen Sie sie mit erweiterten Berechtigungen erneut aus (sandbox_permissions=require_escalated). Eskalieren Sie nicht die erste Prüfung der CLI-Verfügbarkeit – eskalieren Sie nur den eigentlichen Bereitstellungsbefehl.

Beispielhinweis für den Benutzer:

Die Bereitstellung benötigt erweiterten Netzwerkzugriff, um auf Vercel bereitzustellen.
Ich kann den Befehl mit erweiterten Berechtigungen erneut ausführen – möchten Sie fortfahren?

CLI-Authentifizierungsfehler

Wenn vercel login oder vercel deploy mit Authentifizierungsfehlern fehlschlägt, fallen Sie auf das anmeldefreie Bereitstellungsskript zurück (claude.ai- oder Codex-Variante, je nach Umgebung).

Individual skills in this repo

This repo contains 4 individual skills — each has its own dedicated page.

PhuongDeveloper/landingpage

Postgres best practices maintained by Supabase, for Postgres running anywhere. Load this skill BEFORE writing or changing anything that lives in a Postgres database: creating or altering tables and columns (including choosing column types), schema design, migrations and declarative schema files, RLS policies and the tests that verify them, indexes, triggers, database functions, queues and scheduled jobs (pg_cron, pgmq), vector/semantic search (pgvector), and restoring dumps (pg_restore) or importing data. Also load it when diagnosing slow queries, high CPU, timeouts, EXPLAIN plans, connection exhaustion, locking, bloat, or rows visible to the wrong user or tenant. This is not just a performance guide — schema, migration, security, and SQL authoring tasks need these rules too, even for a one-column change or a single query.

PhuongDeveloper/landingpage

Use when doing ANY task involving Supabase. Triggers: Supabase products (Database, Auth, Edge Functions, Realtime, Storage, Vectors, Cron, Queues); client libraries and SSR integrations (supabase-js, @supabase/ssr) in Next.js, React, SvelteKit, Astro, Remix; auth issues (login, logout, sessions, JWT, cookies, getSession, getUser, getClaims, RLS); Supabase CLI or MCP server; schema changes, migrations, declarative schemas, security audits, Postgres extensions (pg_graphql, pg_cron, pg_vector); debugging and troubleshooting errors or unexpected behavior on Supabase projects (HTTP errors, Postgres errors, RLS surprises, permission denied, schema cache issues, timeouts, Edge Function crashes, Realtime drops, Storage failures) and reading or querying logs (Logs Explorer, ClickHouse).

PhuongDeveloper/landingpage

Deploy and manage projects on Vercel using token-based authentication. Use when working with Vercel CLI using access tokens rather than interactive login — e.g. "deploy to vercel", "set up vercel", "add environment variables to vercel".

PhuongDeveloper/landingpage

React composition patterns that scale. Use when refactoring components with boolean prop proliferation, building flexible component libraries, or designing reusable APIs. Triggers on tasks involving compound components, render props, context providers, or component architecture. Includes React 19 API changes.

Verwandte Skills