feat(skills): add vercel-connect skill#94
Merged
Conversation
Adds a Claude skill for Vercel Connect — guides agents through the CLI workflow (`vercel connect create/list/token`), the @vercel/connect SDK (getToken, /ash subpath, connectSlackCredentials), and the HTTP API for non-JS callers. Source: ported from vercel/connect's skills/vercel-connect/SKILL.md, with frontmatter enriched to match vercel-plugin's pattern (metadata.priority, docs, importPatterns, bashPatterns, promptSignals, retrieval, chainTo). The @vercel/connect package itself is being moved to vercel/vercel in a companion PR: vercel/vercel#16462 Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
4 tasks
The validate script requires every skills/ directory to have a matching ⤳ skill: reference in vercel.md's ecosystem graph. Adds a VERCEL CONNECT block under Security alongside AUTHENTICATION INTEGRATIONS, listing the CLI / SDK / HTTP API integration paths and OIDC + Ash dependencies. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Run scripts/generate-catalog.ts to include the new vercel-connect skill in generated/skill-catalog.md. The validate script requires the catalog to list every skill in skills/. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Companion to the catalog regen — generate-catalog also refreshed the manifest with 142 lines of vercel-connect entries (trigger patterns, retrieval metadata, chainTo). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
jpsingaraju
added a commit
to vercel/vercel
that referenced
this pull request
May 28, 2026
Adds the @vercel/connect package (v0.0.6-alpha.1) to the monorepo, sourced from the standalone vercel/connect repo (which will be archived once this lands). The package provides scoped OAuth tokens for third-party services (Slack, GitHub, Linear, generic OAuth) via Vercel OIDC. It exposes: - @vercel/connect — core getToken/authorization helpers - @vercel/connect/ash — declarative helper for Ash agent connections - @vercel/connect/authjs — Auth.js provider - @vercel/connect/betterauth — better-auth provider Includes 5 unreleased changesets that were pending in the source repo: connect-ash-vercel-connect-marker, connect-authorization-helper, rename-callback-url, token-error-codes, wicked-ends-stick. The companion Claude skill for this package lives in vercel/vercel-plugin (see vercel/vercel-plugin#94). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
dvoytenko
previously requested changes
May 28, 2026
- Rename `<provider>` placeholder to `<service>` in CLI examples - Expand Available Services table: add MCP servers, Snowflake, Salesforce, and generic OAuth alongside Slack and GitHub - Update Ash example: use `/mcp` endpoint (not `/sse`) and the correct URL-style connector ID (`mcp.linear.app/myagent` rather than `linear`) - Update Workflow URL example to `/mcp` - Expand frontmatter retrieval + promptSignals with MCP, Snowflake, and Salesforce terms so prompts like "connect to mcp server" trigger the skill - Regenerate skill-manifest.json + skill-catalog.md Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
dvoytenko
approved these changes
May 29, 2026
jpsingaraju
added a commit
to vercel/vercel
that referenced
this pull request
May 29, 2026
## Summary Moves the `@vercel/connect` package from the standalone [vercel/connect](https://github.com/vercel/connect) repository into this monorepo, preserving git history. The `vercel/connect` repo will be archived once this and its companion PR land. ## What's included - **`packages/connect/`** — the package itself (`@vercel/connect`), currently at `v0.0.6-alpha.1`. - `packages/connect/docs/ash-authorization-helper.md` — design doc, moved in from the source repo's `research/` directory. - **5 unreleased changesets** — `.changeset/connect-ash-vercel-connect-marker.md`, `.changeset/connect-authorization-helper.md`, `.changeset/rename-callback-url.md`, `.changeset/token-error-codes.md`, `.changeset/wicked-ends-stick.md`. - **`pnpm-lock.yaml`** regeneration. ## What's *not* included - The source repo's `skills/vercel-connect/` Claude skill — being contributed to [vercel/vercel-plugin](https://github.com/vercel/vercel-plugin) instead (the canonical home for the public Vercel Claude Code plugin). Companion PR: **vercel/vercel-plugin#94 - The source repo's standalone release pipeline (`.github/workflows/release*.yml`), root README/LICENSE, and `pnpm-workspace.yaml` — this monorepo's existing infrastructure supersedes them. ## How history was preserved 1. Cloned `vercel/connect` to a scratch directory. 2. Ran `git filter-repo` to keep only the paths above and rename `research/ash-authorization-helper.md` → `packages/connect/docs/ash-authorization-helper.md`. Dropped everything else. 3. Merged the rewritten history into a branch off `main` with `--allow-unrelated-histories`, then rebased to flatten the merge commit for a linear PR history. `git log --follow packages/connect/src/token.ts` (or any other source file) shows the original commit authors and PR numbers from `vercel/connect`. ## Things to flag - **Release cadence changes.** `@vercel/connect` previously released from its own repo via `release.yml` / `release-snapshot.yml`. In this monorepo it'll release through the shared changesets pipeline. Next version after merge should be a deliberate decision — probably keep `0.0.6-alpha.1` and bump from there. - **`access: restricted` → `access: public`.** The source repo's changeset config was `restricted`; this monorepo's is `public`. The package's own `publishConfig.access` is already `public`, so behavior is consistent — flagging just to confirm. - **pnpm version**: source repo was on pnpm 11.2.2, this monorepo is on 8.3.1. Install completed cleanly; pnpm 11 features like `allowBuilds` were intentionally not carried over (not applicable in pnpm 8). ## Test plan - [ ] CI green on this branch - [ ] `pnpm --filter @vercel/connect typecheck` passes locally - [ ] `pnpm --filter @vercel/connect build` passes locally - [ ] Confirm changesets pipeline picks up the 5 pending entries on next release 🤖 Generated with [Claude Code](https://claude.com/claude-code) --------- Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Strip Ash from the vercel-connect skill (the @vercel/connect package renamed Ash -> Eve in vercel/vercel#16541 and is moving away from adapter-specific guidance in this skill). Frontmatter: - Remove importPatterns `@vercel/connect/ash` - Remove pathPatterns `agent/connections/**` and `agent/channels/**` - Remove retrieval.entities `Ash`, retrieval.examples / intents referencing Ash agents - Remove the two chainTo rules tied to Ash imports and SLACK_BOT_TOKEN / SLACK_SIGNING_SECRET (the latter pointed at the Ash-only `connectSlackCredentials` helper) - Drop "building Ash agent connections" from description Body: - Delete `#### Ash agents — @vercel/connect/ash` section - Delete `##### Slack channel — connectSlackCredentials` subsection Factual fixes against vercel/vercel:packages/connect/ (current `main`): 1. HTTP API Python example: response field is `token`, not `accessToken` (src/token.ts:51-69). 2. HTTP API examples now include the required `Authorization: Bearer <VERCEL_OIDC_TOKEN>` header — without it the request 401s (src/token.ts:148-158). 3. "Modes of tokens" now lists all three subject types: `user`, `app`, and `jwt-bearer`. The third was added in vercel/vercel#16520 (src/token.ts:4-29) and was missing from the skill. 4. Workflow step 2: "register-token" terminology replaced with the actual CLI command name `vercel connect create`. No restructure, no new API surface added (revokeToken, /ai-sdk, /mcp, /betterauth, /authjs, startAuthorization, typed errors are intentionally out of scope for this update). Net: -69 / +19 lines. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Contributor
Author
|
Pushed Strip: Ash adapter contentRemoved the
Fixes: 4 factual bugs vs current vercel/vercel:packages/connect/
Intentionally out of scopeKeeping this PR's footprint small. The following gaps vs. current
Net diff1 file, +19 / -69 lines (339 → 289). No regenerated manifest/catalog in this commit — happy to add a follow-up |
dvoytenko
approved these changes
Jun 9, 2026
dvoytenko
approved these changes
Jun 9, 2026
Per @dvoytenko review on #94 — Salesforce isn't a supported Connect service yet, drop it for now. Removed: - Services table row - description copy - retrieval.entities, retrieval.intents, promptSignals.phrases Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Merges the microfrontends skill (#97) from main and regenerates the shared registry artifacts so both skills coexist. Conflicts resolved: - generated/skill-manifest.json — regenerated via `bun run build:manifest` (28 skills total, includes both vercel-connect and microfrontends) - generated/skill-catalog.md — regenerated via `bun run scripts/generate-catalog.ts` - vercel.md — auto-merged cleanly; both skill graph nodes preserved Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds a Claude skill for Vercel Connect — guides agents through obtaining scoped OAuth tokens for third-party services (Slack, GitHub, Linear, generic OAuth) via Vercel Connect.
The skill covers all three integration paths:
vercel connect create/list/tokenworkflow, including the project-folder requirement for auto-configuration@vercel/connect(getToken), plus the/ashsubpath (connect()helper,connectSlackCredentials()for Ash Slack channels)Origin
Ported from the source repo's
skills/vercel-connect/SKILL.md(vercel/connect), which is being archived. The@vercel/connectpackage itself is being moved into vercel/vercel in a companion PR: vercel/vercel#16462Frontmatter
Enriched to match the existing vercel-plugin pattern (
auth,ai-gateway,vercel-cli, etc.):metadata.priority,docs,sitemapmetadata.importPatterns— triggers on@vercel/connectand its subpathsmetadata.bashPatterns— triggers onvercel connect/vc connectcommands and package installsmetadata.pathPatterns— triggers onagent/connections/**andagent/channels/**(Ash usage)metadata.promptSignals— phrases like "slack token", "github oauth token", etc.retrieval.aliases / intents / entities / exampleschainTo— escalates from hand-managedSLACK_BOT_TOKEN/SLACK_SIGNING_SECRETenv vars to theconnectSlackCredentials()helperTest plan
@vercel/connectin a sample project and confirming Claude pulls the skill)🤖 Generated with Claude Code