CommunityProgramación y desarrollogithub.com

vercel-labs/protected-vercel-deployments

Accede y prueba despliegues de Vercel protegidos por Autenticación de Vercel, SSO o Protección de Despliegue con agent-browser. Úsalo cuando una URL de preview o producción redirige a una página de inicio de sesión de Vercel, devuelve un error 401 o 403 de protección, o necesita autenticación OIDC de Fuentes Confiables de corta duración en lugar de un secreto de omisión estático o una excepción pública.

¿Qué es protected-vercel-deployments?

Esta skill permite a un agente de IA (como Claude Code, Cursor o Codex) acceder y probar despliegues de Vercel protegidos por autenticación, SSO o Protección de Despliegue, utilizando agent-browser para la navegación automatizada. En lugar de deshabilitar la protección o usar secretos estáticos, la skill aprovecha la identidad existente del usuario en Vercel y un token OIDC de corta duración generado por la CLI de Vercel (`vc project token`). Para despliegues de preview dentro del mismo proyecto, la regla de autoacceso de Fuentes Confiables permite la autenticación sin configuración adicional; para producción u otros equipos, se requiere intervención humana para configurar las reglas de Fuentes Confiables en el panel de Vercel. La skill maneja la creación de sesiones de navegador, la inyección del token como cabecera (`x-vercel-trusted-oidc-idp-token`) y el diagnóstico de errores comunes como redirecciones a `vercel.com/login` o `TRUSTED_SOURCES_ENVIRONMENT_MISMATCH`. También incluye un mecanismo de fallback con secretos estáticos para casos donde OIDC no es viable, pero siempre requiere autorización explícita antes de cambiar controles de acceso. La skill soporta las plataformas de agentes que integren agent-browser y la CLI de Vercel 53.3.0 o superior.

Compatible con~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/vercel-labs/agent-browser/tree/main/skill-data/protected-vercel-deployments

Installed? Explore more Programación y desarrollo skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

Preguntar en tu IA favorita

Abre un nuevo chat con esta habilidad de agente ya precargada.

Documentación

Despliegues de Vercel protegidos

Usa la identidad Vercel existente del usuario y un token OIDC de corta duración. No deshabilites la Protección de Despliegue, hagas público el despliegue ni solicites un secreto de omisión estático primero.

Preview del mismo proyecto

Un token de desarrollo local para el proyecto objetivo puede acceder a los despliegues de Preview protegidos de ese proyecto a través de la regla de autoacceso de Fuentes Confiables predeterminada. Normalmente no se requiere configuración de Fuentes Confiables.

Confirma la identidad local y la versión de la CLI de Vercel:

vc whoami
vc --version

Requiere la CLI de Vercel 53.3.0 o superior antes de ejecutar vc project token. Las versiones 50.25.0 a 53.2.x escriben el token en stderr, por lo que la sustitución de comandos no captura nada y la credencial puede aparecer en los registros. Si la versión instalada es anterior, detente y pide al usuario que la actualice. No intentes capturar ni recuperar el token de stderr.

Establece el proyecto y el ámbito objetivo explícitamente. Si no se pueden inferir de forma segura, pregunta al usuario. En un directorio cuyo enlace existente .vercel/project.json haya sido verificado contra el objetivo, vc project token sin un nombre de proyecto también es válido. No ejecutes vc link solo para obtener un token OIDC: las versiones actuales de la CLI de Vercel también extraen variables de desarrollo a .env.local al enlazar.

Crea una sesión de navegador con nombre, genera un token OIDC de desarrollo con la CLI de Vercel, luego inyéctalo sin imprimirlo ni persistirlo:

export AGENT_BROWSER_SESSION="$(agent-browser session id --scope worktree --prefix vercel-preview)"
export VERCEL_PREVIEW_URL="https://my-app.vercel.app"
export VERCEL_PROJECT="my-app"
export VERCEL_SCOPE="my-team"

(
  TOKEN="$(vc project token "$VERCEL_PROJECT" --scope "$VERCEL_SCOPE")"
  test -n "$TOKEN"
  agent-browser open "$VERCEL_PREVIEW_URL" --headers \
    "{\"x-vercel-trusted-oidc-idp-token\":\"$TOKEN\"}"
)

agent-browser snapshot -i

Continúa el flujo de trabajo normal en esa misma sesión. La cabecera está limitada al origen objetivo y se aplica al documento, scripts, estilos, fuentes y solicitudes dentro de la página. Si la sesión del navegador se cierra o reinicia, repite el comando open autenticado.

Nunca imprimas el token, lo pegues en el código fuente ni lo guardes en un archivo de entorno.

Otros entornos y usuarios

Se necesita configuración de Fuentes Confiables cuando:

  • un token de desarrollo local debe alcanzar un despliegue de Producción protegido;
  • el usuario pertenece a otro proyecto o equipo de Vercel;
  • las reglas de autoacceso del proyecto objetivo fueron personalizadas; o
  • Vercel devuelve TRUSTED_SOURCES_ENVIRONMENT_MISMATCH.

No existe una CLI de Vercel o API REST pública compatible para editar reglas de Fuentes Confiables. Una persona autorizada debe abrir Configuración → Protección de Despliegue → Fuentes Confiables del proyecto objetivo y agregar solo la asignación de usuario y entorno requerida. Un token local tiene el entorno development, por lo que el acceso protegido a Producción requiere development a production.

Detente y pasa la regla exacta a la persona. No uses automatización del navegador para cambiar el control de acceso ni amplíes asignaciones de entorno no relacionadas. Reintenta el open autenticado después de que la persona confirme que la regla está guardada.

Límites de intervención humana

El flujo de desarrollo al Preview del mismo proyecto debe ejecutarse sin intervención humana cuando la CLI de Vercel ya está autenticada y el proyecto y ámbito objetivo son conocidos. Se necesita una persona solo cuando:

  • la CLI de Vercel no tiene una identidad autenticada ni un VERCEL_TOKEN existente; vc login interactivo requiere al usuario;
  • la CLI de Vercel instalada es anterior a 53.3.0 y debe actualizarse antes de generar el token;
  • el proyecto o ámbito objetivo correcto no se puede inferir de forma segura para generar el token;
  • se debe agregar o cambiar una regla de Fuentes Confiables; el panel es la única superficie de gestión compatible, y esto cambia el control de acceso;
  • el Acceso Backend Seguro con Federación OIDC fue deshabilitado en el proyecto solicitante y debe volver a habilitarse en Configuración → Seguridad; o
  • el respaldo de secreto estático debe habilitarse o rotarse y el agente necesita autorización explícita para ese cambio de control de acceso. Después de la aprobación, el agente puede usar vc project protection en lugar de requerir interacción con el panel.

El agente puede diagnosticar cada caso y indicar la acción exacta requerida, luego continuar después de que el usuario confirme su finalización.

Usa la cabecera correcta

Envía el token emitido por Vercel como:

x-vercel-trusted-oidc-idp-token: <VERCEL_OIDC_TOKEN>

No sustituyas x-vercel-oidc-token. Esa cabecera transporta la identidad de la carga de trabajo a una Función de Vercel; no autentica una solicitud entrante a través de la Protección de Despliegue.

Diagnosticar fallos

  • Redirección a vercel.com/login: La Protección de Despliegue no aceptó la solicitud.
  • TRUSTED_SOURCES_ENVIRONMENT_MISMATCH: el token es válido, pero su entorno solicitante no puede alcanzar el entorno objetivo.
  • 401 o 403 de la aplicación después de pasar la protección: depura la autenticación propia de la aplicación por separado.
  • 404 de la aplicación en una ruta deliberadamente inexistente: la solicitud pasó la Protección de Despliegue y llegó a la aplicación.

Respaldo de secreto estático

Usa Omisión de Protección para Automatización solo cuando OIDC no sea viable o la herramienta no pueda enviar la cabecera de Fuentes Confiables. Habilitarlo o rotarlo cambia el control de acceso, así que obtén autorización explícita primero. Crea un secreto dedicado para que pueda rotarse de forma independiente, mantenlo en una variable de entorno y pásalo como cabecera:

vc project protection enable <project> --protection-bypass \
  --protection-bypass-secret "$VERCEL_AUTOMATION_BYPASS_SECRET"

agent-browser open "$VERCEL_PREVIEW_URL" --headers \
  "{\"x-vercel-protection-bypass\":\"$VERCEL_AUTOMATION_BYPASS_SECRET\",\"x-vercel-set-bypass-cookie\":\"true\"}"

La directiva de cookie crea una cookie _vercel_jwt reutilizable. Trata el estado guardado del navegador que contenga esa cookie como una credencial.

Evita puntos muertos

  • No existe un comando vercel share de la CLI. Los Enlaces Compartibles están destinados a personas y no son la ruta de automatización.
  • vercel curl es útil para solicitudes HTTP, pero no puede renderizar ni interactuar con una página.
  • Las Excepciones de Protección de Despliegue hacen público el dominio. No las uses solo para desbloquear a un agente.
  • No expongas tokens OIDC, secretos de omisión, URLs autenticadas ni estado guardado en registros, capturas de pantalla, archivos fuente ni salida visible para el usuario.

Individual skills in this repo

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

agent-browser

Browser automation CLI for AI agents. Use when the user needs to interact with websites, including navigating pages, filling forms, clicking buttons, taking screenshots, extracting data, testing web apps, or automating any browser task. Triggers include requests to

vercel-labs/agentcore

Run agent-browser on AWS Bedrock AgentCore cloud browsers. Use when the user wants to use AgentCore, run browser automation on AWS, use a cloud browser with AWS credentials, or needs a managed browser session backed by AWS infrastructure. Triggers include "use agentcore", "run on AWS", "cloud browser with AWS", "bedrock browser", "agentcore session", or any task requiring AWS-hosted browser automation.

vercel-labs/derive-client

Reverse-engineer a website's internal API by recording browser traffic into a HAR file, then generate a standalone client or CLI that calls the endpoints directly, with no browser needed after the first recording. Use when asked to "derive a client", "build a CLI for <site>", "reverse engineer this site's API", "record network requests", "turn this site into an API", or when the same site will be automated repeatedly and direct HTTP calls would beat driving the browser every time.

vercel-labs/dogfood

Systematically explore and test a web application to find bugs, UX issues, and other problems. Use when asked to "dogfood", "QA", "exploratory test", "find issues", "bug hunt", "test this app/site/platform", or review the quality of a web application. Produces a structured report with full reproduction evidence -- step-by-step screenshots, repro videos, and detailed repro steps for every issue -- so findings can be handed directly to the responsible teams.

vercel-labs/electron

Automate Electron desktop apps (VS Code, Slack, Discord, Figma, Notion, Spotify, etc.) using agent-browser via Chrome DevTools Protocol. Use when the user needs to interact with an Electron app, automate a desktop app, connect to a running app, control a native app, or test an Electron application. Triggers include "automate Slack app", "control VS Code", "interact with Discord app", "test this Electron app", "connect to desktop app", or any task requiring automation of a native Electron application.

vercel-labs/slack

Interact with Slack workspaces using browser automation. Use when the user needs to check unread channels, navigate Slack, send messages, extract data, find information, search conversations, or automate any Slack task. Triggers include "check my Slack", "what channels have unreads", "send a message to", "search Slack for", "extract from Slack", "find who said", or any task requiring programmatic Slack interaction.

vercel-labs/vercel-sandbox

Run agent-browser + Chrome inside Vercel Sandbox microVMs for browser automation from any Vercel-deployed app. Use when the user needs browser automation in a Vercel app (Next.js, SvelteKit, Nuxt, Remix, Astro, etc.), wants to run headless Chrome without binary size limits, needs persistent browser sessions across commands, or wants ephemeral isolated browser environments. Triggers include "Vercel Sandbox browser", "microVM Chrome", "agent-browser in sandbox", "browser automation on Vercel", or any task requiring Chrome in a Vercel Sandbox.

vercel-labs/webmcp-gen

Build and validate experimental WebMCP tools for an existing web page. Use when an agent needs to expose a site's real workflows as page tools, create webmcp.init.js, define deterministic checks, or compare WebMCP with accessibility-tree automation.

Skills relacionados