Skills
Skills (recipes) are slash commands that define what to do. Brewtools includes 14 skills focused on text processing, security scanning, SSH management, deployment, plugin management, subagent budgeting, and session orchestration — each works independently with no prior setup required.
The -setup naming rule
A -setup suffix marks a skill that installs a mechanism you afterwards use instead of the skill — hooks, a generated board, a delegation wall. Recurring tools you run over and over keep bare names (text-optimize, deploy, ssh). Every -setup skill shares one canonical mode set, in this order: status | install | upgrade | enable | disable | uninstall | purge. No argument means status when it is installed and install when it is not. The old aliases init, on, off, setup, remove and reset are gone as commands. Where a skill still recognizes one, it is only as free text and it is echoed back as the canonical verb — never document them as commands.
Summary table
| # | Skill | Command | Model | Purpose |
|---|---|---|---|---|
| 1 | agent-deadline-setup | /brewtools:agent-deadline-setup | sonnet | Install a soft wall-clock budget for subagents — warns at 80%, blocks non-finalizing tools past 100% |
| 2 | agent-return-setup | /brewtools:agent-return-setup | sonnet | Installs a size budget on every subagent’s final return — blocks once past threshold, orders compress or write-to-report |
| 3 | agent-router-setup | /brewtools:agent-router-setup | sonnet | EXPERIMENTAL. Denies a generic subagent spawn when a real project/plugin expert owns the task, naming it |
| 4 | context-slim | /brewtools:context-slim | opus | Compresses everything that permanently enters the LLM context — CLAUDE.md, rules, agent descriptions, hooks, memory — via cross-layer dedup and per-file compression |
| 5 | deploy | /brewtools:deploy | opus | GitHub Actions deployment: workflows, releases, GHCR, CI/CD with safety gates |
| 6 | manager-setup | /brewtools:manager-setup | sonnet | Manager mode: installs a hard delegation wall into this project (v6: strict per-binary allowlist, fails closed) — status, install, upgrade, enable, disable, uninstall, purge, plus level and edit — and explains/customizes codewords ++m, ++a, ++rr, ++r |
| 7 | plugin-update | /brewtools:plugin-update | sonnet | Checks, installs, updates Claude Code plugins |
| 8 | provider-switch | /brewtools:provider-switch | opus | Configure alt API providers: DeepSeek, Z.ai/GLM, Qwen, MiniMax, OpenRouter |
| 9 | secrets-scan | /brewtools:secrets-scan | sonnet | Scans git-tracked files for leaked secrets |
| 10 | ssh | /brewtools:ssh | opus | SSH server management — connect, configure, deploy, administer Linux servers with safety gates |
| 11 | task-board-setup | /brewtools:task-board-setup | opus | Generator: deploys a file-based Kanban into any repo via multi-agent analysis, plus an optional gated CLAUDE.md-optimization pass |
| 12 | text-human | /brewtools:text-human | sonnet | Humanizes code, docs, articles, reddit/chat, javadoc — strips AI artifacts, fixes unicode, fits register |
| 13 | text-optimize | /brewtools:text-optimize | sonnet | Optimizes text/docs for LLM token efficiency |
| 14 | think-short-setup | /brewtools:think-short-setup | sonnet | Installs, upgrades or removes the think-short terse-mode hooks |
agent-deadline-setup
Soft wall-clock budget for subagents — warns at 80%, blocks non-finalizing tools past 100%
agent-return-setup
Size budget on every subagent’s final return — blocks once, orders compress or write-to-report
agent-router-setup
Routes a generic subagent spawn to the real project or plugin expert (experimental)
context-slim
Compresses everything that permanently enters the LLM context via cross-layer dedup, default-knowledge removal, and per-file compression
deploy
GitHub Actions deployment: workflows, releases, GHCR, CI/CD with safety gates
manager-setup
Hard delegation wall for this project — strict allowlist, fails closed — plus the ++m / ++a / ++rr / ++r codewords
plugin-update
Checks, installs, updates Claude Code plugins
provider-switch
Configure alt API providers: DeepSeek, Z.ai/GLM, Qwen, MiniMax, OpenRouter
secrets-scan
Scans git-tracked files for leaked secrets
ssh
Connect, configure, deploy, administer Linux servers with safety gates
task-board-setup
Deploys a file-based Kanban into any repo, plus a gated CLAUDE.md-optimization pass
text-human
Strips AI artifacts, fixes unicode, fits register across code, docs, and posts
text-optimize
Optimizes text and docs for LLM token efficiency
think-short-setup
Installs, upgrades or removes the terse-mode hooks
Standalone
All fourteen skills can be used independently — they require no prior setup and no dependency on Brewcode or Brewdoc plugins.
How these skills delegate
Twelve of the fourteen spawn subagents, and they all follow the same sizing rule: one subagent = one bounded unit — one deliverable, roughly 5 files and 10 steps. A big task handed to one agent is an agent gone for an hour: you cannot observe it, you cannot correct it, and it usually drifts off-target. Bigger work is split into N tasks fanned out in a single message.
Every spawn prompt carries six fields — GOAL, ROLE, SCOPE, CONTEXT, CONSUMER, DONE. A bare one-line task is never enough.
| Skill | One bounded unit is… |
|---|---|
| agent-deadline-setup | one mode-and-scope combination — a single brewcode:hook-creator spawn per combination |
| agent-return-setup | one mode-and-scope combination — a single brewcode:hook-creator spawn per combination |
| agent-router-setup | one mode — a single brewcode:hook-creator spawn per mode |
| context-slim | one file — a single text-optimizer spawn per file, all in one message |
| deploy | one deliverable, one repo, one environment — confirmation gates stay in the main conversation |
| provider-switch | one provider — five research agents, one message |
| secrets-scan | one chunk of the file list — a bigger repo gets more chunks, not bigger ones |
| ssh | one deliverable on one host — DELETE/PRIVILEGE approval happens before any spawn |
| task-board-setup | one doc group — same rule at both spawn points |
| text-human | one block of files from the commit or folder |
| text-optimize | one file — a folder run is split one file per agent |
| think-short-setup | one install target — a wider request is one task per target |
plugin-update and manager-setup spawn nothing — neither carries Task in its allowed-tools, so every command runs in front of you.
v6 hardening
The manager-setup wall moved from a denylist to a strict per-binary allowlist that fails closed on any unrecognized flag, and closed four further bypasses: git diff --output=, git branch -D, gh issue comment --body, find -fprint0. Every spawned subagent lost AskUserQuestion (removed in Claude Code 2.1.233) — a destructive or privileged step now returns a ## APPROVAL REQUIRED envelope instead of asking directly.
Regression suites
v6 adds automated regression suites where several skills had none. Counts are TOTAL: X | PASS: X | FAIL: 0 from each skill’s own tests/run.sh (tests/suite.mjs for manager-setup), re-run before publishing this table.
| Skill | Checks |
|---|---|
| agent-return-setup | 803 |
| agent-deadline-setup | 169 |
| agent-router-setup | 76 |
| deploy | 76 |
| ssh | 74 |
| secrets-scan | 82 |
| text-optimize | 51 |
| manager-setup | 44 |
| think-short-setup | 19 |
Latest Release
Download, changelog, and installation instructions.
View on GitHub
Source code, README, and configuration files.