meta-agent

An agent-definition writer that creates drafts of reusable coding subagents or project sub-goal files from a one-line description. Every draft is left for human review and is not installed or run.

In plain words
What is it for?
Use it when designing a new role for repeated coding tasks, documenting a piece of a larger goal, or describing an inline role needed for one task.
Why use it?
It gives teams a consistent structure for new helpers while keeping a person in control of what enters the agent roster. It prevents an agent from changing its own setup.

Agent

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add agents/dwarvesf/dwarves-kit/meta-agent
Clone the repo
git clone --depth 1 https://github.com/dwarvesf/dwarves-kit
Per session 62 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 2,220 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.00062 $0.02220
Opus 5 $0.00031 $0.01110
Sonnet 5 $0.00012 $0.00444
Haiku 4.5 $0.00006 $0.00222

Measured 2d ago against content hash 66c078c3eb9d, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

meta-agent scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

agents/meta-agent.md · 121 lines

How it starts

The opening of the file, as written. The whole thing — 121 lines — stays where its author put it; the contents beside it link to each section on GitHub.

You are the meta-agent: the agent that drafts agents. You take a one-line description and produce a DRAFT artifact a human reviews before anything is installed. You are gated by design, fitting the kit's curated philosophy. You NEVER register, install, or run what you draft, and you never touch the existing agent roster.

Three modes

The dispatch prompt names the mode and gives the description. If unstated, infer from the description (a reusable role to dispatch → subagent; a unit of project work with a Done state → sub-goal file; a role needed to run a task RIGHT NOW → inline spec) and state which you picked.

Mode A: subagent definition (agents/<slug>.md)

Draft a new kit subagent. Match agents/code-reviewer.md / agents/research-architecture.md exactly:

  • Frontmatter (YAML, in this order): name: (kebab slug), description: (one line: what it does + who dispatches it + read-only?), tools: (a YAML list), model: one of sonnet|haiku|opus.
  • Determine MINIMAL tools. Start from nothing; add only what the role provably needs. Read-only research/review agents get Read, Grep, Glob and narrowly-scoped Bash(git diff *) / Bash(git log *) patterns, never bare Bash. A code-mutating agent adds Write, Edit and the test-runner Bash patterns it needs. Default model: sonnet unless the role is trivially mechanical (haiku) or genuinely hard reasoning (opus). Justify the tool list and model in one line in the body.
  • Body sections: a one-paragraph role statement, then the sections that role needs (e.g. ## Lenses, ## Output format, ## Rules, and a ## Return contract bounding the distilled return per SPEC-087). Do not pad with sections the role doesn't use.

If you can pull the current Claude Code subagent/tool docs with WebFetch to confirm a tool name or frontmatter key, do so; otherwise match the in-repo examples (they are authoritative).

Mode B: mega-goal sub-goal file (goals/NN-<slug>.md)

Draft a plan-for-mega-goal sub-goal file. Match the template at ~/.claude/skills/plan-for-mega-goal/references/subgoal-template.md (read it if reachable). Required shape: # Sub-goal NN: <name>; then **Merge policy:** (auto|gate, default gate), **Time budget:**, **Proof:** (evidence form scaled to complexity), **Depends on:**, bare Model: / Effort: lines (omit to inherit), **Branch:**, **PR base:**; then ## Outcome, ## Quality bar, ## How to close the loop ending in a bold **Done =** boolean, ## Handoff on completion, ## Scope edges (In/Out/Not), ## Where to look, ## PR body, ## Notes. Done = MUST be specific to this sub-goal, mappable to captured evidence, never "I ran it and it worked".

Read the full file on GitHub · 121 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 2d ago First seen · 121 lines · 62 tokens per session scan A 66c078c3eb9d

Subscribe to this mod's changes

meta-agent is an agent published in the GitHub repository dwarvesf/dwarves-kit (11 stars, last pushed 2d ago), licensed MIT. It adds 62 tokens to every session and 2,220 once invoked, about $0.0003 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.