{"owner":"vercel-labs","repo":"agent-skills","hasSkills":true,"hasMcp":false,"mcpConfig":null,"found":["AGENTS.md"],"files":{"AGENTS.md":"# AGENTS.md\n\nThis file provides guidance to AI coding agents (Claude Code, Cursor, Copilot, etc.) when working with code in this repository.\n\n## Repository Overview\n\nA collection of skills for AI coding agents working with Vercel projects. Skills are packaged instructions and scripts that extend agent capabilities.\n\n## Creating a New Skill\n\n### Directory Structure\n\n```\nskills/\n  {skill-name}/           # kebab-case directory name\n    SKILL.md              # Required: skill definition\n    scripts/              # Optional: executable scripts\n      {script-name}.sh    # Bash scripts\n      {script-name}.mjs   # Node scripts\n    references/           # Optional: supporting docs loaded on demand\n    lib/                  # Optional: shared code for scripts\n```\n\n### Naming Conventions\n\n- **Skill directory**: `kebab-case` (e.g., `vercel-deploy`, `log-monitor`)\n- **SKILL.md**: Always uppercase, always this exact filename\n- **Scripts**: `kebab-case.sh` or `kebab-case.mjs` (e.g., `deploy.sh`, `collect-signals.mjs`)\n\n### SKILL.md Format\n\n```markdown\n---\nname: {skill-name}\ndescription: {One sentence describing when to use this skill. Include trigger phrases like \"Deploy my app\", \"Check logs\", etc.}\n---\n\n# {Skill Title}\n\n{Brief description of what the skill does.}\n\n## How It Works\n\n{Numbered list explaining the skill's workflow}\n\n## Usage\n\n```bash\nbash /mnt/skills/user/{skill-name}/scripts/{script}.sh [args]\n```\n\n**Arguments:**\n- `arg1` - Description (defaults to X)\n\n**Examples:**\n{Show 2-3 common usage patterns}\n\n## Output\n\n{Show example output users will see}\n\n## Present Results to User\n\n{Template for how Claude should format results when presenting to users}\n\n## Troubleshooting\n\n{Common issues and solutions, especially network/permissions errors}\n```\n\n### Best Practices for Context Efficiency\n\nSkills are loaded on-demand — only the skill name and description are loaded at startup. The full `SKILL.md` loads into context only when the agent decides the skill is relevant. To minimize context usage:\n\n- **Keep SKILL.md under 500 lines** — put detailed reference material in separate files\n- **Write specific descriptions** — helps the agent know exactly when to activate the skill\n- **Use progressive disclosure** — reference supporting files that get read only when needed\n- **Prefer scripts over inline code** — script execution doesn't consume context (only output does)\n- **File references work one level deep** — link directly from SKILL.md to supporting files\n\n### Script Requirements\n\n- Bash scripts: use `#!/bin/bash` and `set -e`\n- Node scripts: use `#!/usr/bin/env node` and `.mjs`\n- Write status messages to stderr\n- Write machine-readable output (JSON) to stdout\n- Include a cleanup trap for temp files when scripts create them\n- Reference scripts by relative path, for example `node scripts/{script}.mjs`\n\n### End-User Installation\n\nDocument skills.sh installation for public skills:\n\n```bash\nnpx skills add vercel-labs/agent-skills --skill {skill-name}\n```\n\nFor manual installs, document the native path when the skill needs one.\n\n**Claude Code:**\n```bash\ncp -r skills/{skill-name} ~/.claude/skills/\n```\n\n**claude.ai:**\nAdd the skill to project knowledge or paste SKILL.md contents into the conversation.\n\nIf the skill requires network access, instruct users to add required domains at `claude.ai/settings/capabilities`.\n"}}