一键导入
team-governance
Use when managing teams or governance titles. Trigger with /team-governance. Loaded by ai-maestro-plugin
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Use when managing teams or governance titles. Trigger with /team-governance. Loaded by ai-maestro-plugin
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Drive an agent's HTML dashboard side panel via the frozen aimaestro-panel.sh CLI — push HTML or a live URL, open/close/refresh the panel, check how many dashboard clients are connected, and drain feedback events the panel's HTML posted back. Use when an agent wants to render a status view, a form, or a live page in its own dashboard panel. Trigger with /ama-panel, 'show this in my side panel', 'push this HTML to my panel', 'check if anyone is watching my panel', 'read panel feedback'. CRITICAL gotcha: 'delivered: 0' from open/set means the content was DROPPED, not queued — always check status first when delivery matters. Loaded by ai-maestro-plugin
Drive an agent's own terminal and read its own activity state via the frozen aimaestro-session.sh CLI — send or enqueue an allowlisted slash command (works even while busy/hibernated), type raw text into a live pane, read the 5-state activity, and read/answer a pending permission or AskUserQuestion prompt. Use when an agent must act on itself: arm its janitor heartbeat, answer a pending prompt, check if idle/busy, or queue work for later. Trigger with /ama-session, 'queue a command for when I'm idle', 'answer my pending prompt'. Not for reconfiguring an agent (role/plugin/team) — that is ai-maestro-agents-management. Loaded by ai-maestro-plugin
Search, read, verify, and server-mediated mutate TRDDs via the aimaestro-trdd.sh CLI — the AI Maestro dashboard's authorization-aware view of the design/ corpus. Write verbs (edit / approve / refuse / promote / archive) are STRICT, gated by each TRDD's min-approval-requirement with a hard self-approval ban. Use when server-mirrored state or server-side authorization matters: the dashboard kanban, approving a proposal, confirming an approval is real. Trigger with /ama-trdd-server, 'approve this TRDD', 'search TRDDs on the dashboard'. For local design/ file editing use ama-trdd-find/write/update/transition. Loaded by ai-maestro-plugin
Recall prior knowledge from the markdown wiki-memory corpus via memgrep and the janitor's global recall skills. Use before acting on a recurring problem, a design decision, or a repeated alert. Trigger with /memory-search. Loaded by ai-maestro-plugin
Manage AI agent lifecycle via CLI. Use when creating, listing, deleting, configuring, or looking up an agent's consolidated config (launch args, title, role-plugin, teams, GitHub repo, Docker, pending tasks, AID public key). Trigger with /ai-maestro-agents-management. Loaded by ai-maestro-plugin
Manage team kanban boards and tasks. Use when creating, moving, filtering, getting, or editing tasks. Trigger with /team-kanban. Loaded by ai-maestro-plugin
| name | team-governance |
| user-invocable | false |
| description | Use when managing teams or governance titles. Trigger with /team-governance. Loaded by ai-maestro-plugin |
| allowed-tools | Bash(aimaestro-governance.sh:*), Bash(aimaestro-teams.sh:*), Bash(aimaestro-agent.sh:*), Bash(jq:*), Bash(amp-*:*), Read, Edit, Grep, Glob |
| metadata | {"author":"Emasoft","version":"2.1.1"} |
Manage teams, assign agents, assign Chief-of-Staff titles, and handle broadcasts via the frozen aimaestro-governance.sh / aimaestro-teams.sh CLIs. All teams are closed (isolated messaging with COS gateway). For lightweight agent collections, use Groups. Requires MANAGER or CHIEF-OF-STAFF title.
Communication graph (R6 v3, 2026-05-04): AMP follows a title-based directed graph; HUMAN is a first-class node. v3 made COS the SOLE gateway for in-team agents — MANAGER no longer reaches ORCH/ARCH/INT/MEM directly. Blocked routes return HTTP 403 title_communication_forbidden. See R6 + matrix in the reference and the bundled rules.
Minimum team composition (R12, CRITICAL): every team has ≥5 agents — 1 COS + 1 ARCHITECT + 1 ORCHESTRATOR + 1 INTEGRATOR + 1 MEMBER. MANAGER enforces R12.6 on team creation.
Authorization model (R26–R40, security-first): agents authenticate only by their AID — the aimaestro-* CLIs send it automatically. The server runs the R28 three-check (AID → derived TITLE → portfolio approval/mandate token) and never trusts a client-supplied id/title/scope; a skill never asserts its own title. Per R32, agents never face a sudo gate — AID + title + token IS the authorization; a governance/sudo password is requested only of the USER, only via the UI (R16), so a --password flag on a deployed CLI is a USER/UI residual you surface to the user, never supply yourself. Per R29–R31, the MANAGER creates/deletes teams (auto-creating the COS + the 5 base members) with no user approval (R9.11); a COS needs a MANAGER mandate to add extra MEMBER agents (the 5-member base is invariant); a team missing any base member is frozen (only its COS active) until complete. Identity is conferred, never self-assigned (R26). Full text in the bundled rules R26–R40.
Recall first (proactive memory). Before acting on a recurring problem, a design decision, or a repeated alert, recall prior lessons FIRST:
/janitor-memory-recall <symptom>(shared wiki memory — index by the symptom / your words, not the fix's jargon) and/memory-search <query>(past discussion). See the proactive memory contract in the pluginCLAUDE.md.
aimaestro-* CLIs resolve the API base + auth internally)aimaestro-governance.sh / aimaestro-teams.sh / aimaestro-agent.sh CLIs on PATH; jq installedamp-send.sh, amp-inbox.sh) for broadcastsVerify role before any operation:
aimaestro-governance.sh whoami | jq .
If not MANAGER or COS, STOP and inform the user.
Approval requirements. Creating a team requires
min-approval-requirement: chief-of-staff; assigning or changing a Chief-of-Staff requiresmanager. File the proposal and route it per theama-proposal-approvalsskill and the ai-maestro approval overlay (.claude/rules/aimaestro-trdd-approval.md) before acting. Listing/showing teams is read-only (none).
Operations (each CLI resolves the API base + your agent identity internally):
aimaestro-teams.sh listaimaestro-teams.sh show <team-id>aimaestro-teams.sh create --name <name> --type closed [--cos <agent-id>] (closed requires MANAGER)aimaestro-teams.sh update <team-id> [--name|--description|--agents|--orchestrator]aimaestro-teams.sh delete <team-id> (MANAGER only — authenticates by AID per R29/R32; do not supply a password. The deployed CLI's --password flag is a USER/UI residual, not for agents.)aimaestro-teams.sh add-agent|remove-agent <team-id> <agent>Create a closed team (the CLI sends your agent identity — no manual header):
aimaestro-teams.sh create --name my-team --type closed | jq .
COS assignment (R29/R32) — the MANAGER assigns the COS; this needs no user approval and no agent password (the MANAGER authenticates by AID — R9.11). Per R29 the MANAGER creating a team auto-creates its COS + 5 base members:
aimaestro-teams.sh create --name my-team --type closed --cos <cos-agent-id> — assigns the COS title + auto-installs ai-maestro-chief-of-staff.Broadcasts — message all team agents via AMP:
# Resolve the team + each agent's name through the frozen CLIs, then AMP.
AGENTS=$(aimaestro-teams.sh show <team-id> | jq -r '.agentIds[]')
for AID in $AGENTS; do
NAME=$(aimaestro-agent.sh show "$AID" | jq -r '.agent.name')
amp-send.sh "$NAME" "Subject" "Message"
done
Per PRRD G1.1, begin every GitHub post (broadcast/issue/PR comment/review) with a one-line self-identification of the authoring agent, since all agents share the one owner identity.
Respect messaging isolation for closed teams. See reference for full rules.
| HTTP | Meaning |
|---|---|
| 403 | Not MANAGER/COS, or closed team isolation blocks messaging |
| 400 | Bad input (invalid type, agent in another closed team) |
| 401 | Sudo/governance password rejected — a USER/UI path (R32.2); agents authenticate by AID and should never hit this |
| 404 | Team not found |
# List all teams
aimaestro-teams.sh list | jq .
# Create a closed team with a Chief-of-Staff (MANAGER only; --cos sets the COS at create time)
aimaestro-teams.sh create --name backend --type closed --cos alice | jq .
# Broadcast to every agent on a team via AMP
for AID in $(aimaestro-teams.sh show <team-id> | jq -r '.agentIds[]'); do
NAME=$(aimaestro-agent.sh show "$AID" | jq -r '.agent.name')
amp-send.sh "$NAME" "Standup" "Daily 10am SLT"
done
See REFERENCE.md for full flows.
Copy this checklist and track your progress:
aimaestro-governance.sh whoamiaimaestro-teams.sh / aimaestro-governance.sh)Skill(skill: "agent-messaging") — inter-agent messaging and team broadcasts (AMP).Skill(skill: "team-kanban") — the team's task board (TRDD / kanban).