Agents

Agents are specialized roles defined in markdown files with frontmatter metadata. Each agent has its own model, toolset, and system prompt. Brewtools includes 3 agents.

Summary table

#AgentModelDescription (agent frontmatter)
1text-optimizersonnetOptimizes text/docs for LLM token efficiency. Triggers: optimize prompt, reduce tokens, compress.
2ssh-admininheritLinux server admin: SSH, Docker, systemd, Nginx, SSL. Triggers: ssh admin, server management.
3deploy-admininheritGitHub Actions deployment: workflows, releases, GHCR, CI/CD. Triggers: deploy, release.

text-optimizer

Text optimization with rule-based validation

📟

ssh-admin

SSH server administration

🔄

deploy-admin

GitHub Actions, CI/CD, releases

Scope guard — all three agents

Each agent sizes the task before starting. One bounded unit = one deliverable, ~5 files, ~10 steps. Anything bigger, or spanning several independent deliverables, and the agent stops before starting and returns a split proposal: 2-N bounded subtasks, each with its scope and a suggested owner. Mid-flight the rule is the same — stop at the next clean boundary, report done / remaining / how to split.

A brief missing GOAL, SCOPE, CONTEXT, CONSUMER or acceptance criteria is not invented: the agent states its assumption in the report or asks once. The result is delivered for the CONSUMER — whoever picks it up next — not for the literal wording of the request.

v6: AskUserQuestion removed. Claude Code 2.1.233 dropped AskUserQuestion from every subagent. ssh-admin and deploy-admin no longer ask mid-task — a destructive or privileged step now returns a ## APPROVAL REQUIRED envelope to the caller, or proceeds only if pre-approved in the prompt. ssh-admin also no longer places secrets on curl argv.

RuleApplies to
One bounded unit per run, otherwise split proposaltext-optimizer, ssh-admin, deploy-admin
Split per target — one agent per host / environment / service / repo, never one agent looping over all of themssh-admin, deploy-admin
Missing brief fields: state the assumption or ask once, never invent scopeall three

Phrase multi-target work as separate requests: “deploy staging” + “deploy prod”, not “deploy to all environments”.

🚀

Latest Release

Download, changelog, and installation instructions.

🔗

View on GitHub

Source code, README, and configuration files.