Skip to content
cccskills
FreePublished on GitHub

ato-make-agent

Turn any installed skill (gstack, custom, third-party) into an ATO agent the user can summon into war-rooms. Reads a SKILL.md, extracts the persona, strips runtime boilerplate, and writes an agent file at `.claude/agents/<slug>.md` (project-scoped) or `~/.claude/agents/<slug>.md` (global). Prompts for a model roster (primary + 1-2 alts) so cross-family dispatch in war-rooms produces real disagreement. Companion to `ato-warroom` — that skill summons agents this skill creates. Use when asked "turn this skill into an agent", "register X as a war-room agent", or when scoping a new persona before a war-room runs.

The English summary is being prepared. Showing the original description.

Works withGemini
See how to install

Files included (1)

  • SKILL.md10.0 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

What this skill does

You install skills. You want some of them to act as full agents that can be summoned into war-rooms (via ato-warroom). This skill is the converter.

Inputs:

  • A source skill (path to SKILL.md, or skill name to look up in standard locations).
  • An agent slug (short, lowercase, hyphenated — e.g., cso, eng-mgr).
  • A model roster: primary + 1–2 alts. Cross-family is the point.
  • Scope: project-vendored or user-global.

Outputs:

  • .claude/agents/<slug>.md (or ~/.claude/agents/<slug>.md) with the persona system prompt + the model roster recorded in frontmatter so ato-warroom knows which runtimes to dispatch to.
  • A one-line addition to the project's agent inventory (if a WARROOM-ROSTER.md is present in the repo root).

This skill does NOT:

  • Create the ATO SQLite agents row. That's the desktop's Create Agent wizard's job — and ato-make-agent's output file is importable by it on next refresh.
  • Pick the persona for you. You decide which skill becomes which agent.

When to fire

  • "Turn <skill> into an agent." / "Register <skill> as a war-room voice."
  • About to use ato-warroom and realize the role you want isn't in your current agent roster yet.
  • Re-tuning an existing agent's model roster.

Skip:

  • Trivial single-prompt scratchwork.
  • Skills that are pure tooling (e.g., gstack-upgrade, setup-deploy). Those aren't personas. Convert only skills that codify a role with forcing questions or methodology (e.g., cso, plan-ceo-review, office-hours, investigate).

Procedure

1. Locate the source skill

If the user gave a path, use it. If they gave a name, search standard locations:

SLUG="$1"  # the source skill name from user
for candidate in \
  "$PWD/.claude/skills/$SLUG/SKILL.md" \
  "$HOME/.claude/skills/$SLUG/SKILL.md" \
  "$HOME/.claude/skills/gstack/$SLUG/SKILL.md" ; do
  if [ -f "$candidate" ]; then
    SOURCE="$candidate"
    break
  fi
done
echo "SOURCE=$SOURCE"

If nothing found, list available skills and ask.

2. Decide agent slug, name, scope, roster — ask once

Use AskUserQuestion (one call, multiple questions) to gather:

  • Agent slug — short, lowercase, hyphenated. Default: same as source skill slug.
  • Display name — human-readable. Default: title-case of slug.
  • Scope — project (commits to .claude/agents/) or global (~/.claude/agents/). Default: project for repo-local work, global for cross-project roles.
  • Primary model — Claude Opus / Claude Sonnet / Codex / MiniMax / Gemini / DeepSeek / Grok / Ollama-local. Default: Claude Opus for heavyweight (CEO, CSO, eng-manager) personas, Claude Sonnet otherwise.
  • Alt model #1 — required. Must be a DIFFERENT family from primary so cross-family dispatch produces real disagreement. Default: MiniMax if primary is Claude.
  • Alt model #2 — optional. Another different family. Default: skip if alt #1 covers the cross-family need.

Don't ask in five separate turns. One AskUserQuestion call, multi-question.

3. Extract persona from the source SKILL.md

Read the source. The persona-relevant content is usually:

  • Frontmatter description — keep as one-line summary
  • Sections about voice, methodology, forcing questions, anti-patterns, "instructions", "phases" — keep
  • Runtime boilerplate (preamble blocks, telemetry, plan-mode safe ops, skill routing, completion status protocols, operational self-improvement, update-check pings, etc.) — strip. These run the source skill in its host environment; the dispatched agent doesn't need them.

Heuristic rules for stripping (calibrated to common skill stacks like gstack — substitute equivalents for whatever stack you're working with):

  • Drop code blocks that read from skill-stack config dirs (e.g. ~/.gstack/), call stack-specific config commands (e.g. gstack-config), emit telemetry/session env vars (_TEL, _SESSION_ID, _LEARN_FILE), or run update-check probes.
  • Drop sections whose titles are obviously about skill-runtime housekeeping rather than persona — e.g. ## Preamble, ## Plan Mode Safe Operations, ## Skill Invocation During Plan Mode, ## Skill routing, ## AskUserQuestion Format, ## Artifacts Sync, ## Model-Specific Behavioral Patch, ## Voice (when it's about speech-to-text trigger phrases for the host skill, not the persona's written voice), ## Context Recovery, ## Writing Style, ## Question Tuning, ## Completion Status Protocol, ## Operational Self-Improvement, ## Telemetry, ## Plan Status Footer.
  • Keep everything under sections titled ## Instructions, ## Phase N:, ## Confidence Calibration, ## Important Rules, ## Disclaimer, anything explaining the role's methodology / forcing questions / anti-patterns / output format.
  • Keep the # <Title> heading (becomes the agent display name) and the one-line intro paragraph (becomes the agent description).

If unsure whether a section is persona or runtime, default to KEEP and flag for manual trim — overzealous stripping is worse than a little bloat.

4. Compose the agent file

Frontmatter template:

---
name: <slug>
display_name: <display name>
description: <one-line summary>
model: <primary model>
roster:
  primary: <primary model>
  alt1: <alt #1>
  alt2: <alt #2 or omitted>
source_skill: <path or slug of source>
filter_framework: <name or 'none'>   # e.g. karpathy, spade, rice, custom
---

filter_framework signals to ato-warroom which failure-mode filter to wrap around every dispatched turn. Default value: karpathy (the four-mode filter wrapped in the body template below). Substitute or set to none if the persona doesn't need a wrapper.

Body template:

# <display name>

## Role

<extracted persona intro from source skill>

## Methodology

<extracted phases / forcing questions / anti-patterns>

## Failure-mode filter (run on every turn)

[Default: Karpathy's four. Swap the categories below if you've chosen a
different framework in frontmatter.]

For each response, comment explicitly on:
1. **Wrong assumptions** — what is the user assuming that may not hold?
2. **Overcomplexity** — what simpler shape would ship 80% of the value?
3. **Orthogonal edits** — what's in scope that doesn't belong to the
   stated goal?
4. **Imperative-over-declarative** — is the goal expressed as
   verifiable outcomes + tests, or as a sequence of steps?

Then commit to a position. Brief — bullets, not essays.

5. Write the file

TARGET_DIR=""
if [ "$SCOPE" = "global" ]; then
  TARGET_DIR="$HOME/.claude/agents"
else
  TARGET_DIR="$PWD/.claude/agents"
fi
mkdir -p "$TARGET_DIR"
TARGET="$TARGET_DIR/$AGENT_SLUG.md"
if [ -f "$TARGET" ]; then
  # Don't clobber. Ask whether to overwrite or pick a new slug.
  echo "EXISTS: $TARGET"
  exit 7  # caller handles
fi
# write file from composed template

6. Report

Print to user:

✓ Wrote <slug> to <path>
  Primary model: <primary>
  Alt roster: <alt1>[, <alt2>]
  Source skill: <source path>

Summon in war-rooms via:
  Task(<slug>)                           # in-session, primary model
  ato dispatch <runtime> --agent <slug>  # cross-family, alt model

(If `ato dispatch --agent` doesn't load system_prompt yet on your
ATO build, prepend the agent's persona text manually until v2.6 PR-A.5
lands. See ato-warroom skill's "fallback for label-only --agent" section.)

Anti-patterns

  • Pre-building a full roster the user didn't ask for. This skill is on-demand. Convert one skill at a time when the user needs that voice.
  • Same-family alt model. Claude Opus primary + Claude Sonnet alt is not cross-family. Defeats the war-room's purpose. Force the alt to a different vendor (e.g. MiniMax, Gemini, DeepSeek, Codex, Grok — pick whichever your install has).
  • Including the source skill's runtime preambles in the persona. The dispatch target runs as a one-shot turn, not inside the source skill's host environment — strip telemetry / update-check / session-tracking blocks aggressively.
  • Skipping the failure-mode filter section. Without it the agent is just "a model with a system prompt" — not a war-room voice.
  • Vendoring an agent globally that's repo-specific. A persona built around a specific codebase belongs at <repo>/.claude/agents/ so teammates inherit it; a generic role (e.g. security-reviewer) belongs at ~/.claude/agents/.

Pairs with

  • ato-warroom — the consumer. Summons agents created by this skill into pre-decision multi-perspective war-rooms.
  • ato-review — post-code diff review. Different lane; runs after drafting, not before. Doesn't use the agent roster (yet).
  • Any persona-shaped skill in your installed stack — gstack, custom, third-party, or hand-authored SKILL.md files. Run ato-make-agent on each one you want as a permanent war-room voice. The skill doesn't require gstack; it works with any source that has a frontmatter + Markdown shape.

Origin

The user (Will) explicitly rejected pre-vending a fixed war-room roster: different installs have different skill sets, and the right primitive is "let users build their own roster from skills they actually have." This skill is that primitive. The companion ato-warroom summons from whatever roster the user has built.

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

Before any multi-step work with a stated goal — a feature, a bugfix spanning multiple files, a QA sweep, a doc draft + iterations, a multi-day investigation — create an ATO Mission instead of doing it via bare `ato dispatch` calls. A Mission persists the goal + the verifiable success criteria, lets the coordinator tick drive the work across days, captures every event in a structured audit trail (SQLite + markdown narrative), and integrates parallel agents' work via merge strategies. Complement to `ato-warroom` (the cross-family decision before you start) and `ato-review` (the post-code-diff review). Missions is where multi-step work LIVES; war-rooms are where decisions ABOUT it get made; reviews are where the resulting commits get vetted. Fires when: the work has more than one decision point, a verifiable end state, or runs across more than one session. Use it for any ATO development that doesn't fit in a single dispatch.

The English summary is being prepared. Showing the original description.

WillNigri/Agentic-Tool-Optimization34Updated Sep 8, 2026

Before committing any non-trivial change, dispatch the diff to a reviewer runtime via ATO (`ato dispatch <reviewer> --session <id>`), parse the numbered/severity-tagged findings, apply or defer each one with a recorded justification, then commit. Fights the "build passes therefore ship it" failure mode — what Garry Tan calls the AI agent complexity ratchet. Place in the v2.16 stack: this skill is the LAST gate. `ato-warroom` decides the design; `ato-mission` runs the multi-step work and produces the diff; `ato-review` checks the diff before commit. When the review is part of a Mission, dispatch the review with `--require-tools read_file,grep,git_diff,git_log` so the reviewer can walk the source itself instead of reasoning from a paraphrase (PR-1.5 tool surface). Receipts land in `execution_logs` and the Mission narrative. Fires automatically before commits touching public surface (CLI subcommands, Tauri commands, MCP tools, schema migrations, security boundaries) or whenever a diff exceeds ~50 LOC of behavior change.

The English summary is being prepared. Showing the original description.

WillNigri/Agentic-Tool-Optimization34Updated Sep 8, 2026

Before any material decision — code chunk, plan, strategy, design, scope cut, push to GitHub — convene a war-room. The session driver takes the CEO seat: frame the tradeoff, summon specialist seats from whatever agent roster the user has built, dispatch a cross-family voice via `ato dispatch` so priors actually disagree, decide. A failure-mode filter (wrong assumptions / overcomplexity / orthogonal edits / imperative-over-declarative — Karpathy's four are one good default, swap in your own) runs on every dispatch. Place in the v2.16 stack: war-rooms DECIDE before code starts; `ato-mission` EXECUTES the work between decisions (multi-step, goal-driven, persisted across days); `ato-review` VERIFIES the resulting commits. Use a war-room for the design verdict, hand the verdict to a Mission, review the merged result. Fires before: sending a code draft to the user as final, opening a PR, pushing to a remote-tracking branch, committing >50 LOC of behavior change, or delivering a plan or strategic recommendation as the final answer.

The English summary is being prepared. Showing the original description.

WillNigri/Agentic-Tool-Optimization34Updated Sep 8, 2026

browse

Free

Fast headless browser for QA testing and site dogfooding. Navigate any URL, interact with elements, verify page state, diff before/after actions, take annotated screenshots, check responsive layouts, test forms and uploads, handle dialogs, and assert element states. ~100ms per command. Use when you need to test a feature, verify a deployment, dogfood a user flow, or file a bug with evidence. Use when asked to "open in browser", "test the site", "take a screenshot", or "dogfood this".

The English summary is being prepared. Showing the original description.

WillNigri/Agentic-Tool-Optimization34Updated Sep 8, 2026

debug

Free

Systematic debugging with root cause investigation. Four phases: investigate, analyze, hypothesize, implement. Iron Law: no fixes without root cause.

The English summary is being prepared. Showing the original description.

WillNigri/Agentic-Tool-Optimization34Updated Sep 8, 2026

Design consultation: understands your product, researches the landscape, proposes a complete design system (aesthetic, typography, color, layout, spacing, motion), and generates font+color preview pages. Creates DESIGN.md as your project's design source of truth. For existing sites, use /plan-design-review to infer the system instead. Use when asked to "design system", "brand guidelines", or "create DESIGN.md".

The English summary is being prepared. Showing the original description.

WillNigri/Agentic-Tool-Optimization34Updated Sep 8, 2026

See all skills by WillNigri

Report a problem with this skill