Atlas / Skills / vercel-labs / Agent Skills

Agent SkillsBLOCK

skills/vercel-labs/vercel-composition-patterns

Vercel's official collection of agent skills

Verdict
BLOCK
Grade
D
Trust score
63 /100
Version
1.0.0
Hosts
5 documented
License
—
Stars
32,806
01

Overview

From the repository's own README, as read at the audited commit. Badges and raw HTML are left out.

A collection of skills for AI coding agents. Skills are packaged instructions and scripts that extend agent capabilities.

Skills follow the Agent Skills format.

[](https://skills.sh/vercel-labs/agent-skills)

Available Skills

vercel-optimize

Audits a Vercel project for cost, performance, reliability, caching, function usage, and billing opportunities. It collects Vercel metrics first, then investigates only the routes and files those metrics point to.

Use when:

  • Optimizing a deployed Vercel project
  • Reducing Vercel costs or function usage
  • Investigating slow or expensive routes
  • Finding caching, ISR, middleware, image, or build-minute issues
  • Producing a ranked cost and performance report

react-best-practices

React and Next.js performance optimization guidelines from Vercel Engineering. Contains 40+ rules across 8 categories, prioritized by impact.

Use when:

  • Writing new React components or Next.js pages
  • Implementing data fetching (client or server-side)
  • Reviewing code for performance issues
  • Optimizing bundle size or load times

Categories covered:

  • Eliminating waterfalls (Critical)
  • Bundle size optimization (Critical)
  • Server-side performance (High)
  • Client-side data fetching (Medium-High)
  • Re-render optimization (Medium)
  • Rendering performance (Medium)
  • JavaScript micro-optimizations (Low-Medium)

web-design-guidelines

Review UI code for compliance with web interface best practices. Audits your code for 100+ rules covering accessibility, performance, and UX.

Use when:

  • "Review my UI"
  • "Check accessibility"
  • "Audit design"
  • "Review UX"
  • "Check my site against best practices"

Categories covered:

  • Accessibility (aria-labels, semantic HTML, keyboard handlers)
  • Focus States (visible focus, focus-visible patterns)
  • Forms (autocomplete, validation, error handling)
  • Animation (prefers-reduced-mo
Read from source at commit 6ba015b848c1OBSERVED · 2026-10-22
Advertisement
02

Install

Commands as the repository documents them. They are shown, not run.

npx skills add vercel-labs/agent-skills --skill {skill-name}
npx skills add vercel-labs/agent-skills
npm install -g vercel
npx skills add https://github.com/vercel-labs/agent-skills --skill vercel-react-view-transitions
npm install -g vercel
git clone <repo-url>
03

Host compatibility

What the documentation claims. We have not run a compatibility test.

HostStatusNotes
claude-codementioned
claude-desktopmentioned
codexmentioned
copilotmentioned
cursormentioned
04

What it tells the agent

The instruction file, verbatim from the audited commit — this is the text the model reads, and the surface the audit's instruction layer examines. Quoted here so you can judge it without cloning anything.

---
name: vercel-composition-patterns
description:
  React composition patterns that scale. Use when refactoring components with
  boolean prop proliferation, building flexible component libraries, or
  designing reusable APIs. Triggers on tasks involving compound components,
  render props, context providers, or component architecture. Includes React 19
  API changes.
license: MIT
metadata:
  author: vercel
  version: '1.0.0'
---

# React Composition Patterns

Composition patterns for building flexible, maintainable React components. Avoid
boolean prop proliferation by using compound components, lifting state, and
composing internals. These patterns make codebases easier for both humans and AI
agents to work with as they scale.

## When to Apply

Reference these guidelines when:

- Refactoring components with many boolean props
- Building reusable component libraries
- Designing flexible component APIs
- Reviewing component architecture
- Working with compound components or context providers

## Rule Categories by Priority

| Priority | Category                | Impact | Prefix          |
| -------- | ----------------------- | ------ | --------------- |
| 1        | Component Architecture  | HIGH   | `architecture-` |
| 2        | State Management        | MEDIUM | `state-`        |
| 3        | Implementation Patterns | MEDIUM | `patterns-`     |
| 4        | React 19 APIs           | MEDIUM | `react19-`      |

## Quick Reference

### 1. Component Architecture (HIGH)

- `architecture-avoid-boolean-props` - Don't add boolean props to customize
  behavior; use composition
- `architecture-compound-components` - Structure complex components with shared
  context

### 2. State Management (MEDIUM)

- `state-decouple-implementation` - Provider is the only place that knows how
  state is managed
- `state-context-interface` - Define generic interface with state, actions, meta
  for dependency injection
- `state-lift-state` - Move state into provider components for sibling access

### 3. Implementation Patterns (MEDIUM)

- `patterns-explicit-variants` - Create explicit variant components instead of
  boolean modes
- `patterns-children-over-render-props` - Use children for composition instead
  of renderX props

### 4. React 19 APIs (MEDIUM)

> **⚠️ React 19+ only.** Skip this section if using React 18 or earlier.

- `react19-no-forwardref` - Don't use `forwardRef`; use `use()` instead of `useContext()`

## How to Use

Read individual rule files for detailed explanations and code examples:

```
rules/architecture-avoid-boolean-props.md
rules/state-context-interface.md
```

Each rule file contains:

- Brief explanation of why it matters
- Incorrect code example with explanation
- Correct code example with explanation
- Additional context and references

## Full Compiled Document

For the complete guide with all rules expanded: `AGENTS.md`
05

Trust audit

BLOCKgrade D · trust 63/100 Do not install this without reading the findings. The audit found something that could harm you or your machine.

LayerWhat it checksResult
L0Provenance & inventoryWARN
L1Static analysis of the codeFAIL
L2Instruction surface (what it tells the agent)FAIL
L3Class-specific surfacePASS
L4Behavioural (sandbox)SKIPPED

What the source does

Filesystem
declared (1 observation(s))
Network
declared (4 observation(s))
Shell
declared (1 observation(s))
Dependencies
not all pinned
Secrets in source
none-found

Findings (22)

HIGHCode injection · code.eval_exec · CWE-78, CWE-94, CWE-95
skills/vercel-optimize/lib/vercel.mjs:87
return await exec(command.file, [...command.prefix, ...args], { windowsHide: true, ...opts });
Why it matters. evaluates text as code
Fix. remove; use a parser or a dispatch table
HIGHPrompt injection · prompt.credential_read · CWE-94, CWE-1427
skills/vercel-cli-with-tokens/SKILL.md:302
- **Check the environment for tokens before asking the user.** Look in the current env and `.env` files first.
Why it matters. asks the agent to read credentials
MEDIUMInventory / provenance · inv.binary · CWE-1104
skills/deploy-to-vercel.zip
deploy-to-vercel.zip
Why it matters. a compiled or binary member cannot be reviewed from source
Fix. ship source, or explain the binary in the README
MEDIUMInventory / provenance · inv.binary · CWE-1104
skills/deploy-to-vercel/Archive.zip
Archive.zip
Why it matters. a compiled or binary member cannot be reviewed from source
Fix. ship source, or explain the binary in the README
MEDIUMInventory / provenance · inv.binary · CWE-1104
skills/react-best-practices.zip
react-best-practices.zip
Why it matters. a compiled or binary member cannot be reviewed from source
Fix. ship source, or explain the binary in the README
MEDIUMInventory / provenance · inv.binary · CWE-1104
skills/react-view-transitions.zip
react-view-transitions.zip
Why it matters. a compiled or binary member cannot be reviewed from source
Fix. ship source, or explain the binary in the README
MEDIUMInventory / provenance · inv.binary · CWE-1104
skills/vercel-cli-with-tokens.zip
vercel-cli-with-tokens.zip
Why it matters. a compiled or binary member cannot be reviewed from source
Fix. ship source, or explain the binary in the README
MEDIUMInsecure crypto · crypto.weak_random · CWE-327, CWE-338
skills/vercel-optimize/lib/gates/scanner-driven.mjs:104
return `Which 'use cache' boundaries in ${sample} embed new Date()/Date.now()/Math.random() that destabilizes cache keys, and can the timestamps be hoisted to a build constant or moved into a client u
LOWInventory / provenance · inv.no_license · CWE-1104
Why it matters. no LICENSE file and no repo licence
Fix. add a licence
LOWInventory / provenance · inv.symlink · CWE-1104
CLAUDE.md
CLAUDE.md
Why it matters. link not followed
LOWFilesystem / path · fs.traversal · CWE-22, CWE-59
packages/react-best-practices-build/src/config.ts:11
export const SKILLS_DIR = join(__dirname, '../../..', 'skills')
LOWFilesystem / path · fs.traversal · CWE-22, CWE-59
packages/vercel-optimize-tests/test/account-scope-grading.test.mjs:7
import { gradeRecommendation } from '../../../skills/vercel-optimize/lib/grade-recommendation.mjs';
LOWFilesystem / path · fs.traversal · CWE-22, CWE-59
packages/vercel-optimize-tests/test/budget-summary.test.mjs:4
import { buildBudgetSummary, renderBudgetSummaryMarkdown } from '../../../skills/vercel-optimize/lib/budget-summary.mjs';
LOWFilesystem / path · fs.traversal · CWE-22, CWE-59
packages/vercel-optimize-tests/test/build-minutes-fanout.test.mjs:3
import { gate, metadata } from '../../../skills/vercel-optimize/lib/gates/build-minutes-fanout.mjs';
LOWFilesystem / path · fs.traversal · CWE-22, CWE-59
packages/vercel-optimize-tests/test/cache-components-suspense-dedupe.test.mjs:3
import { scan, metadata } from '../../../skills/vercel-optimize/lib/scanners/cache-components-suspense-dedupe.mjs';
LOWSupply chain · supply.unpinned · CWE-829, CWE-1357
packages/react-best-practices-build/package.json
@types/node, tsx, typescript
Why it matters. 3 dependency range(s) float
Fix. pin exact versions or ship a lockfile
LOWPrompt injection · prompt.transfer_instruction · CWE-94, CWE-1427
skills/react-best-practices/AGENTS.md:850
For React Server Components and client components rendered during SSR, avoid using mutable module-level variables to share request-scoped data. Server renders can run concurrently in the same process.
Why it matters. an instruction to move sensitive data to an outside destination
Fix. remove; a skill never needs the user's secrets off the machine
LOWPrompt injection · prompt.transfer_instruction · CWE-94, CWE-1427
skills/react-best-practices/rules/server-no-shared-module-state.md:10
For React Server Components and client components rendered during SSR, avoid using mutable module-level variables to share request-scoped data. Server renders can run concurrently in the same process.
Why it matters. an instruction to move sensitive data to an outside destination
Fix. remove; a skill never needs the user's secrets off the machine
LOWPrivilege escalation / persistence · review.unsafe_action · CWE-269, CWE-250
skills/deploy-to-vercel/SKILL.md
npm install -g vercel
Why it matters. The skill instructs a global npm install as a step of the deploy flow, which modifies the user's machine at elevated scope beyond the project directory, though it is the standard Vercel CLI setup.
Fix. rewrite it so the instruction says plainly what it does, and asks the user before it acts
INFOInventory / provenance · inv.oversize · CWE-1104
packages/vercel-optimize-tests/test/fixtures/real-cli-output/metrics-fdt-by-route.json
packages/vercel-optimize-tests/test/fixtures/real-cli-output/metrics-fdt-by-route.json
Why it matters. 1108939 bytes not read
INFOInventory / provenance · inv.oversize · CWE-1104
packages/vercel-optimize-tests/test/fixtures/real-cli-output/metrics-isr-reads-by-route.json
packages/vercel-optimize-tests/test/fixtures/real-cli-output/metrics-isr-reads-by-route.json
Why it matters. 1012150 bytes not read
INFOInventory / provenance · inv.oversize · CWE-1104
packages/vercel-optimize-tests/test/fixtures/real-cli-output/metrics-isr-writes-by-route.json
packages/vercel-optimize-tests/test/fixtures/real-cli-output/metrics-isr-writes-by-route.json
Why it matters. 1018525 bytes not read

Gates applied: no_behavioural_pass, no_license.

Audited 2026-10-22 · audit v0.4.1 · source sha 6ba015b848c1full audit observations/trust-audit/skill/vercel-labs__vercel-composition-patterns.json · Report an issue / request a re-scan
06

Audit history

Every audit this skill has had.

DateSourceVerdictGradeScoreChange
2026-10-226ba015b848c1BLOCKD63first audit
07

Questions

What does the vercel-composition-patterns — vercel-labs/agent-skills skill do?

Vercel's official collection of agent skills

Is vercel-composition-patterns — vercel-labs/agent-skills safe to install?

No — not without reading the findings first. The audit graded it D (63/100) and found 2 critical or high issues in the source. Each one is listed on this page with the file and line it is on.

What can vercel-composition-patterns — vercel-labs/agent-skills access on my machine?

The audit observed that it reaches the network, runs shell commands and reads or writes files. Each of those is consistent with what it says it does. Secrets in the source: none found.

Which assistants does vercel-composition-patterns — vercel-labs/agent-skills work with?

Its documentation mentions claude-code, claude-desktop, codex, copilot and cursor. That is what the text claims, not a compatibility test we ran.

How current is this page?

The grade is for one exact copy of the source (6ba015b848c1), read on 2026-10-22. The repository is watched, and a new audit runs when it changes — this is the first audit.

Add this badge to your README

Shows this page's audit result and links back to it. It updates when the audit does.

ModelsAtlas audit badge

Markdown
[![ModelsAtlas audit: Agent Skills](https://modelsatlas.com/skills/vercel-labs/vercel-composition-patterns/badge.svg)](https://modelsatlas.com/skills/vercel-labs/vercel-composition-patterns/)

Not your listing, or something out of date? Claim or update your listing.

Advertisement