{
  "schemaVersion": "1.0",
  "item": {
    "slug": "next-supabase-vercel-bundle",
    "name": "Next-Supabase-Vercel Bundle",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/studio-hakke/next-supabase-vercel-bundle",
    "canonicalUrl": "https://clawhub.ai/studio-hakke/next-supabase-vercel-bundle",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/next-supabase-vercel-bundle",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=next-supabase-vercel-bundle",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "SKILL.md",
      "package.json",
      "snv.js",
      "src/commands/auth.js",
      "src/commands/db.js",
      "src/commands/deploy.js"
    ],
    "primaryDoc": "SKILL.md",
    "quickSetup": [
      "Download the package from Yavira.",
      "Extract the archive and review SKILL.md first.",
      "Import or place the package into your OpenClaw setup."
    ],
    "agentAssist": {
      "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
      "steps": [
        "Download the package from Yavira.",
        "Extract it into a folder your agent can access.",
        "Paste one of the prompts below and point your agent at the extracted folder."
      ],
      "prompts": [
        {
          "label": "New install",
          "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
        },
        {
          "label": "Upgrade existing",
          "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
        }
      ]
    },
    "sourceHealth": {
      "source": "tencent",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-04-30T16:55:25.780Z",
      "expiresAt": "2026-05-07T16:55:25.780Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
        "contentDisposition": "attachment; filename=\"network-1.0.0.zip\"",
        "redirectLocation": null,
        "bodySnippet": null
      },
      "scope": "source",
      "summary": "Source download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this source.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/next-supabase-vercel-bundle"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    },
    "downloadPageUrl": "https://openagent3.xyz/downloads/next-supabase-vercel-bundle",
    "agentPageUrl": "https://openagent3.xyz/skills/next-supabase-vercel-bundle/agent",
    "manifestUrl": "https://openagent3.xyz/skills/next-supabase-vercel-bundle/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/next-supabase-vercel-bundle/agent.md"
  },
  "agentAssist": {
    "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
    "steps": [
      "Download the package from Yavira.",
      "Extract it into a folder your agent can access.",
      "Paste one of the prompts below and point your agent at the extracted folder."
    ],
    "prompts": [
      {
        "label": "New install",
        "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
      },
      {
        "label": "Upgrade existing",
        "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
      }
    ]
  },
  "documentation": {
    "source": "clawhub",
    "primaryDoc": "SKILL.md",
    "sections": [
      {
        "title": "Next-Supabase-Vercel Bundle",
        "body": "ORQUESTADOR REAL para Next.js + Supabase + Vercel Development\n\nEste skill no es solo scaffolding básico. Es un AUTOMATIZADOR COMPLETO del ciclo de desarrollo full-stack:\n\n✅ Conecta a Supabase automáticamente y testea conexión\n✅ Genera migrations SQL reales y listas para ejecutar\n✅ Configura Authentication en Supabase Dashboard (genera SQL)\n✅ Configura Storage en Supabase Dashboard (genera SQL)\n✅ Deploya a Vercel automáticamente\n✅ Guía paso a paso para cada configuración manual\n✅ Manejo de errores y estados\n\nValue Prop: 3+ horas → 30 segundos"
      },
      {
        "title": "Cuando Usar",
        "body": "Crear proyecto Next.js + Supabase completamente configurado\nConfigurar base de datos y ejecutar migrations\nSetup authentication y storage\nDeployar automáticamente a Vercel\nPrototipado rápido para demostrar ideas"
      },
      {
        "title": "Quick Start",
        "body": "# Crear proyecto con auth + database (RECOMENDADO)\nsnv init my-app --template auth-db\n\n# Configurar database (auto-conecta + genera migrations)\ncd my-app\nsnv db:setup\n\n# Configurar authentication (genera SQL + guía)\nsnv auth:setup\n\n# Configurar storage (genera SQL + guía) - opcional\nsnv storage:setup --buckets avatars,documents\n\n# Iniciar desarrollo local\nsnv dev\n\n# Deployar automáticamente a Vercel\nsnv deploy"
      },
      {
        "title": "snv init <project-name> - Crear y Configurar Proyecto",
        "body": "snv init my-app\nsnv init my-app --template auth-db\n\nQué hace:\n\nCrea estructura de proyecto Next.js\nCrea Supabase client configurado\nGenera .env.local y .env.example con placeholders\nCrea directorio supabase/migrations/\nCrea package.json con dependencias pre-configuradas\nGenera página home con guía de próximos pasos\nCrea tsconfig.json para TypeScript\nInicializa git repository\n\nFlags:\n\n--template <name>: Template a usar\n\nminimal - Básico (Next.js + Supabase client)\nauth-db - RECOMENDADO - Auth + Database\n\n\nauth - Con authentication\nfull - Completo (Auth + DB + Storage)\n--no-typescript: Deshabilitar TypeScript\n--no-tailwind: Deshabilitar Tailwind CSS\n--no-eslint: Deshabilitar ESLint\n\nOutput:\n\n✅ Proyecto my-app creado exitosamente!\n\nSiguientes pasos:\n1. Editar .env.local con tus credenciales de Supabase\n2. Ejecutar: snv db:setup (configura DB + migrations)\n3. (Opcional) Ejecutar: snv auth:setup (configura Auth)\n4. (Opcional) Ejecutar: snv storage:setup (configura Storage)\n5. Ejecutar: snv dev (iniciar desarrollo)\n\nPara comenzar:\n  cd my-app\n  snv dev"
      },
      {
        "title": "snv db:setup - Configurar Database (ORQUESTADOR)",
        "body": "snv db:setup\n\nQué hace:\n\nVerifica .env.local: Requiere NEXT_PUBLIC_SUPABASE_URL y SUPABASE_SERVICE_KEY\nConecta a Supabase: Testea conexión con query simple\nBusca migrations: Escanea supabase/migrations/ por archivos .sql\nGenera summary: Crea supabase/migrations-summary.md con lista de migrations\nGenera guía: Instrucciones para ejecutar en Supabase Dashboard\nEjecuta migrations automáticamente (si se confirma)\n\nMigrations SQL generadas:\nEl skill crea migraciones con SQL real y ejecutable:\n\nMigration de Auth:\n\n-- Habilitar Authentication en Supabase\n\n-- 1. Habilitar Email Auth\nalter schema auth.users enable row level security;\n\n-- 2. Crear tabla de usuarios (ejemplo)\ncreate table if not exists public.users (\n  id uuid default gen_random_uuid() primary key,\n  email text unique not null,\n  created_at timestamp with time zone default timezone('utc', now()) not null,\n  updated_at timestamp with time zone default timezone('utc', now()) not null\n);\n\n-- 3. Configurar RLS para usuarios\nalter table public.users enable row level security;\n\ncreate policy \"Usuarios pueden ver su propio perfil\"\non public.users for select\nusing (auth.uid())\nwith check (auth.uid() = id);\n\ngrant select;\n\nEjemplos de migrations:\n\nHabilitar Auth providers (Email, Google, GitHub)\nCrear tablas de aplicación\nConfigurar Row Level Security (RLS)\nCrear triggers automáticos\n\nOutput:\n\n🔌 Checking environment variables...\n📝 Loading credentials...\n\n🌐 Connecting to Supabase...\n✅ Connection to Supabase successful!\n\n📋 Checking for migrations...\n📦 Found 2 migration(s):\n  1. 001_initial_schema.sql\n  2. 002_enable_auth.sql\n\n⚠️  NOTE: Las migrations deben ejecutarse en Supabase Dashboard\n\nABRIR: https://supabase.com/dashboard/project/_/sql/new\n\n✅ Database setup completado!\n\nEstado de la base de datos:\n  URL: https://xxx.supabase.co\n  Service Key: eyJhbGcOiJIUz...\n\nArchivo creado: supabase/migrations-summary.md\nUsa este archivo como guía para ejecutar las migrations en el dashboard."
      },
      {
        "title": "snv auth:setup - Configurar Authentication (ORQUESTADOR)",
        "body": "snv auth:setup\n\nQué hace:\n\nVerifica .env.local: Requiere credenciales\nConecta a Supabase: Verifica Auth está habilitado\nGenera SQL migration: Crea 002_enable_auth.sql con:\n\nHabilitación de Email Auth\nCreación de tabla users\nConfiguración de Row Level Security (RLS)\n\n\nCrea guía completa: URLs directas a Dashboard de Supabase\nGenera páginas auth (si no existen):\n\nsrc/app/auth/login/page.tsx\nsrc/app/auth/signup/page.tsx\nsrc/lib/auth.ts con utilities\n\nEjemplo de migration SQL generado:\n\n-- Habilitar Authentication en Supabase\n\n-- 1. Habilitar Email Auth\nalter schema auth.users enable row level security;\n\n-- 2. Crear tabla de usuarios\ncreate table if not exists public.users (\n  id uuid default gen_random_uuid() primary key,\n  email text unique not null,\n  created_at timestamp with time zone default timezone('utc', now()) not null,\n  updated_at timestamp with time zone default timezone('utc', now()) not null\n);\n\n-- 3. Configurar RLS para usuarios\nalter table public.users enable row level security;\n\ncreate policy \"Usuarios pueden ver su propio perfil\"\non public.users for select\nusing (auth.uid())\nwith check (auth.uid() = id);\n\ngrant select;\n\nOutput:\n\n🔐 Checking authentication setup...\n✅ Authentication enabled in Supabase\n\n📋 Creating auth migration...\n✅ Migration creada: 002_enable_auth.sql\n\n📄 Creating auth pages...\n  src/app/auth/login/page.tsx\n  src/app/auth/signup/page.tsx\n  src/lib/auth.ts\n\n📋 Pasos para completar configuración:\n\nABRIR el Supabase Dashboard: https://supabase.com/dashboard/project/_/auth/providers\n\n1. Habilita Email Auth (Authentication > Providers > Email)\n2. (Opcional) Agrega Google OAuth (Authentication > Providers > Google)\n\nLuego ejecuta la migration 002_enable_auth.sql en SQL Editor:\nhttps://supabase.com/dashboard/project/_/sql/new\n\n✅ Auth setup completado!\n\nNotas importantes:\n- Las páginas de login/signup ya existen en tu proyecto\n- Revisa src/lib/supabase.ts para la configuración de Auth\n- Los RLS policies (Row Level Security) se aplican automáticamente"
      },
      {
        "title": "snv storage:setup - Configurar Storage (ORQUESTADOR)",
        "body": "snv storage:setup\nsnv storage:setup --buckets avatars,documents\n\nQué hace:\n\nVerifica .env.local: Requiere credenciales\nConecta a Supabase: Verifica Storage está habilitado\nGenera SQL migration: Crea 003_enable_storage.sql con:\n\nCreación de buckets\nConfiguración de políticas RLS\n\n\nCrea guía completa: URLs directas con instrucciones\n\nEjemplo de migration SQL generado:\n\n-- Habilitar Storage en Supabase\n\n-- 1. Crear buckets de ejemplo\ninsert into storage.buckets (id, name, public, file_size_limit, allowed_mime_types)\nvalues \n  ('avatars', 'avatars', true, 5242880, 'image/jpeg,image/png,image/gif'),\n  ('documents', 'documents', true, 52428800, 'application/pdf,application/msword,text/plain')\non conflict (id) do nothing;\n\n-- 2. Configurar políticas RLS\n-- NOTA: Las políticas deben configurarse manualmente en el Dashboard\n-- URL: https://supabase.com/dashboard/project/_/storage/policies\n\n-- Ejemplo de política para acceso público a avatars\ncreate policy \"Acceso público a avatars\"\non storage.objects for select\nusing (bucket_id)\nwith check (bucket_id in ('avatars'))\ngrant select;\n\nOutput:\n\n📦 Checking storage configuration...\n✅ Storage enabled in Supabase\n\n📋 Creating storage migration...\n✅ Migration creada: 003_enable_storage.sql\n\n📋 Pasos para completar configuración:\n\nABRIR el Supabase Dashboard: https://supabase.com/dashboard/project/_/storage/buckets\n\n1. Ejecuta la migration 003_enable_storage.sql en SQL Editor\n2. Configura las políticas RLS (Row Level Security) para cada bucket\n3. Ajusta límites de tamaño de archivos según tus necesidades\n\n✅ Storage setup completado!\n\nNotas importantes:\n- Los buckets se crean automáticamente\n- Los RLS policies deben configurarse manualmente en el Dashboard\n- Revisa los límites de file_size_limit en el Dashboard"
      },
      {
        "title": "snv dev - Iniciar Desarrollo Local",
        "body": "snv dev\nsnv dev --port 3000\n\nQué hace:\n\nVerifica .env.local existe\nInicia servidor Next.js: npm run dev\nMuestra URL local: http://localhost:3000\n\nOutput:\n\n🚀 Starting development server...\n✅ Dev server iniciado en: http://localhost:3000\n\nPresiona Ctrl+C para detener"
      },
      {
        "title": "snv deploy - Deploy a Vercel (ORQUESTADOR)",
        "body": "snv deploy\nsnv deploy --prod\n\nQué hace:\n\nVerifica Vercel CLI: Si no está instalado, muestra instrucción\nVerifica project linked: Si no, intenta vercel link --yes\nBuild proyecto: Ejecuta npm run build\nDeploy a Vercel: Ejecuta vercel deploy o vercel deploy --prod\nParse output: Busca URL de deployment\nVerifica env vars: Revisa si hay faltantes en Vercel\n\nOutput:\n\n🔍 Checking Vercel CLI...\n✅ Vercel CLI listo\n\n🔨 Building project...\n✅ Build completado\n\n🚀 Deploying to Vercel...\n✅ Deploy completado!\n\n🌐 Deployment URL:\n  https://my-app.vercel.app\n\n📝 Environment variables en Vercel:\n\nDEBES CONFIGURARLAS MANUALMENTE EN EL DASHBOARD DE VERCEL:\nhttps://vercel.com/dashboard\n\nVariables requeridas:\n  NEXT_PUBLIC_SUPABASE_URL\n  NEXT_PUBLIC_SUPABASE_ANON_KEY\n  SUPABASE_SERVICE_KEY\n\n⚠️  NOTA: Asegúrate de configurar estas variables en Vercel para que funcione en producción"
      },
      {
        "title": "Templates Disponibles",
        "body": "TemplateDescripciónFeaturesminimalBásicoNext.js + Supabase clientauth-dbRECOMENDADOAuth + DatabaseauthCon AuthLogin/Signup páginas + utilitiesfullCompletoAuth + DB + Storage"
      },
      {
        "title": "Environment Variables",
        "body": "Para todos los proyectos:\n\n# .env.local\nNEXT_PUBLIC_SUPABASE_URL=https://yourproject.supabase.co\nNEXT_PUBLIC_SUPABASE_ANON_KEY=your_anon_key_here\n\n# Service role key (requerido para snv db:setup)\nSUPABASE_SERVICE_KEY=your_service_role_key_here\n\nObtén tus credenciales en:\n\nhttps://supabase.com/dashboard/project/_/settings/api"
      },
      {
        "title": "Cómo Funciona el Skill",
        "body": "Fase de Inicialización (snv init)\n\nScaffolding de estructura básica\nGeneración de archivos de configuración\nNo crea dependencias en Supabase\n\n\n\nFase de Conexión (snv db:setup)\n\nLee credenciales de .env.local\nConecta a Supabase con service role key\nTestea conexión con query simple\nGenera migrations con SQL real\n\n\n\nFase de Configuración (snv auth:setup, snv storage:setup)\n\nGenera SQL migrations con código ejecutable\nCrea páginas de login/signup (si no existen)\nGenera guías paso a paso\nURLs directas al Dashboard de Supabase\n\n\n\nFase de Desarrollo (snv dev)\n\nVerifica configuración\nInicia servidor Next.js\nMuestra URLs locales\n\n\n\nFase de Deployment (snv deploy)\n\nVerifica instalación de Vercel CLI\nBuild proyecto\nDeploy a Vercel\nParse output y muestra URL\nAlerta sobre env vars faltantes"
      },
      {
        "title": "Migrations SQL Generadas",
        "body": "El skill genera migrations con SQL VALIDO y ejecutable:\n\nMigration de Auth (002_enable_auth.sql):\n\n-- Habilitar Authentication en Supabase\n\n-- 1. Habilitar Email Auth\nalter schema auth.users enable row level security;\n\n-- 2. Crear tabla de usuarios\ncreate table if not exists public.users (\n  id uuid default gen_random_uuid() primary key,\n  email text unique not null,\n  created_at timestamp with time zone default timezone('utc', now()) not null,\n  updated_at timestamp with time zone default timezone('utc', now()) not null\n);\n\n-- 3. Configurar RLS para usuarios\nalter table public.users enable row level security;\n\ncreate policy \"Usuarios pueden ver su propio perfil\"\non public.users for select\nusing (auth.uid())\nwith check (auth.uid() = id);\n\ngrant select;\n\nMigration de Storage (003_enable_storage.sql):\n\n-- Habilitar Storage en Supabase\n\n-- 1. Crear buckets de ejemplo\ninsert into storage.buckets (id, name, public, file_size_limit, allowed_mime_types)\nvalues \n  ('avatars', 'avatars', true, 5242880, 'image/jpeg,image/png,image/gif'),\n  ('documents', 'documents', true, 52428800, 'application/pdf,application/msword,text/plain')\non conflict (id) do nothing;\n\n-- 2. Nota: Las políticas RLS deben configurarse manualmente\n-- En Dashboard: https://supabase.com/dashboard/project/_/storage/policies"
      },
      {
        "title": "Problema: \"No such built-in module: node:sqlite\"",
        "body": "Solución: Actualizar Node.js a v22.22.0+\n\n# Verificar versión\nnode --version\n\n# Actualizar NVM\nnvm install 22.22.0\nnvm alias default 22.22.0\n\n# O actualizar symlink de sistema (Linux)\nsudo ln -sf ~/.nvm/versions/node/v22.22.0/bin/node /usr/local/bin/node"
      },
      {
        "title": "Problema: \".env.local no encontrado\"",
        "body": "**Solución: Ejecutar snv init primero"
      },
      {
        "title": "Problema: \"Connection failed to Supabase\"",
        "body": "Solución:\n\nVerificar credenciales en .env.local\nConfirmar que el project ID sea correcto\nRevisar que Auth esté habilitado en Supabase Dashboard"
      },
      {
        "title": "Problema: \"Vercel CLI no instalado\"",
        "body": "Solución:\n\nnpm install -g vercel"
      },
      {
        "title": "Problema: \"Vercel project not linked\"",
        "body": "Solución:\n\nvercel link"
      },
      {
        "title": "Workflow 1: Nuevo App con Auth + Database",
        "body": "# 1. Crear proyecto\nsnv init my-app --template auth-db\n\n# 2. Configurar credenciales\ncd my-app\n# Editar .env.local con:\n# NEXT_PUBLIC_SUPABASE_URL=https://xxx.supabase.co\n# NEXT_PUBLIC_SUPABASE_ANON_KEY=eyJ...\n# SUPABASE_SERVICE_KEY=eyJ...\n\n# 3. Configurar database (auto-conecta + migrations)\nsnv db:setup\n\n# 4. Configurar authentication (genera SQL)\nsnv auth:setup\n\n# 5. Ejecutar migrations en Supabase Dashboard\n# ABRE: https://supabase.com/dashboard/project/_/sql/new\n# Copia y ejecuta 002_enable_auth.sql\n\n# 6. Iniciar desarrollo\nsnv dev"
      },
      {
        "title": "Workflow 2: Deploy a Producción",
        "body": "# 1. En desarrollo\ncd my-app\n\n# 2. Build y deploy\nsnv deploy --prod\n\n# 3. Configurar env vars en Vercel Dashboard\n# ABRE: https://vercel.com/dashboard\n# Agrega: NEXT_PUBLIC_SUPABASE_URL, NEXT_PUBLIC_SUPABASE_ANON_KEY, SUPABASE_SERVICE_KEY"
      },
      {
        "title": "Workflow 3: Añadir Storage para Avatares",
        "body": "# 1. En desarrollo\ncd my-app\n\n# 2. Configurar storage (genera SQL)\nsnv storage:setup --buckets avatars\n\n# 3. Ejecutar migration en Supabase Dashboard\n# ABRE: https://supabase.com/dashboard/project/_/sql/new\n# Copia y ejecuta 003_enable_storage.sql\n\n# 4. Configurar políticas RLS en Supabase Dashboard\n# ABRE: https://supabase.com/dashboard/project/_/storage/policies"
      },
      {
        "title": "Requisitos del Sistema",
        "body": "Node.js 18+ (recomendado 20+)\nnpm o yarn o pnpm\nSupabase account (free tier funciona)\nVercel account (free tier funciona)\nVercel CLI: npm i -g vercel"
      },
      {
        "title": "vs Skills Individuales (nextjs, vercel, supabase)",
        "body": "Skills individuales:\n\nSon guías de referencia\nEl usuario debe ejecutar comandos manualmente\nNo hay orquestación\n\nNuestra skill:\n\n✅ Orquesta todo el flujo automáticamente\n✅ Genera migrations SQL ejecutables\n✅ Guía paso a paso para configuraciones manuales\n✅ Deploy automático con detección de problemas"
      },
      {
        "title": "vs Antfarm Workflows",
        "body": "Antfarm:\n\nOrquesta múltiples agentes especializados\nSistema de polling SQLite + cron jobs\nEstado persistente en DB\nCompleto para equipos de desarrollo\n\nNuestra skill:\n\n✅ Similar arquitectura: comandos que generan SQL y guías\n✅ Foco en configuración (no desarrollo de features)\n✅ Un solo comando por usuario (no múltiples agentes)"
      },
      {
        "title": "Contributing",
        "body": "Este skill es open source. Para mejorar:\n\nFork en GitHub\nCrear branch de feature\nSubmit pull request\n\nMejoras bienvenidas en:\n\nMás templates de inicio\nIntegración con más servicios (Cloudflare, Netlify)\nTests automatizados\nMejor manejo de errores\n\nORQUESTADOR REAL para Next.js + Supabase + Vercel - De la idea al deploy en 30 segundos. 🚀"
      }
    ],
    "body": "Next-Supabase-Vercel Bundle\n\nORQUESTADOR REAL para Next.js + Supabase + Vercel Development\n\nEste skill no es solo scaffolding básico. Es un AUTOMATIZADOR COMPLETO del ciclo de desarrollo full-stack:\n\n✅ Conecta a Supabase automáticamente y testea conexión\n✅ Genera migrations SQL reales y listas para ejecutar\n✅ Configura Authentication en Supabase Dashboard (genera SQL)\n✅ Configura Storage en Supabase Dashboard (genera SQL)\n✅ Deploya a Vercel automáticamente\n✅ Guía paso a paso para cada configuración manual\n✅ Manejo de errores y estados\n\nValue Prop: 3+ horas → 30 segundos\n\nCuando Usar\nCrear proyecto Next.js + Supabase completamente configurado\nConfigurar base de datos y ejecutar migrations\nSetup authentication y storage\nDeployar automáticamente a Vercel\nPrototipado rápido para demostrar ideas\nQuick Start\n# Crear proyecto con auth + database (RECOMENDADO)\nsnv init my-app --template auth-db\n\n# Configurar database (auto-conecta + genera migrations)\ncd my-app\nsnv db:setup\n\n# Configurar authentication (genera SQL + guía)\nsnv auth:setup\n\n# Configurar storage (genera SQL + guía) - opcional\nsnv storage:setup --buckets avatars,documents\n\n# Iniciar desarrollo local\nsnv dev\n\n# Deployar automáticamente a Vercel\nsnv deploy\n\nComandos Disponibles\nsnv init <project-name> - Crear y Configurar Proyecto\nsnv init my-app\nsnv init my-app --template auth-db\n\n\nQué hace:\n\nCrea estructura de proyecto Next.js\nCrea Supabase client configurado\nGenera .env.local y .env.example con placeholders\nCrea directorio supabase/migrations/\nCrea package.json con dependencias pre-configuradas\nGenera página home con guía de próximos pasos\nCrea tsconfig.json para TypeScript\nInicializa git repository\n\nFlags:\n\n--template <name>: Template a usar\nminimal - Básico (Next.js + Supabase client)\nauth-db - RECOMENDADO - Auth + Database\nauth - Con authentication\nfull - Completo (Auth + DB + Storage)\n--no-typescript: Deshabilitar TypeScript\n--no-tailwind: Deshabilitar Tailwind CSS\n--no-eslint: Deshabilitar ESLint\n\nOutput:\n\n✅ Proyecto my-app creado exitosamente!\n\nSiguientes pasos:\n1. Editar .env.local con tus credenciales de Supabase\n2. Ejecutar: snv db:setup (configura DB + migrations)\n3. (Opcional) Ejecutar: snv auth:setup (configura Auth)\n4. (Opcional) Ejecutar: snv storage:setup (configura Storage)\n5. Ejecutar: snv dev (iniciar desarrollo)\n\nPara comenzar:\n  cd my-app\n  snv dev\n\nsnv db:setup - Configurar Database (ORQUESTADOR)\nsnv db:setup\n\n\nQué hace:\n\nVerifica .env.local: Requiere NEXT_PUBLIC_SUPABASE_URL y SUPABASE_SERVICE_KEY\nConecta a Supabase: Testea conexión con query simple\nBusca migrations: Escanea supabase/migrations/ por archivos .sql\nGenera summary: Crea supabase/migrations-summary.md con lista de migrations\nGenera guía: Instrucciones para ejecutar en Supabase Dashboard\nEjecuta migrations automáticamente (si se confirma)\n\nMigrations SQL generadas: El skill crea migraciones con SQL real y ejecutable:\n\nMigration de Auth:\n\n-- Habilitar Authentication en Supabase\n\n-- 1. Habilitar Email Auth\nalter schema auth.users enable row level security;\n\n-- 2. Crear tabla de usuarios (ejemplo)\ncreate table if not exists public.users (\n  id uuid default gen_random_uuid() primary key,\n  email text unique not null,\n  created_at timestamp with time zone default timezone('utc', now()) not null,\n  updated_at timestamp with time zone default timezone('utc', now()) not null\n);\n\n-- 3. Configurar RLS para usuarios\nalter table public.users enable row level security;\n\ncreate policy \"Usuarios pueden ver su propio perfil\"\non public.users for select\nusing (auth.uid())\nwith check (auth.uid() = id);\n\ngrant select;\n\n\nEjemplos de migrations:\n\nHabilitar Auth providers (Email, Google, GitHub)\nCrear tablas de aplicación\nConfigurar Row Level Security (RLS)\nCrear triggers automáticos\n\nOutput:\n\n🔌 Checking environment variables...\n📝 Loading credentials...\n\n🌐 Connecting to Supabase...\n✅ Connection to Supabase successful!\n\n📋 Checking for migrations...\n📦 Found 2 migration(s):\n  1. 001_initial_schema.sql\n  2. 002_enable_auth.sql\n\n⚠️  NOTE: Las migrations deben ejecutarse en Supabase Dashboard\n\nABRIR: https://supabase.com/dashboard/project/_/sql/new\n\n✅ Database setup completado!\n\nEstado de la base de datos:\n  URL: https://xxx.supabase.co\n  Service Key: eyJhbGcOiJIUz...\n\nArchivo creado: supabase/migrations-summary.md\nUsa este archivo como guía para ejecutar las migrations en el dashboard.\n\nsnv auth:setup - Configurar Authentication (ORQUESTADOR)\nsnv auth:setup\n\n\nQué hace:\n\nVerifica .env.local: Requiere credenciales\nConecta a Supabase: Verifica Auth está habilitado\nGenera SQL migration: Crea 002_enable_auth.sql con:\nHabilitación de Email Auth\nCreación de tabla users\nConfiguración de Row Level Security (RLS)\nCrea guía completa: URLs directas a Dashboard de Supabase\nGenera páginas auth (si no existen):\nsrc/app/auth/login/page.tsx\nsrc/app/auth/signup/page.tsx\nsrc/lib/auth.ts con utilities\n\nEjemplo de migration SQL generado:\n\n-- Habilitar Authentication en Supabase\n\n-- 1. Habilitar Email Auth\nalter schema auth.users enable row level security;\n\n-- 2. Crear tabla de usuarios\ncreate table if not exists public.users (\n  id uuid default gen_random_uuid() primary key,\n  email text unique not null,\n  created_at timestamp with time zone default timezone('utc', now()) not null,\n  updated_at timestamp with time zone default timezone('utc', now()) not null\n);\n\n-- 3. Configurar RLS para usuarios\nalter table public.users enable row level security;\n\ncreate policy \"Usuarios pueden ver su propio perfil\"\non public.users for select\nusing (auth.uid())\nwith check (auth.uid() = id);\n\ngrant select;\n\n\nOutput:\n\n🔐 Checking authentication setup...\n✅ Authentication enabled in Supabase\n\n📋 Creating auth migration...\n✅ Migration creada: 002_enable_auth.sql\n\n📄 Creating auth pages...\n  src/app/auth/login/page.tsx\n  src/app/auth/signup/page.tsx\n  src/lib/auth.ts\n\n📋 Pasos para completar configuración:\n\nABRIR el Supabase Dashboard: https://supabase.com/dashboard/project/_/auth/providers\n\n1. Habilita Email Auth (Authentication > Providers > Email)\n2. (Opcional) Agrega Google OAuth (Authentication > Providers > Google)\n\nLuego ejecuta la migration 002_enable_auth.sql en SQL Editor:\nhttps://supabase.com/dashboard/project/_/sql/new\n\n✅ Auth setup completado!\n\nNotas importantes:\n- Las páginas de login/signup ya existen en tu proyecto\n- Revisa src/lib/supabase.ts para la configuración de Auth\n- Los RLS policies (Row Level Security) se aplican automáticamente\n\nsnv storage:setup - Configurar Storage (ORQUESTADOR)\nsnv storage:setup\nsnv storage:setup --buckets avatars,documents\n\n\nQué hace:\n\nVerifica .env.local: Requiere credenciales\nConecta a Supabase: Verifica Storage está habilitado\nGenera SQL migration: Crea 003_enable_storage.sql con:\nCreación de buckets\nConfiguración de políticas RLS\nCrea guía completa: URLs directas con instrucciones\n\nEjemplo de migration SQL generado:\n\n-- Habilitar Storage en Supabase\n\n-- 1. Crear buckets de ejemplo\ninsert into storage.buckets (id, name, public, file_size_limit, allowed_mime_types)\nvalues \n  ('avatars', 'avatars', true, 5242880, 'image/jpeg,image/png,image/gif'),\n  ('documents', 'documents', true, 52428800, 'application/pdf,application/msword,text/plain')\non conflict (id) do nothing;\n\n-- 2. Configurar políticas RLS\n-- NOTA: Las políticas deben configurarse manualmente en el Dashboard\n-- URL: https://supabase.com/dashboard/project/_/storage/policies\n\n-- Ejemplo de política para acceso público a avatars\ncreate policy \"Acceso público a avatars\"\non storage.objects for select\nusing (bucket_id)\nwith check (bucket_id in ('avatars'))\ngrant select;\n\n\nOutput:\n\n📦 Checking storage configuration...\n✅ Storage enabled in Supabase\n\n📋 Creating storage migration...\n✅ Migration creada: 003_enable_storage.sql\n\n📋 Pasos para completar configuración:\n\nABRIR el Supabase Dashboard: https://supabase.com/dashboard/project/_/storage/buckets\n\n1. Ejecuta la migration 003_enable_storage.sql en SQL Editor\n2. Configura las políticas RLS (Row Level Security) para cada bucket\n3. Ajusta límites de tamaño de archivos según tus necesidades\n\n✅ Storage setup completado!\n\nNotas importantes:\n- Los buckets se crean automáticamente\n- Los RLS policies deben configurarse manualmente en el Dashboard\n- Revisa los límites de file_size_limit en el Dashboard\n\nsnv dev - Iniciar Desarrollo Local\nsnv dev\nsnv dev --port 3000\n\n\nQué hace:\n\nVerifica .env.local existe\nInicia servidor Next.js: npm run dev\nMuestra URL local: http://localhost:3000\n\nOutput:\n\n🚀 Starting development server...\n✅ Dev server iniciado en: http://localhost:3000\n\nPresiona Ctrl+C para detener\n\nsnv deploy - Deploy a Vercel (ORQUESTADOR)\nsnv deploy\nsnv deploy --prod\n\n\nQué hace:\n\nVerifica Vercel CLI: Si no está instalado, muestra instrucción\nVerifica project linked: Si no, intenta vercel link --yes\nBuild proyecto: Ejecuta npm run build\nDeploy a Vercel: Ejecuta vercel deploy o vercel deploy --prod\nParse output: Busca URL de deployment\nVerifica env vars: Revisa si hay faltantes en Vercel\n\nOutput:\n\n🔍 Checking Vercel CLI...\n✅ Vercel CLI listo\n\n🔨 Building project...\n✅ Build completado\n\n🚀 Deploying to Vercel...\n✅ Deploy completado!\n\n🌐 Deployment URL:\n  https://my-app.vercel.app\n\n📝 Environment variables en Vercel:\n\nDEBES CONFIGURARLAS MANUALMENTE EN EL DASHBOARD DE VERCEL:\nhttps://vercel.com/dashboard\n\nVariables requeridas:\n  NEXT_PUBLIC_SUPABASE_URL\n  NEXT_PUBLIC_SUPABASE_ANON_KEY\n  SUPABASE_SERVICE_KEY\n\n⚠️  NOTA: Asegúrate de configurar estas variables en Vercel para que funcione en producción\n\nTemplates Disponibles\nTemplate\tDescripción\tFeatures\nminimal\tBásico\tNext.js + Supabase client\nauth-db\tRECOMENDADO\tAuth + Database\nauth\tCon Auth\tLogin/Signup páginas + utilities\nfull\tCompleto\tAuth + DB + Storage\nEnvironment Variables\n\nPara todos los proyectos:\n\n# .env.local\nNEXT_PUBLIC_SUPABASE_URL=https://yourproject.supabase.co\nNEXT_PUBLIC_SUPABASE_ANON_KEY=your_anon_key_here\n\n# Service role key (requerido para snv db:setup)\nSUPABASE_SERVICE_KEY=your_service_role_key_here\n\n\nObtén tus credenciales en:\n\nhttps://supabase.com/dashboard/project/_/settings/api\nArquitectura del Orquestador\nCómo Funciona el Skill\n\nFase de Inicialización (snv init)\n\nScaffolding de estructura básica\nGeneración de archivos de configuración\nNo crea dependencias en Supabase\n\nFase de Conexión (snv db:setup)\n\nLee credenciales de .env.local\nConecta a Supabase con service role key\nTestea conexión con query simple\nGenera migrations con SQL real\n\nFase de Configuración (snv auth:setup, snv storage:setup)\n\nGenera SQL migrations con código ejecutable\nCrea páginas de login/signup (si no existen)\nGenera guías paso a paso\nURLs directas al Dashboard de Supabase\n\nFase de Desarrollo (snv dev)\n\nVerifica configuración\nInicia servidor Next.js\nMuestra URLs locales\n\nFase de Deployment (snv deploy)\n\nVerifica instalación de Vercel CLI\nBuild proyecto\nDeploy a Vercel\nParse output y muestra URL\nAlerta sobre env vars faltantes\nMigrations SQL Generadas\n\nEl skill genera migrations con SQL VALIDO y ejecutable:\n\nMigration de Auth (002_enable_auth.sql):\n\n-- Habilitar Authentication en Supabase\n\n-- 1. Habilitar Email Auth\nalter schema auth.users enable row level security;\n\n-- 2. Crear tabla de usuarios\ncreate table if not exists public.users (\n  id uuid default gen_random_uuid() primary key,\n  email text unique not null,\n  created_at timestamp with time zone default timezone('utc', now()) not null,\n  updated_at timestamp with time zone default timezone('utc', now()) not null\n);\n\n-- 3. Configurar RLS para usuarios\nalter table public.users enable row level security;\n\ncreate policy \"Usuarios pueden ver su propio perfil\"\non public.users for select\nusing (auth.uid())\nwith check (auth.uid() = id);\n\ngrant select;\n\n\nMigration de Storage (003_enable_storage.sql):\n\n-- Habilitar Storage en Supabase\n\n-- 1. Crear buckets de ejemplo\ninsert into storage.buckets (id, name, public, file_size_limit, allowed_mime_types)\nvalues \n  ('avatars', 'avatars', true, 5242880, 'image/jpeg,image/png,image/gif'),\n  ('documents', 'documents', true, 52428800, 'application/pdf,application/msword,text/plain')\non conflict (id) do nothing;\n\n-- 2. Nota: Las políticas RLS deben configurarse manualmente\n-- En Dashboard: https://supabase.com/dashboard/project/_/storage/policies\n\nTroubleshooting\nProblema: \"No such built-in module: node:sqlite\"\n\nSolución: Actualizar Node.js a v22.22.0+\n\n# Verificar versión\nnode --version\n\n# Actualizar NVM\nnvm install 22.22.0\nnvm alias default 22.22.0\n\n# O actualizar symlink de sistema (Linux)\nsudo ln -sf ~/.nvm/versions/node/v22.22.0/bin/node /usr/local/bin/node\n\nProblema: \".env.local no encontrado\"\n\n**Solución: Ejecutar snv init primero\n\nProblema: \"Connection failed to Supabase\"\n\nSolución:\n\nVerificar credenciales en .env.local\nConfirmar que el project ID sea correcto\nRevisar que Auth esté habilitado en Supabase Dashboard\nProblema: \"Vercel CLI no instalado\"\n\nSolución:\n\nnpm install -g vercel\n\nProblema: \"Vercel project not linked\"\n\nSolución:\n\nvercel link\n\nEjemplos de Workflows Completos\nWorkflow 1: Nuevo App con Auth + Database\n# 1. Crear proyecto\nsnv init my-app --template auth-db\n\n# 2. Configurar credenciales\ncd my-app\n# Editar .env.local con:\n# NEXT_PUBLIC_SUPABASE_URL=https://xxx.supabase.co\n# NEXT_PUBLIC_SUPABASE_ANON_KEY=eyJ...\n# SUPABASE_SERVICE_KEY=eyJ...\n\n# 3. Configurar database (auto-conecta + migrations)\nsnv db:setup\n\n# 4. Configurar authentication (genera SQL)\nsnv auth:setup\n\n# 5. Ejecutar migrations en Supabase Dashboard\n# ABRE: https://supabase.com/dashboard/project/_/sql/new\n# Copia y ejecuta 002_enable_auth.sql\n\n# 6. Iniciar desarrollo\nsnv dev\n\nWorkflow 2: Deploy a Producción\n# 1. En desarrollo\ncd my-app\n\n# 2. Build y deploy\nsnv deploy --prod\n\n# 3. Configurar env vars en Vercel Dashboard\n# ABRE: https://vercel.com/dashboard\n# Agrega: NEXT_PUBLIC_SUPABASE_URL, NEXT_PUBLIC_SUPABASE_ANON_KEY, SUPABASE_SERVICE_KEY\n\nWorkflow 3: Añadir Storage para Avatares\n# 1. En desarrollo\ncd my-app\n\n# 2. Configurar storage (genera SQL)\nsnv storage:setup --buckets avatars\n\n# 3. Ejecutar migration en Supabase Dashboard\n# ABRE: https://supabase.com/dashboard/project/_/sql/new\n# Copia y ejecuta 003_enable_storage.sql\n\n# 4. Configurar políticas RLS en Supabase Dashboard\n# ABRE: https://supabase.com/dashboard/project/_/storage/policies\n\nRequisitos del Sistema\nNode.js 18+ (recomendado 20+)\nnpm o yarn o pnpm\nSupabase account (free tier funciona)\nVercel account (free tier funciona)\nVercel CLI: npm i -g vercel\nComparación con Skills Existentes\nvs Skills Individuales (nextjs, vercel, supabase)\n\nSkills individuales:\n\nSon guías de referencia\nEl usuario debe ejecutar comandos manualmente\nNo hay orquestación\n\nNuestra skill:\n\n✅ Orquesta todo el flujo automáticamente\n✅ Genera migrations SQL ejecutables\n✅ Guía paso a paso para configuraciones manuales\n✅ Deploy automático con detección de problemas\nvs Antfarm Workflows\n\nAntfarm:\n\nOrquesta múltiples agentes especializados\nSistema de polling SQLite + cron jobs\nEstado persistente en DB\nCompleto para equipos de desarrollo\n\nNuestra skill:\n\n✅ Similar arquitectura: comandos que generan SQL y guías\n✅ Foco en configuración (no desarrollo de features)\n✅ Un solo comando por usuario (no múltiples agentes)\nContributing\n\nEste skill es open source. Para mejorar:\n\nFork en GitHub\nCrear branch de feature\nSubmit pull request\n\nMejoras bienvenidas en:\n\nMás templates de inicio\nIntegración con más servicios (Cloudflare, Netlify)\nTests automatizados\nMejor manejo de errores\n\nORQUESTADOR REAL para Next.js + Supabase + Vercel - De la idea al deploy en 30 segundos. 🚀"
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/studio-hakke/next-supabase-vercel-bundle",
    "publisherUrl": "https://clawhub.ai/studio-hakke/next-supabase-vercel-bundle",
    "owner": "studio-hakke",
    "version": "1.0.0",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/next-supabase-vercel-bundle",
    "downloadUrl": "https://openagent3.xyz/downloads/next-supabase-vercel-bundle",
    "agentUrl": "https://openagent3.xyz/skills/next-supabase-vercel-bundle/agent",
    "manifestUrl": "https://openagent3.xyz/skills/next-supabase-vercel-bundle/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/next-supabase-vercel-bundle/agent.md"
  }
}