adjust

An interactive command for changing an existing teamctl team, where teamctl manages a group of agent sessions. It accepts a plain-language request and can propose changes to agents, capabilities, channels, projects, or bridges before applying them.

In plain words
What is it for?
Use it to add or remove agent sessions, change their skills or behavior, connect channels or projects, configure Telegram, or open a bridge.
Why use it?
It provides a guided way to evolve a team after setup while checking architecture and interaction rules. Changes are shown as a YAML configuration difference and require confirmation.

Command

Part of the teamctl plugin — 2 commands shipped together

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 commands/alireza29675/teamctl/adjust
Clone the repo
git clone --depth 1 https://github.com/Alireza29675/teamctl

Or install teamctl, the plugin that ships this one along with the rest of its 2 commands.

Per session 59 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 6,627 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.00059 $0.06627
Opus 5 $0.00030 $0.03313
Sonnet 5 $0.00012 $0.01325
Haiku 4.5 $0.00006 $0.00663

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

Security

Grade A, and why

adjust 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 3d 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.

plugins/claude-code/commands/adjust.md · 307 lines

How it starts

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

/teamctl:adjust is the command you reach for after onboarding ends. Describe the change in plain English — "add a docs worker reporting to maintainer", "remove the bug_fix worker", "open a bridge to the ops project" — and /teamctl:adjust walks you through the picks, proposes the YAML diff, applies it on confirmation, validates, and offers to reload.

Read RULES.md, INTERACTIVE.md, and capability-catalog.md before each invocation. RULES carries the architecture invariants (including the capability invariants — capabilities over new sessions, no-cron/no-extra-MCP in the team); INTERACTIVE carries the UI invariants (when to reach for AskUserQuestion, the Apply/Modify/Reject gate, the headless-pane fallback, docs-as-ground-truth, voice control); the catalog is the palette for the capability stack a new agent session earns and Verb 8 evolves. Substrate constraint #4 is the non-negotiable: every action this command takes is reproducible with vim .team/team-compose.yaml. The mindset has to survive evolution, not just init — a new agent session is a parallel session for separate focus, defined by its capabilities and connections; it gets its capability stack on creation, and the stack is a first-class thing to adjust.

Preamble — detect interactive vs headless

At the top of every invocation, decide which mode you're in:

if [ -n "$TEAMCTL_ROOT" ] && [ -n "$AGENT_ID" ]; then
    echo "headless"
else
    echo "interactive"
fi

headless means a supervised teamctl agent (env-file rendered by teamctl render, sourced by agent-wrapper.sh) is calling this skill — AskUserQuestion is denied by the wrapper's PreToolUse hook (see #189). Fall back to plain-text Q&A for the whole invocation per INTERACTIVE.md §5. interactive means a normal user claude session — use AskUserQuestion everywhere a finite-set pick fits.

Read the full file on GitHub · 307 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. 3d ago First seen · 307 lines · 59 tokens per session scan A ae81fd1d2c8b

Subscribe to this mod's changes

adjust is a command published in the GitHub repository Alireza29675/teamctl (20 stars, last pushed 1mo ago), licensed MIT. It adds 59 tokens to every session and 6,627 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.