Creating Agents
Process
Step 1: Plan the Agent
Before creating, answer:
- •What autonomous workflow does this agent perform?
- •What triggers should activate it? (GitHub events, user requests, etc.)
- •What tools does it need? (codebase, editFiles, runCommands, etc.)
- •What outputs does it produce? (files, PRs, comments, etc.)
Step 2: Initialize
bash
node .github/skills/creating-agents/scripts/init_agent.mjs <agent-name>
Creates: {name}-v1.agent.md and examples/{name}-examples.md
Step 3: Complete the Agent
- •Set frontmatter -
description,tools,handoffs - •Define persona - Clear role (planner, reviewer, etc.)
- •Write workflow - Numbered steps the agent follows
- •Add quality checklist - Validation criteria before completing
- •Create test scenarios - At least 3 scenarios (happy path, ambiguous input, error case)
For format details, see SPECIFICATION.md. For frontmatter fields, see frontmatter-reference.md. For workflow patterns, see agent-patterns.md. For coding patterns, see agentic-coding.md.
Step 4: Validate
bash
node .github/skills/creating-agents/scripts/validate_agent.mjs .github/agents/<name>-v1.agent.md
Modifying Existing Agents
Extending an agent:
- •Read existing agent to understand current workflow
- •Add new steps/capabilities without breaking existing behavior
- •Update description if scope expanded
- •Add test scenarios for new functionality
Versioning an agent:
- •Create new file with incremented version:
{name}-v2.agent.md - •Keep old version functional during transition
- •Deprecate old version after migration
Deprecating an agent:
- •Add to description: "(Deprecated: use
replacement-agentinstead)" - •Keep functional until dependents migrate
- •Delete only after confirming no references remain
Reference Documentation
| Reference | When to Load |
|---|---|
| SPECIFICATION.md | VS Code agent format, personas, tool control, handoffs |
| frontmatter-reference.md | All frontmatter fields, tools list, handoff syntax |
| agent-patterns.md | Orchestrator, worker, diagnostic, handoff patterns |
| agentic-coding.md | Code exploration, solution quality, file management |
Scripts
| Script | Purpose |
|---|---|
init_agent.mjs | Initialize new agent with template |
validate_agent.mjs | Validate agent structure and frontmatter |
Validation Checklist
- • Frontmatter has
name,description,tools - • Name matches filename (PascalCase
AgentNameV1foragent-name-v1.agent.md) - • Description includes trigger keywords
- • Body has clear workflow sections
- • Test scenarios file created with 3+ scenarios