#362

deploy-to-vercel: --temporary fallback publishes to a public URL without asking (follow-up to #335)

OpenJacobTRNDopened 3d ago

At 1a2c79d (after #350), skills/deploy-to-vercel/SKILL.md tells the agent to publish the project without asking the user:

  • Line 164 says: "Do not ask the user to approve a CLI login or device code first — try this."
  • Line 167 is npx vercel@latest deploy [path] --temporary -y.
  • Lines 170-171 say the CLI builds locally and deploys to a temporary production URL. The URL is publicly reachable until it expires.
  • Line 230 makes vercel deploy --temporary -y the automatic response to any vercel login or vercel deploy authentication failure.

An agent that follows the skill will therefore upload a build of the user's project to a public URL whenever credentials are missing or rejected. It does this without telling the user what is about to be published. #335 reported the same "runs without asking" behaviour for the earlier deploy.sh fallback. #350 replaced the script, but it kept the behaviour and made the no-confirmation instruction explicit.

Suggested changes:

  1. Ask before the fallback. Tell the user which directory will be built and uploaded, that the result is a live public URL, and that it expires unless claimed. Continue only on a yes.
  2. Narrow line 164 so it covers the login prompt only. It should not cover the publish step.
  3. On line 230, offer the fallback rather than running it automatically.
  4. Pin the CLI version (vercel@<version>) for a command that publishes, instead of @latest.

Activity

1
JacobTRND3d ago

Proposed patch for this issue. It is the complete change and can be applied with git apply.

--- a/skills/deploy-to-vercel/SKILL.md	2026-11-09 01:22:09
+++ b/skills/deploy-to-vercel/SKILL.md	2026-11-09 01:22:09
@@ -161,7 +161,7 @@
 
 ### No-Auth Fallback — `vercel deploy --temporary`
 
-**When to use:** The CLI has no credentials and `vercel login` isn't possible (sandboxes, agents, non-interactive environments). Do **not** ask the user to approve a CLI login or device code first — try this.
+**When to use:** The CLI has no credentials and `vercel login` isn't possible (sandboxes, agents, non-interactive environments). You do not need to ask the user to approve a CLI login or device code first, but ask before publishing: tell the user which directory will be built and uploaded, that the result is a live public URL, and that it expires unless claimed. Continue only if they agree.
 
 ```bash
 npx vercel@latest deploy [path] --temporary -y
@@ -227,4 +227,4 @@
 
 ### CLI Auth Failure
 
-If `vercel login` or `vercel deploy` fails with authentication errors, use the no-auth fallback: `vercel deploy --temporary -y`.
+If `vercel login` or `vercel deploy` fails with authentication errors, offer the no-auth fallback (`vercel deploy --temporary -y`) and run it only after the user agrees to a public temporary deployment.