subordinate-management

Supervisor tools for subordinate Anima: disable/enable, model changes, restart, delegation, state reads, and audits. Use when: pausing a subordinate, changing main or background models, restarting processes, delegating tasks, or org dashboards.

224 stars

Best use case

subordinate-management is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Supervisor tools for subordinate Anima: disable/enable, model changes, restart, delegation, state reads, and audits. Use when: pausing a subordinate, changing main or background models, restarting processes, delegating tasks, or org dashboards.

Teams using subordinate-management should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/subordinate-management/SKILL.md --create-dirs "https://raw.githubusercontent.com/xuiltul/animaworks/main/templates/en/common_skills/subordinate-management/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/subordinate-management/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How subordinate-management Compares

Feature / Agentsubordinate-managementStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Supervisor tools for subordinate Anima: disable/enable, model changes, restart, delegation, state reads, and audits. Use when: pausing a subordinate, changing main or background models, restarting processes, delegating tasks, or org dashboards.

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

# Skill: Subordinate Management (Supervisor Tools)

Supervisor tools automatically enabled for Anima that have subordinates. Most tools work on all descendants (children, grandchildren, great-grandchildren, etc.). `delegate_task` is restricted to direct subordinates only.

## Available Tools

### All Descendants (Children, Grandchildren, and Beyond)

| Tool | Purpose |
|------|---------|
| `disable_subordinate` | Pause descendant (status.json `enabled: false` → process stop + prevent auto-resume) |
| `enable_subordinate` | Resume paused descendant |
| `set_subordinate_model` | Change descendant's main LLM model (updates status.json; requires `restart_subordinate` to take effect) |
| `set_subordinate_background_model` | Change descendant's background model (for heartbeat/cron; updates status.json; requires `restart_subordinate` to take effect; empty string to clear) |
| `restart_subordinate` | Restart descendant process (status.json `restart_requested` flag; Reconciliation restarts within ~30 seconds) |
| `delegate_task` | Delegate task to direct subordinate only (queue add + DM send + tracking entry on your side) |
| `org_dashboard` | Tree view of process status, last activity, current task, and task count for all descendants |
| `ping_subordinate` | Liveness check for descendants (`name` omitted = all at once, specified = single) |
| `read_subordinate_state` | Read descendant's `current_state.md` |
| `audit_subordinate` | Comprehensive audit of descendant's recent activity (summary, tasks, errors, tool usage, communication) |

### Delegated Task Tracking

| Tool | Purpose |
|------|---------|
| `task_tracker` | Track progress of tasks delegated via `delegate_task` from the subordinate's queue (`status`: all / active / completed; default: active) |

**Auto-sync (`sync_delegated`)**: After each heartbeat completes, the framework may scan subordinates' task queues and automatically update the supervisor's tracking entries to done/failed when delegated work completes or fails (archived tasks are included in the search). You do not have to call `task_tracker` for every sync; status tends to align around the next heartbeat cycle.

## Important: disable_subordinate vs send_message

- **disable_subordinate**: Sets status.json to `enabled: false`. Reconciliation does not auto-resume. **Use this one**
- Sending "take a break" via send_message alone does **not** stop the process. Reconciliation will restart even after messaging

## Usage

### Pause and Resume

When pausing multiple subordinates, call `disable_subordinate` for each one:

```
disable_subordinate(name="aoi", reason="Temporary pause due to reduced workload")
disable_subordinate(name="taro", reason="Temporary pause due to reduced workload")
enable_subordinate(name="aoi")
```

### Model Change and Restart

Model changes are saved to status.json, but `restart_subordinate` is required to apply them to the running process:

```
set_subordinate_model(name="aoi", model="claude-sonnet-4-6", reason="Load balancing")
restart_subordinate(name="aoi", reason="Apply model change")
```

To change the background model (for heartbeat/cron):

```
set_subordinate_background_model(name="aoi", model="claude-sonnet-4-6", reason="Reduce heartbeat load")
restart_subordinate(name="aoi", reason="Apply background model change")
```

To clear the background model and revert to the main model:

```
set_subordinate_background_model(name="aoi", model="", reason="Unify to main model")
restart_subordinate(name="aoi")
```

### Status Confirmation and Audit

```
org_dashboard()                         # Dashboard for all subordinates
ping_subordinate()                      # Liveness check for all subordinates
ping_subordinate(name="aoi")            # Liveness check for single subordinate
read_subordinate_state(name="aoi")      # Current task and pending task content
audit_subordinate(name="aoi")           # Comprehensive audit of last 1 day
audit_subordinate(name="aoi", days=7)   # Audit last 7 days (days: 1–30)
audit_subordinate(since="09:00")        # All subordinates since 9:00 today
audit_subordinate(name="aoi", since="13:00")  # aoi since 13:00 today
```

Also available via CLI (useful for S/C/D/G-mode via Bash):

```bash
animaworks anima audit aoi              # Audit last 1 day
animaworks anima audit aoi --days 7     # Audit last 7 days
animaworks anima audit --all --since 09:00  # All animas since 9:00 today
```

### Task Delegation

```
delegate_task(name="aoi", instruction="Summarize weekly report", deadline="1d", summary="Weekly report creation")
# name, instruction, deadline are required. summary is optional (defaults to first 100 chars of instruction)
# Specify workspace to have the delegate work in that workspace (see workspace-manager skill)
task_tracker(status="active")      # Check progress of delegated tasks (status: all / active / completed)
```

For assigning workspaces to subordinates (primary working directory), see the `workspace-manager` skill.

## Permissions

- **All descendants (recursive)**: Status, management, and audit tools work on any descendant
- **Direct subordinates only**: `delegate_task` (task delegation)
- You cannot operate on yourself

Related Skills

cron-management

224
from xuiltul/animaworks

Skill for reading and writing cron.md in the correct format for scheduled LLM or command tasks. Use when: editing cron.md, adding or changing cron schedules, or removing periodic jobs.

x-search-tool

224
from xuiltul/animaworks

X (Twitter) search tool for keyword search and fetching tweets from a specified account. Use when: searching X for topics, reading a user timeline, or tracking trends and posts.

workspace-manager

224
from xuiltul/animaworks

Registers, lists, removes, and assigns workspaces (project directories) for Anima work. Use when: binding project paths to Anima, managing aliases, or switching workspace roots.

web-search-tool

224
from xuiltul/animaworks

Web search tool. Queries the public internet via the Brave Search API. Use when: researching current events, finding documentation, fact-checking, or fetching ranked search results.

transcribe-tool

224
from xuiltul/animaworks

Audio transcription tool. Converts audio files to text with Whisper and optional LLM post-processing. Use when: transcribing meetings, podcasts, or extracting text from recorded audio files.

tool-creator

224
from xuiltul/animaworks

Meta-skill for building AnimaWorks Python external tools: ExternalToolDispatcher, get_credential, and permissions. Use when: adding a module under core/tools, wrapping a Web API, or exposing commands via animaworks-tool.

subagent-cli

224
from xuiltul/animaworks

Runs external AI agent CLIs via Bash in non-interactive mode. Delegates coding with codex exec or cursor-agent. Use when: offloading complex implementation, code review, multi-file edits, or spawning a subagent from Bash.

slack-tool

224
from xuiltul/animaworks

Slack integration tool for send/receive messages, search, unreplied checks, channel listing, and emoji reactions. Use when: posting to Slack, listing channels, replying in threads, checking unreplied items, or adding reactions.

skill-creator

224
from xuiltul/animaworks

Meta-skill for authoring Markdown Skill files with YAML frontmatter and progressive disclosure via create_skill. Use when: adding a new skill, generating SKILL.md with references or templates, or checking description rules.

notion-tool

224
from xuiltul/animaworks

Notion integration tool for searching, reading, creating, and updating pages and databases via the API. Use when: editing Notion pages, adding database rows, or searching a workspace.

machine-tool

224
from xuiltul/animaworks

Delegates work to external agent CLIs (machine tools) for large code changes, investigation, or analysis. Use when: offloading implementation via the machine command, heavy refactors, or batched agent runs.

local-llm-tool

224
from xuiltul/animaworks

Local LLM execution tool for text generation and chat through Ollama or vLLM endpoints. Use when: running on-prem inference, calling a local GPU model, or summarizing with a self-hosted LLM.