env-vars / knowledge-update skills: document Marketplace Sensitive flag and run-inside-Vercel implication
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 287
- Forks
- 58
- Avg merge
- 1d 1h
- Merged PRs (30d)
- 17
Description
Plugin and version
vercel plugin (filed against vercel:env-vars and vercel:knowledge-update skills).
Observed behaviour
Vercel Marketplace integrations (Supabase, Blob, Resend, similar) write env vars into the project with the Sensitive flag set by default. The flag has three consequences that aren't covered by either skill:
vercel env pullcannot retrieve a Sensitive-flagged value. The pulled.env.localends up with the key but a placeholder value.- The Vercel dashboard hides the value behind a passkey re-auth that an agent cannot complete.
- API/CLI reads return the placeholder, not the real value.
Practical implication: any script that uses a Marketplace-managed secret must run inside Vercel (admin route gated by Bearer auth, a build-time script, or a cron). It cannot run from the operator's laptop with a locally-populated .env.local. A team that doesn't know this writes a local script first, sees the Sensitive flag, then has to refactor the script into an admin route. The refactor adds auth-gating, a Server Action shape, and a deploy round-trip.
Expected behaviour
Both vercel:env-vars and vercel:knowledge-update should mention the Sensitive flag and its run-inside-Vercel implication. A worked example showing the admin-route shape (Bearer + CRON_SECRET, returns JSON, idempotent) would prevent the laptop-script-first detour entirely.
Steps to reproduce
- Create a Vercel project, install any Marketplace integration that writes env vars (e.g. Supabase).
vercel env pull --environment=production .env.productionagainst the project.- Inspect the pulled file: the Marketplace-injected secrets show placeholder values, not real ones.
- Try to read the value via
vercel envAPI: same placeholder. - Try to write a Node script using the real secret from
.env.local: fails to authenticate against the underlying service. - The only viable path is to run the script inside Vercel's runtime where the real secret is injected.
Workaround
Skip the local-script step entirely on any task that touches Marketplace-managed secrets. Write the admin route first, deploy, invoke via cron or a one-shot POST with Bearer.
Context
Surfaced during a third-party-API end-to-end buildout that initially used a local launch script. Local script failed because it needed a Marketplace-injected secret. Refactored into a gated admin route in the same session.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Locate the vercel:env-vars and vercel:knowledge-update skill documents and review their existing environment-variable guidance. Document the Marketplace Sensitive flag, its local-read limitations, and the run-inside-Vercel implication, then add the requested Bearer-authenticated, CRON_SECRET-gated, JSON-returning, idempotent admin-route example and verify both skills cover it.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- node.js
- Domain
- cloud, documentation
- Issue type
- Documentation
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Activity status
- Quiet
- Clarity
- Clearly specified
- Newbie friendliness
- 74/100