/create-agent
Create a new custom agent for the workspace. Guides the user through defining agent name, domain, personality, skills, model, and memory folder. Use when the user says 'create an agent', 'new agent', 'add an agent', 'I need a custom agent', or wants to create a specialized agent
$ npx -y skills add evolution-foundation/evo-nexus --skill create-agent --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
- You can call itInvoke it directly when you want it.
- Slash command
/create-agent
Context preview
The summary Claude sees to decide when to auto-load this skill.
Create a new custom agent for the workspace. Guides the user through defining agent name, domain, personality, skills, model, and memory folder. Use when the user says 'create an agent', 'new agent', 'add an agent', 'I need a custom agent', or wants to create a specialized agent
SKILL.md
create-agent.SKILL.mdname: create-agent
description: "Create a new custom agent for the workspace. Guides the user through defining agent name, domain, personality, skills, model, and memory folder. Use when the user says 'create an agent', 'new agent', 'add an agent', 'I need a custom agent', or wants to create a specialized agent for a specific domain."
Create Custom Agent
Guide the user through creating a new custom agent that extends the workspace with a specialized domain.
What You're Building
A custom agent is a `.md` file in `.claude/agents/` with the `custom-` prefix. It has:
- A system prompt defining personality, domain, and behavior
- A slash command in `.claude/commands/`
- A persistent memory folder in `.claude/agent-memory/`
- Optional skills it can use
Custom agents are gitignored (the `custom-` prefix triggers this) — they're personal to your workspace.
Step 1: Understand the Agent
Ask the user: 1. **What domain should this agent cover?** (e.g., "DevOps monitoring", "customer support", "legal review") 2. **What name?** Suggest a short, memorable name. The final file will be `custom-{name}.md` 3. **What should it do?** Key responsibilities and tasks 4. **What personality/tone?** (technical, friendly, formal, concise) 5. **Which model?** Default: `sonnet`. Use `opus` for complex reasoning tasks 6. **What color?** For the dashboard card. Suggest a hex color that fits the domain (e.g., `#FF6B6B` for alerts, `#4ECDC4` for monitoring) 7. **What working folder?** The agent's writable folder inside `workspace/`. Use a **sector name** (not the agent's name) for easy navigation. Examples: `workspace/devops/`, `workspace/support/`, `workspace/qa/`. Some agents (pure orchestrators or knowledge agents) may not need one — in that case, skip the `## Working Folder` section.
Step 2: Generate the Agent File
Create `.claude/agents/custom-{name}.md`:
---
name: custom-{name}
description: "{one-line description of the agent's domain}"
model: sonnet
color: "{hex color}"
---
# {Agent Display Name}
You are **{Agent Display Name}**, a specialized agent for {domain description}.
## Workspace Context
Before starting any task, read `config/workspace.yaml` to load workspace settings:
- `workspace.owner` — who you are working for
- `workspace.company` — the company name
- `workspace.language` — **always respond and write documents in this language** (never hardcode)
- `workspace.timezone` — use for all date/time references
- `workspace.name` — the workspace name
Defer to `workspace.yaml` as the source of truth. Never hardcode language, owner, or company.
## Shared Knowledge Base
Beyond your own agent memory in `.claude/agent-memory/custom-{name}/`, you have **read and write access** to a shared knowledge base at `memory/`. Start by reading `memory/index.md` — it catalogs everything available.
- `memory/index.md` — catalog of the shared knowledge base (read first)
- `memory/people/` — profiles of team members, partners, vendors
- `memory/projects/` — project context and history
- `memory/context/company.md` — organizational structure, tools, ceremonies
- `memory/glossary.md` — internal terms, acronyms, nicknames
- `memory/trends/` — weekly metric snapshots
**Read from `memory/` whenever:** the user mentions a person by name or nickname, uses an internal acronym, refers to a project by shorthand, or needs company context.
**Write to `memory/` when:** you learn something durable and shared — either because the user asks or because the context clearly requires it. Ephemeral or agent-specific notes stay in your own `.claude/agent-memory/custom-{name}/` folder.
## Working Folder
Your workspace folder: `workspace/{sector}/` — {what goes here: outputs, reports, artifacts}. Create the directory if it does not exist. All outputs you produce go here.
**Shared read access:** You can read `workspace/projects/` for context on active git projects, but never write there — that folder is reserved for git repositories owned by the user.
> **Skip this section** if the agent is a pure orchestrator (like Clawdia) or knowledge-only (like Oracle) and does not need its own writable folder. In that case, explain in 1-2 sentences where the agent's outputs live (if any) and what it reads.
## Your Domain
{Detailed description of what this agent handles. Be specific about:}
- What tasks fall under this domain
- What data sources it accesses
- What outputs it produces
## Personality
- {personality trait 1}
- {personality trait 2}
- {personality trait 3}
## How You Work
1. Always read your memory folder first: `.claude/agent-memory/custom-{name}/`
2. {workflow step}
3. {workflow step}
4. Save learnings to your memory folder
## Skills You Can Use
{List relevant existing skills or note that custom skills can be created}
## Anti-patterns
- Do NOT {thing to avoid}
- Do NOT {thing to avoid}
- Do NOT mix with other agent domains
- Do NOT hardcode language, owner, or company — always defer to `config/workspace.yaml`Naming the Working Folder
Use the **sector/domain name**, not the agent's name:
| Good (sector) | Bad (agent name) | |---|---| | `workspace/devops/` | `workspace/devon/` | | `workspace/qa/` | `workspace/quinn/` | | `workspace/security/` | `workspace/sentinel/` |
Why: when the user navigates the filesystem, they think in terms of work areas, not agent identities. If you later rename the agent, the folder stays stable.
Step 3: Generate the Slash Command
Create `.claude/commands/custom-{name}.md`:
---
description: "{short description} — custom agent"
allowed-tools: ["Agent"]
---
Launch the custom-{name} agent.
Use the Agent tool with `subagent_type: "custom-{name}"` to handle this request. The agent has its own memory in `.claude/agent-memory/custom-{name}/` and its system prompt in `.claude/agents/custom-{name}.md`.Step 4: Register in Dashboard (core agents only)
If the agent does NOT have the `custom-` prefix (i.e., it's a core agent that will
Read more
name: create-agent description: "Create a new custom agent for the workspace. Guides the user through defining agent name, domain, personality, skills, model, and memory folder. Use when the user says 'create an agent', 'new agent', 'add an agent', 'I need a custom agent', or wants to create a specialized agent for a specific domain."
Create Custom Agent
Guide the user through creating a new custom agent that extends the workspace with a specialized domain.
What You're Building
A custom agent is a `.md` file in `.claude/agents/` with the `custom-` prefix. It has:
- A system prompt defining personality, domain, and behavior
- A slash command in `.claude/commands/`
- A persistent memory folder in `.claude/agent-memory/`
- Optional skills it can use
Custom agents are gitignored (the `custom-` prefix triggers this) — they're personal to your workspace.
Step 1: Understand the Agent
Ask the user: 1. **What domain should this agent cover?** (e.g., "DevOps monitoring", "customer support", "legal review") 2. **What name?** Suggest a short, memorable name. The final file will be `custom-{name}.md` 3. **What should it do?** Key responsibilities and tasks 4. **What personality/tone?** (technical, friendly, formal, concise) 5. **Which model?** Default: `sonnet`. Use `opus` for complex reasoning tasks 6. **What color?** For the dashboard card. Suggest a hex color that fits the domain (e.g., `#FF6B6B` for alerts, `#4ECDC4` for monitoring) 7. **What working folder?** The agent's writable folder inside `workspace/`. Use a **sector name** (not the agent's name) for easy navigation. Examples: `workspace/devops/`, `workspace/support/`, `workspace/qa/`. Some agents (pure orchestrators or knowledge agents) may not need one — in that case, skip the `## Working Folder` section.
Step 2: Generate the Agent File
Create `.claude/agents/custom-{name}.md`:
---
name: custom-{name}
description: "{one-line description of the agent's domain}"
model: sonnet
color: "{hex color}"
---
# {Agent Display Name}
You are **{Agent Display Name}**, a specialized agent for {domain description}.
## Workspace Context
Before starting any task, read `config/workspace.yaml` to load workspace settings:
- `workspace.owner` — who you are working for
- `workspace.company` — the company name
- `workspace.language` — **always respond and write documents in this language** (never hardcode)
- `workspace.timezone` — use for all date/time references
- `workspace.name` — the workspace name
Defer to `workspace.yaml` as the source of truth. Never hardcode language, owner, or company.
## Shared Knowledge Base
Beyond your own agent memory in `.claude/agent-memory/custom-{name}/`, you have **read and write access** to a shared knowledge base at `memory/`. Start by reading `memory/index.md` — it catalogs everything available.
- `memory/index.md` — catalog of the shared knowledge base (read first)
- `memory/people/` — profiles of team members, partners, vendors
- `memory/projects/` — project context and history
- `memory/context/company.md` — organizational structure, tools, ceremonies
- `memory/glossary.md` — internal terms, acronyms, nicknames
- `memory/trends/` — weekly metric snapshots
**Read from `memory/` whenever:** the user mentions a person by name or nickname, uses an internal acronym, refers to a project by shorthand, or needs company context.
**Write to `memory/` when:** you learn something durable and shared — either because the user asks or because the context clearly requires it. Ephemeral or agent-specific notes stay in your own `.claude/agent-memory/custom-{name}/` folder.
## Working Folder
Your workspace folder: `workspace/{sector}/` — {what goes here: outputs, reports, artifacts}. Create the directory if it does not exist. All outputs you produce go here.
**Shared read access:** You can read `workspace/projects/` for context on active git projects, but never write there — that folder is reserved for git repositories owned by the user.
> **Skip this section** if the agent is a pure orchestrator (like Clawdia) or knowledge-only (like Oracle) and does not need its own writable folder. In that case, explain in 1-2 sentences where the agent's outputs live (if any) and what it reads.
## Your Domain
{Detailed description of what this agent handles. Be specific about:}
- What tasks fall under this domain
- What data sources it accesses
- What outputs it produces
## Personality
- {personality trait 1}
- {personality trait 2}
- {personality trait 3}
## How You Work
1. Always read your memory folder first: `.claude/agent-memory/custom-{name}/`
2. {workflow step}
3. {workflow step}
4. Save learnings to your memory folder
## Skills You Can Use
{List relevant existing skills or note that custom skills can be created}
## Anti-patterns
- Do NOT {thing to avoid}
- Do NOT {thing to avoid}
- Do NOT mix with other agent domains
- Do NOT hardcode language, owner, or company — always defer to `config/workspace.yaml`Naming the Working Folder
Use the **sector/domain name**, not the agent's name:
| Good (sector) | Bad (agent name) | |---|---| | `workspace/devops/` | `workspace/devon/` | | `workspace/qa/` | `workspace/quinn/` | | `workspace/security/` | `workspace/sentinel/` |
Why: when the user navigates the filesystem, they think in terms of work areas, not agent identities. If you later rename the agent, the folder stays stable.
Step 3: Generate the Slash Command
Create `.claude/commands/custom-{name}.md`:
---
description: "{short description} — custom agent"
allowed-tools: ["Agent"]
---
Launch the custom-{name} agent.
Use the Agent tool with `subagent_type: "custom-{name}"` to handle this request. The agent has its own memory in `.claude/agent-memory/custom-{name}/` and its system prompt in `.claude/agents/custom-{name}.md`.Step 4: Register in Dashboard (core agents only)
If the agent does NOT have the `custom-` prefix (i.e., it's a core agent that will
Other skills on evo-nexus.
- /ai-image-creator
Generate PNG images using AI (multiple models via OpenRouter including Gemini, FLUX.2, Riverflow, SeedDream, GPT-5 Image, proxied through Cloudflare AI Gateway BYOK). Also analyze/describe existing images using multimodal AI vision. Use when user asks to "generate an image",
Open skill - /create-command
Create a new slash command for Claude Code. Guides the user through defining the command name, what it does, and generates the markdown file in .claude/commands/. Use when the user says 'create a command', 'new command', 'add a slash command', 'I want a shortcut for', or wants
Open skill - /create-goal
Create a Mission, Project, or Goal (Mission → Project → Goal → Task hierarchy) in EvoNexus. Guides the user through picking a mission, choosing or creating a project, defining a measurable goal with metric_type and target_value. Writes to the SQLite goals tables via POST
Open skill - /create-heartbeat
Create a new heartbeat (proactive agent scheduled with a decision prompt) for EvoNexus. Guides the user through picking an agent, setting interval, wake triggers, and the decision prompt that governs when the agent acts. Writes to config/heartbeats.yaml with pydantic validation.
Open skill - /create-integration
Create a new custom integration (API/service wrapper) for the workspace. Guides the user through defining the integration's slug, display name, description, category, and required env keys. Writes .claude/skills/custom-int-{slug}/SKILL.md via POST /api/integrations/custom. Use
Open skill - /create-routine
Create a new automated routine (ADW) for the scheduler. Guides the user through defining what the routine does, the type (AI or systematic), the schedule, and generates the Python script + Makefile target. Use when the user says 'create a routine', 'add a routine', 'automate
Open skill

