Back to Skills

create-agent

pjt222
Updated 2 days ago
4 views
17
2
17
View on GitHub
Metaaidesign

About

The `create-agent` skill generates new agent definition files following the `agent-almanac` template and conventions. It guides developers through persona design, tool/skill selection, model choice, and proper registry integration. Use it when adding a specialized agent to the library or creating a domain-specific assistant with curated capabilities.

Quick Install

Claude Code

Recommended
Primary
npx skills add pjt222/agent-almanac -a claude-code
Plugin CommandAlternative
/plugin add https://github.com/pjt222/agent-almanac
Git CloneAlternative
git clone https://github.com/pjt222/agent-almanac.git ~/.claude/skills/create-agent

Copy and paste this command in Claude Code to install this skill

Documentation

Create a New Agent

Define Claude Code subagent persona: focused purpose + curated tools + skills + docs.

Use When

  • New specialist agent for uncovered domain
  • Convert recurring workflow → reusable persona
  • Domain-specific assistant w/ curated skills + tools
  • Split broad agent → single-responsibility
  • Design new team member pre-composition

In

  • Required: Name (kebab-case, data-engineer)
  • Required: 1-line desc of primary purpose
  • Required: Purpose statement
  • Optional: Model (def: sonnet; alt: opus, haiku)
  • Optional: Priority (def: normal; alt: high, low)
  • Optional: Skills from skills/_registry.yml
  • Optional: MCP servers (r-mcptools, hf-mcp-server)

Do

Step 1: Persona

  • Name: kebab-case, role-descriptive. Noun/domain prefix: security-analyst, r-developer. Avoid helper/assistant.
  • Purpose: 1 paragraph → specific problem. "What does this agent do no existing covers?"
  • Style: Tech → precise + citations. Creative → exploratory. Compliance → formal + audit.

Check overlap w/ existing 53 agents:

grep -i "description:" agents/_registry.yml | grep -i "<your-domain-keywords>"

Got: No overlap. If partial → extend existing.

If err: Significant overlap → extend agent's skills OR narrow scope to complement.

Step 2: Tools

Min tool set, least-privilege.

Tool SetUse WhenExample Agents
[Read, Grep, Glob]Read-only analysis, review, auditcode-reviewer, security-analyst, auditor
[Read, Grep, Glob, WebFetch]Analysis + external lookupsenior-researcher
[Read, Write, Edit, Bash, Grep, Glob]Full dev — create/modify coder-developer, web-developer, devops-engineer
[Read, Write, Edit, Bash, Grep, Glob, WebFetch, WebSearch]Dev + external researchpolymath, shapeshifter

No Bash for analyze-only. No WebFetch/WebSearch unless external lookup needed.

Got: Tool list only what agent uses in primary workflows.

If err: Cap doesn't need tool → remove.

Step 3: Model

  • sonnet (def): Most agents. Reasoning + speed. Dev, review, analysis.
  • opus: Complex reasoning, multi-step, nuanced. Senior agents, arch, deep domain.
  • haiku: Simple fast. Lookups, formatting, templates.

Got: Model matches cognitive demand.

If err: Doubt → sonnet. Upgrade → opus only if insufficient.

Step 4: Skills

Browse registry, select domain skills:

# List all skills in a domain
grep -A3 "domain-name:" skills/_registry.yml

# Search for skills by keyword
grep -i "keyword" skills/_registry.yml

Build skills list:

skills:
  - skill-id-one
  - skill-id-two
  - skill-id-three

Important: All agents auto-inherit defaults (meditate, heal) from registry default_skills. Do NOT list unless core to methodology (e.g., mystic lists meditate → its primary purpose).

Got: 3-15 skill IDs exist in skills/_registry.yml.

If err: Verify: grep "id: skill-name" skills/_registry.yml. Remove non-matching.

Step 5: Write File

cp agents/_template.md agents/<agent-name>.md

Fill frontmatter:

---
name: agent-name
description: One to two sentences describing primary capability and domain
tools: [Read, Write, Edit, Bash, Grep, Glob]
model: sonnet
version: "1.0.0"
author: Philipp Thoss
created: YYYY-MM-DD
updated: YYYY-MM-DD
tags: [domain, specialty, relevant-keywords]
priority: normal
max_context_tokens: 200000
skills:
  - assigned-skill-one
  - assigned-skill-two
# Note: All agents inherit default skills (meditate, heal) from the registry.
# Only list them here if they are core to this agent's methodology.
# mcp_servers: []  # Uncomment and populate if MCP servers are needed
---

Got: YAML parses. Required fields present.

If err: Validate syntax. Common: missing quotes on ver, bad indent, unclosed brackets.

Step 6: Purpose + Capabilities

Purpose: 1 paragraph → specific problem + value. Concrete: domain, workflow, outcome.

Capabilities: Bullets w/ bold leads. Group by cat if many:

## Capabilities

- **Primary Capability**: What the agent does best
- **Secondary Capability**: Additional functionality
- **Tool Integration**: How it leverages its tools

Available Skills: Bare IDs + brief:

## Available Skills

- `skill-id` - Brief description of what the skill does

Got: Purpose specific (not "helps w/ dev"), caps concrete + verifiable, skills match frontmatter.

If err: Vague → "What specific task user asks?" → use as purpose.

Step 7: Usage Scenarios + Examples

2-3 scenarios → spawn patterns:

### Scenario 1: Primary Use Case
Brief description of the main scenario.

> "Use the agent-name agent to [specific task]."

### Scenario 2: Alternative Use Case
Description of another common use case.

> "Spawn the agent-name to [different task]."

1-2 examples → req + expected behavior:

### Example 1: Basic Usage
**User**: [Specific request]
**Agent**: [Expected response pattern and actions taken]

Got: Scenarios realistic, examples show value, spawn patterns match Claude Code.

If err: Mental test → could agent fulfill w/ assigned tools + skills?

Step 8: Limitations + See Also

Limitations: 3-5 honest. Cannot / should not / poor result scenarios:

## Limitations

- Cannot execute code in language X (no runtime available)
- Not suitable for tasks requiring Y — use Z agent instead
- Requires MCP server ABC to be running for full functionality

See Also: Cross-ref complementary agents, guides, teams:

## See Also

- [complementary-agent](complementary-agent.md) - handles the X side of this workflow
- [relevant-guide](../guides/guide-name.md) - background knowledge for this domain
- [relevant-team](../teams/team-name.md) - team that includes this agent

Got: Limits honest + specific. See Also refs exist.

If err: ls agents/complementary-agent.md → verify.

Step 9: Registry

Edit agents/_registry.yml, add entry alphabetical:

  - id: agent-name
    path: agents/agent-name.md
    description: Same one-line description from frontmatter
    tags: [domain, specialty]
    priority: normal
    tools: [Read, Write, Edit, Bash, Grep, Glob]
    skills:
      - skill-id-one
      - skill-id-two

Increment total_agents.

Got: Entry matches frontmatter. total_agents = count.

If err: grep -c "^ - id:" agents/_registry.yml → verify match.

Step 10: Discovery

Claude Code → .claude/agents/ → symlink to agents/:

# Verify the symlink exists and resolves
ls -la .claude/agents/
readlink -f .claude/agents/<agent-name>.md

Symlink intact → auto-discoverable.

Regen README:

npm run update-readmes

Got: Symlink resolves. agents/README.md has new agent.

If err: Broken → ln -sf ../agents .claude/agents. Script fail → check scripts/generate-readmes.js + js-yaml.

Step 11: Scaffold Translations

Required for all agents. Human + AI authors. Do not skip → backlog.

Scaffold for 4 locales post-commit:

for locale in de zh-CN ja es; do
  npm run translate:scaffold -- agents <agent-name> "$locale"
done

Translate prose (code + IDs stay EN). Regen status:

npm run translation:status

Got: 4 files at i18n/{de,zh-CN,ja,es}/agents/<agent-name>.md, source_commit = HEAD. npm run validate:translations → 0 stale.

If err: Scaffold fail → verify agent in registry. Status stale → run npm run translation:status explicitly (no CI auto).

Check

  • File at agents/<agent-name>.md
  • YAML parses
  • Required fields: name, description, tools, model, version, author
  • name = filename (no .md)
  • Sections: Purpose, Capabilities, Available Skills, Usage Scenarios, Examples, Limitations, See Also
  • Skills in frontmatter exist in registry
  • Default skills (meditate, heal) NOT listed unless core
  • Tools = least-privilege
  • Registry entry + matching metadata
  • total_agents updated
  • .claude/agents/ symlink resolves
  • No overlap w/ existing

Traps

  • Tool over-prov: Bash/Write/WebFetch when only read-analyze. Start min, add as caps require.
  • Bad skill IDs: Non-existent IDs / forgetting skills. Verify: grep "id: skill-name" skills/_registry.yml.
  • Redundant defaults: meditate/heal already inherited. List only if core (mystic, alchemist, gardener, shaman).
  • Scope overlap: Duplicating existing agent. Search registry → extend existing.
  • Vague purpose: "Helps w/ dev" vs "scaffolds R pkgs w/ full struct + docs + CI". Specificity = useful + discoverable.

  • create-skill — parallel SKILL.md proc
  • create-team — compose agents → team
  • commit-changes — commit agent + registry

GitHub Repository

pjt222/agent-almanac
Path: i18n/caveman-ultra/skills/create-agent
0
agentsagentskillsai-assisted-developmentclaude-codeskillsteams

Related Skills

content-collections

Meta

This skill provides a production-tested setup for Content Collections, a TypeScript-first tool that transforms Markdown/MDX files into type-safe data collections with Zod validation. Use it when building blogs, documentation sites, or content-heavy Vite + React applications to ensure type safety and automatic content validation. It covers everything from Vite plugin configuration and MDX compilation to deployment optimization and schema validation.

View skill

polymarket

Meta

This skill enables developers to build applications with the Polymarket prediction markets platform, including API integration for trading and market data. It also provides real-time data streaming via WebSocket to monitor live trades and market activity. Use it for implementing trading strategies or creating tools that process live market updates.

View skill

creating-opencode-plugins

Meta

This skill helps developers create OpenCode plugins that hook into 25+ event types like commands, files, and LSP operations. It provides the plugin structure, event API specifications, and implementation patterns for JavaScript/TypeScript modules. Use it when you need to intercept, monitor, or extend the OpenCode AI assistant's lifecycle with custom event-driven logic.

View skill

sglang

Meta

SGLang is a high-performance LLM serving framework that specializes in fast, structured generation for JSON, regex, and agentic workflows using its RadixAttention prefix caching. It delivers significantly faster inference, especially for tasks with repeated prefixes, making it ideal for complex, structured outputs and multi-turn conversations. Choose SGLang over alternatives like vLLM when you need constrained decoding or are building applications with extensive prefix sharing.

View skill