analytics-metrics
Build data visualization and analytics dashboards. Use when creating charts, KPI displays, metrics dashboards, or data…
Deploy and configure applications on Vercel. Use when deploying Next.js apps, configuring serverless functions, setting up edge functions, or managing Vercel projects. Triggers on Vercel, deploy, serverless, edge function, Next.js deployment.
Claude Code
$ npx -y skills add hoodini/ai-agents-skills --skill vercel --agent claude-code
Codex
$ npx skills add hoodini/ai-agents-skills --skill vercel -a codex -y
Cursor
$ npx skills add hoodini/ai-agents-skills --skill vercel -a cursor -y
Gemini CLI
$ npx skills add hoodini/ai-agents-skills --skill vercel -a gemini-cli -y
GitHub Copilot
$ npx skills add hoodini/ai-agents-skills --skill vercel -a github-copilot -y
OpenCode
$ npx skills add hoodini/ai-agents-skills --skill vercel -a opencode -y
Windsurf
$ npx skills add hoodini/ai-agents-skills --skill vercel -a windsurf -y
name: vercel description: Deploy and configure applications on Vercel. Use when deploying Next.js apps, configuring serverless functions, setting up edge functions, or managing Vercel projects. Triggers on Vercel, deploy, serverless, edge function, Next.js deployment.
Deploy and scale applications on Vercel's edge network.
# Install Vercel CLI npm i -g vercel # Deploy vercel # Production deploy vercel --prod
{
"buildCommand": "npm run build",
"outputDirectory": ".next",
"framework": "nextjs",
"regions": ["iad1", "sfo1"],
"functions": {
"api/**/*.ts": {
"memory": 1024,
"maxDuration": 30
}
},
"rewrites": [
{ "source": "/api/:path*", "destination": "/api/:path*" },
{ "source": "/:path*", "destination": "/" }
],
"headers": [
{
"source": "/api/:path*",
"headers": [
{ "key": "Access-Control-Allow-Origin", "value": "*" }
]
}
],
"env": {
"DATABASE_URL": "@database-url"
}
}// api/hello.ts
import type { VercelRequest, VercelResponse } from '@vercel/node';
export default function handler(req: VercelRequest, res: VercelResponse) {
const { name = 'World' } = req.query;
res.status(200).json({ message: `Hello ${name}!` });
}// api/edge.ts
export const config = {
runtime: 'edge',
};
export default function handler(request: Request) {
return new Response(JSON.stringify({ message: 'Hello from Edge!' }), {
headers: { 'content-type': 'application/json' },
});
}// app/api/route.ts
import { NextResponse } from 'next/server';
export async function GET(request: Request) {
const { searchParams } = new URL(request.url);
const name = searchParams.get('name') ?? 'World';
return NextResponse.json({ message: `Hello ${name}!` });
}
export async function POST(request: Request) {
const body = await request.json();
return NextResponse.json({ received: body });
}// app/posts/[id]/page.tsx
export const revalidate = 60; // Revalidate every 60 seconds
export async function generateStaticParams() {
const posts = await getPosts();
return posts.map((post) => ({ id: post.id }));
}
export default async function Post({ params }: { params: { id: string } }) {
const post = await getPost(params.id);
return <article>{post.content}</article>;
}import { kv } from '@vercel/kv';
// Set
await kv.set('user:123', { name: 'Alice', visits: 0 });
// Get
const user = await kv.get('user:123');
// Increment
await kv.incr('user:123:visits');
// Hash operations
await kv.hset('session:abc', { userId: '123', expires: Date.now() + 3600000 });
const session = await kv.hgetall('session:abc');import { sql } from '@vercel/postgres';
// Query
const { rows } = await sql`SELECT * FROM users WHERE id = ${userId}`;
// Insert
await sql`INSERT INTO users (name, email) VALUES (${name}, ${email})`;
// Transaction
await sql.query('BEGIN');
try {
await sql`UPDATE accounts SET balance = balance - ${amount} WHERE id = ${from}`;
await sql`UPDATE accounts SET balance = balance + ${amount} WHERE id = ${to}`;
await sql.query('COMMIT');
} catch (e) {
await sql.query('ROLLBACK');
throw e;
}# Add secret vercel env add DATABASE_URL production # Pull env vars locally vercel env pull .env.local # List env vars vercel env ls
// vercel.json
{
"crons": [
{
"path": "/api/daily-job",
"schedule": "0 0 * * *"
}
]
}// api/daily-job.ts
export default function handler(req, res) {
// Verify it's from Vercel Cron
if (req.headers['authorization'] !== `Bearer ${process.env.CRON_SECRET}`) {
return res.status(401).end();
}
// Run job
await runDailyJob();
res.status(200).end();
}🧠 AI Agent Skills Repository - A curated collection of specialized skills for AI coding agents (Claude Code, GitHub Copilot, Cursor, Windsurf). Created by Yuval Avidani using GitHub Copilot via VS Code Insiders.
Build data visualization and analytics dashboards. Use when creating charts, KPI displays, metrics dashboards, or data…
Manage AWS accounts, organizations, IAM, and billing. Use when setting up AWS Organizations, managing IAM policies, controlling…
Build a new AI agent on AWS and deploy it easily, OR wrap and deploy an agent you already have, using the Amazon Bedrock…
Build AI agents with the Strands Agents SDK - the open-source framework (the agent "brain") for writing agent logic, tools, and…
Build fast applications with Bun JavaScript runtime. Use when creating Bun projects, using Bun APIs, bundling, testing, or…
Build a premium cinematic landing page with mouse-scrub video hero and brand-driven narrative-arc sections. Use whenever the user…
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…
Ask which skill or flow fits your situation. A router over the skills in this repo.