Files
vercel__vercel-plugin/scripts/benchmark-scenarios.ts
John Lindquist 8e24d0694a feat: add chainTo skill chaining, prompt signals, validation upgrades, and dedup reset on context clear
Add a chainTo frontmatter field to skills that triggers follow-up skill injection
when PostToolUse file contents match regex patterns. Add upgradeToSkill/upgradeWhy
fields to validation rules so validate errors can recommend loading a specific skill.
Register posttooluse-bash-chain.mjs in hooks.json. Add ChainToRule interface to
patterns.mts and skill-map-frontmatter.mts, with parseChainToRules() parser. Add
duplicate-key detection to the YAML parser. Reset dedup claim dir and session file
on clear/compact events in session-start-seen-skills so skills re-inject into fresh
context windows.

Add chainTo rules to: agent-browser-verify, agent-browser, ai-elements, ai-gateway,
ai-generation-persistence, ai-sdk, auth, bootstrap, chat-sdk, cms, cron-jobs,
deployments-cicd, email, env-vars, geist, investigation-mode, json-render,
marketplace, micro, ncc, next-forge, nextjs, observability, payments,
react-best-practices, routing-middleware, runtime-cache, satori, shadcn,
sign-in-with-vercel, swr, turbopack, turborepo, v0-dev, vercel-agent, vercel-api,
vercel-cli, vercel-firewall, vercel-flags, vercel-functions, vercel-queues,
vercel-sandbox, vercel-storage, verification, workflow. Add upgradeToSkill to
ai-elements and ai-sdk validate rules. Expand ai-sdk validate messages with
Run Skill() hints. Update nextjs, vercel-storage, runtime-cache, workflow, turborepo
skill bodies.

Add new skills: geistdocs (Geist design system docs), zzz-test-meta-name-mask
(test fixture). Add skills/_chain-audit.md chain coverage audit doc.

Delete .claude-plugin/marketplace.json, .claude-plugin/plugin.json (deprecated),
skills/edge-runtime/SKILL.md (consolidated into vercel-functions).

Add tests: posttooluse-chain.test.ts (4699 lines, chain injection e2e),
ai-sdk-companion.test.ts (181 lines). Expand build-skill-map.test.ts (+335 lines),
validate-rules.test.ts (+936 lines), session-start-seen-skills.test.ts (+74 lines),
skill-map-frontmatter.test.ts (+50 lines), verification-skill.test.ts (+20 lines).

Update build-manifest.ts to emit chainTo rules and upgradeToSkill fields. Rebuild
generated/skill-manifest.json, generated/skill-catalog.md, generated/build-from-skills.manifest.json.
Rebuild all compiled hooks/*.mjs. Update CLAUDE.md lexical prompt default to on.
Update vercel.md ecosystem graph, docs, and cli-reference.
2026-03-11 15:18:35 -06:00

89 lines
4.1 KiB
TypeScript

/**
* Single source of truth for benchmark scenarios.
*
* Both scripts/benchmark-runner.ts (local WezTerm) and
* .claude/skills/benchmark-sandbox/sandbox-runner.ts (Vercel Sandbox)
* import from this module — no duplication, no regex+eval fallbacks.
*/
export interface BenchmarkProject {
slug: string;
prompt: string;
expectedSkills: string[];
}
export const PROJECTS: BenchmarkProject[] = [
{
slug: "01-doc-qa-agent",
prompt:
"Build a documentation Q&A agent with semantic search, citation links, and follow-up question memory. Link the project to my vercel-labs team so we can deploy it later.",
expectedSkills: ["ai-sdk", "vercel-storage", "nextjs"],
},
{
slug: "02-customer-support-agent",
prompt:
"Create a customer support agent that triages tickets, drafts replies, and escalates urgent conversations with an authenticated admin dashboard. Link the project to my vercel-labs team so we can deploy it later.",
expectedSkills: ["ai-sdk", "auth", "vercel-storage"],
},
{
slug: "03-deploy-monitor",
prompt:
"Build a deploy monitor that tracks preview and production deploy health, surfaces incidents, and posts summaries to an internal dashboard. Link the project to my vercel-labs team so we can deploy it later.",
expectedSkills: ["observability", "deployments-cicd", "vercel-api"],
},
{
slug: "04-multi-model-router",
prompt:
"Create a multi-model router that chooses the best model per request, supports failover policies, and streams responses to the UI. Link the project to my vercel-labs team so we can deploy it later.",
expectedSkills: ["ai-gateway", "ai-sdk", "nextjs"],
},
{
slug: "05-slack-pr-reviewer",
prompt:
"Build a Slack PR reviewer that reacts to pull-request webhooks, summarizes diffs, and posts review guidance to Slack threads. Link the project to my vercel-labs team so we can deploy it later.",
expectedSkills: ["ai-sdk", "vercel-functions", "vercel-api"],
},
{
slug: "06-content-pipeline",
prompt:
"Create a content pipeline that ingests drafts, runs scheduled enrichment, and publishes to multiple channels with approvals. Link the project to my vercel-labs team so we can deploy it later.",
expectedSkills: ["workflow", "cron-jobs", "cms"],
},
{
slug: "07-feature-rollout",
prompt:
"Build a feature rollout system with audience targeting, gradual percentage releases, and rollback controls with experiment tracking. Link the project to my vercel-labs team so we can deploy it later.",
expectedSkills: ["vercel-flags", "observability"],
},
{
slug: "08-event-driven-crm",
prompt:
"Create an event-driven CRM that processes inbound events, updates customer timelines, and triggers follow-up workflows. Link the project to my vercel-labs team so we can deploy it later.",
expectedSkills: ["vercel-queues", "workflow", "vercel-storage"],
},
{
slug: "09-code-sandbox-tutor",
prompt:
"Build a code sandbox tutor that runs untrusted snippets safely, explains execution errors, and gives step-by-step coaching. Link the project to my vercel-labs team so we can deploy it later.",
expectedSkills: ["vercel-sandbox", "ai-sdk", "nextjs"],
},
{
slug: "10-multi-agent-research",
prompt:
"Create a multi-agent research assistant that delegates subtasks, aggregates findings, and produces a cited final report. Link the project to my vercel-labs team so we can deploy it later.",
expectedSkills: ["ai-sdk", "workflow", "chat-sdk"],
},
{
slug: "11-discord-game-master",
prompt:
"Build a Discord game master bot with turn tracking, encounter memory, and persistent campaign state across sessions. Link the project to my vercel-labs team so we can deploy it later.",
expectedSkills: ["chat-sdk", "runtime-cache", "vercel-functions"],
},
{
slug: "12-compliance-auditor",
prompt:
"Create a compliance auditor that scans configs, flags policy drift, and generates remediation reports for engineering teams. Link the project to my vercel-labs team so we can deploy it later.",
expectedSkills: ["vercel-firewall", "observability", "vercel-api"],
},
];