用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/hashgraph-online/awesome-codex-plugins --skill run命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
Coordinate agents via the AMQ CLI for file-based inter-agent messaging. Use this skill whenever you need to send messages to another agent (codex, claude, or any named handle), check your inbox, drain queued messages, set up co-op mode between agents, join a swarm team, route messages across projects, or diagnose delivery issues. Also use it when you receive a message and need to know how to reply, inspect receipts, or handle priority. Covers any multi-agent coordination task where agents need to talk to each other — review requests, questions, status updates, decision threads, wake notifications, and orchestrator integration (Symphony, Kanban). For collaborative spec/design workflows specifically, prefer the /amq-spec skill which provides structured phase-by-phase guidance. Not intended for distributed systems design (RabbitMQ, Kafka), CI/CD pipelines, or single-agent tasks with no partner.
Parallel-research-then-converge design workflow between two agents. Use this skill when the user wants two agents to independently think through a design problem before aligning on a solution — "spec X with codex", "design X together", "both agents think through X", "brainstorm architecture together", "parallel research then joint proposal", "think through separately then align", "careful thought from both sides before coding", or any variation where the user wants collaborative design rather than just splitting implementation work. Also use this when you receive a message labeled workflow:spec and need to know the correct receiver-side protocol. Not for sending simple messages or reviews (use /amq-cli), implementing completed designs, or creating document templates.
Use when defining new features, product behavior, UI/component design, architecture choices, contract changes, or ambiguous medium/high-complexity work before implementation, or when the user asks to grill or pressure-test a plan or design.
基于 SOC 职业分类
正在显示 SKILL.md
| name | run |
| description | Run a full pipeline for a task. Orchestrates roles through stages (standalone or HOTL-integrated). |
Orchestrate a full team pipeline for a task. This is the main entry point for collaborative AI-assisted development. You are the lead; AgenTeam dispatches your specialists.
Check for .agenteam/config.yaml, .agenteam.team/config.yaml, or legacy
agenteam.yaml in the project root. If all are missing:
mkdir -p .agenteamcp <plugin-dir>/templates/agenteam.yaml.template .agenteam/config.yamlpython3 <runtime>/agenteam_rt.py generate.agenteam/config.yaml to customize."Get the task description from the user. If not provided, ask: "What task should the team work on?"
If the project config defines pipeline profiles, select one before init:
pipeline.profiles from config (check if pipeline key is a dict
with a profiles sub-key). If no profiles defined, skip this step.--profile <name> in their request, use
it directly and skip classification.hints list (advisory examples of task shape)--profile standard if needed."full (all stages).
Misclassification fails safe.--profile <name> to the init command in step 3.3:
python3 <runtime>/agenteam_rt.py init --task "<task>" --profile <name>
Before starting the pipeline, check for relevant context from past runs:
python3 <runtime>/agenteam_rt.py history list --last 10## Prior Run Context
### Run: "add user authentication" (2026-03-30, standard profile)
- Status: completed (5/5 stages)
- Implement stage needed 3 verify attempts (test failures in auth middleware)
- Cross-stage rework: test → implement (auth session handling)
- Final verification: passed
### Run: "fix login redirect bug" (2026-03-29, quick profile)
- Status: completed (2/2 stages)
- Clean run, no rework
Rules:
history list fails, skip silently and continueIf multiple discovery-phase stages can run in parallel, switch to collaborative discovery mode. This gives users faster results and a structured handoff to implementation.
Trigger — collaborative mode activates when either:
parallel_safe: true and disjoint write_scope patterns.When not triggered (0 or 1 qualifying stages, or user didn't request multi-role work), skip this section entirely — the run skill behaves as normal serial execution.
Detection logic:
agenteam-rt roles show <role>.parallel_safe: true.write_scope patterns (no scope string appears in more
than one role's write_scope list).parallel_safe writer
(e.g., dev with src/**) marks the start of the "execution" phase.Note: The built-in discovery roles (researcher, pm, architect) are
all can_write: true with parallel_safe: true and disjoint scopes
(docs/research/**, docs/strategies/**, docs/designs/**). The
parallelism basis is disjoint scopes, not read-only status.
When collaborative mode is active, the following phases apply:
Isolation mode constraints:
| Isolation Mode | Behavior |
|---|---|
none (scoped parallel) | Dispatch all discovery-batch roles as parallel subagents |
branch | Serial fallback — dispatch discovery stages one at a time |
worktree | Serial fallback — dispatch discovery stages one at a time |
In isolation: none mode:
parallel_safe: true and disjoint write_scopeIn branch or worktree mode:
For each discovery stage:
pending → dispatchedstage_dispatched eventdocs/research/<date>-<topic>.mddocs/strategies/<date>-<topic>.mddocs/designs/<date>-<topic>.mdWait for all discovery roles to complete.
Dual-use design doc format (Architect):
The architect's design artifact should include a HOTL-friendly contract block at the end — human-readable narrative first, execution contracts second:
# Design: <Feature Name>
## Overview
[human-readable design narrative]
## Proposed Approach
[architecture, components, data flow]
## Interfaces / File Targets
[specific files/modules to create or modify]
## Risks
[what could go wrong, migration concerns]
---
## Execution Contracts
### Intent
- objective: [one sentence]
- constraints: [what must not change]
- success_criteria: [how we know it's done]
### Verification
- [test command or check]
### Handoff to Dev
- [ordered list of implementation steps]
- [estimated scope per step]
This is HOTL-compatible by shape — HOTL can consume the contracts if present, dev can plan from them without HOTL.
After all discovery roles complete, render an inline summary:
Discovery complete (3 specialists, ~45s):
Researcher → docs/research/2026-03-30-auth-analysis.md
- OAuth2 + PKCE is industry standard for this use case
- Competitor X shipped passkey support last month
Architect → docs/designs/2026-03-30-auth-design.md
- Proposes middleware pattern in src/auth/
- Flags: session storage needs migration
PM → docs/strategies/2026-03-30-auth-strategy.md
- Priority 1: OAuth2 basic flow (2-3 days)
- Priority 2: Passkey support (stretch goal)
Recommendation: Ready for dev handoff. Review architect artifact
first — migration risk flagged.
Approve handoff to Dev? (yes / review artifacts first / stop)
Format rules:
Partial failure: If one discovery role fails while others succeed, include successful roles' outputs normally and show the failed role with an error note: "Researcher: unavailable — [error reason]". Still present the handoff gate — user decides whether to proceed.
State transitions at convergence:
dispatched → passedpassed → gatedstage_completed events yet — stages stay in gated or passed
until the handoff gate is resolvedPause before the first writing stage. Present options:
run_finished with status: stoppedOn approval:
completedstage_completed with result: passed for eachOn rejection (stop):
gated → rejected for gated stagesstage_completed with result: failed, reason: handoff rejectedrun_finished with status: stoppedHeadless policy (CI=true or no TTY):
After handoff approval, continue through remaining stages (implement → test → review) using the normal serial pipeline flow from step 6.
The addition is per-role announcements at each stage:
Start: Dev is implementing...
Complete: Dev completed → added OAuth middleware in src/auth/, login page updated
Start: Qa is testing...
Complete: Qa completed → 8 tests added (auth flow, session handling), all passing
Start: Reviewer is reviewing...
Complete: Reviewer completed → PASS, no blocking findings
Announcement rules:
These announcements also apply in normal (non-collaborative) serial mode — per-role visibility is always useful.
Before initializing the run, set up branch isolation. This applies to
standalone and dispatch-only pipeline modes. If pipeline: hotl,
skip this step (HOTL owns git lifecycle for pipeline runs).
Preflight:
bash <plugin-dir>/scripts/git-isolate.sh preflight
not-a-git-repo: skip isolationdirty-worktree and mode is serial or worktree: block. Tell user
to stash or commit first.detached-head: block. Tell user to checkout a branch first.Capture current branch (before any git mutation):
RETURN_BRANCH=$(git rev-parse --abbrev-ref HEAD)
Store this for the entire run. Return to it after the final stage.
Initialize the run first (to get run_id):
python3 <runtime>/agenteam_rt.py init --task "<task description>" [--profile <name>]
Include --profile if one was selected in step 2b. Capture the
run_id from the output.
Get branch plan:
python3 <runtime>/agenteam_rt.py branch-plan --task "<task>" --run-id "<run_id>"
Execute the plan:
action: create-branch:
bash <plugin-dir>/scripts/git-isolate.sh create-branch <branch>action: create-worktree:
bash <plugin-dir>/scripts/git-isolate.sh create-worktree <path> <branch>action: use-current: show warning, continue.action: none (hotl-deferred): skip.All pipeline stages run on the created branch/worktree.
After the final stage completes (or on abort):
action was create-branch:
bash <plugin-dir>/scripts/git-isolate.sh return $RETURN_BRANCH
Tell user: "Pipeline work is on branch <branch>. Merge or create a PR."action was create-worktree:
bash <plugin-dir>/scripts/git-isolate.sh cleanup-worktree <path>
Tell user: "Pipeline work is on branch ."(Run was already initialized in step 3.3 above to obtain the run_id for branch naming. Capture the run state from that output.)
Capture the run state (run_id, pipeline_mode, stages).
Creating the run state is bookkeeping only. Do not stop after printing the run ID or stage list. Once you have the run state, continue immediately into stage dispatch unless blocked by a human gate, an error, or an explicit user stop request.
Pipeline start banner (always show):
After capturing the run state, announce:
Pipeline started: "<task description>"
Profile: <profile name or "full"> | Stages: <comma-separated stage names>
This gives the user immediate confirmation of what's about to happen.
Read pipeline_mode from the run state:
$ateam:assign <role> <task> to assign tasks to specific roles."Iterate through each stage from the run state's stages in order. Do not
hardcode a shortened list. The default standalone pipeline is:
research -> strategy -> design -> plan -> implement -> test -> review
If the project config defines a different stage list, follow the config.
For each stage in the ordered stage list:
a0. Capture stage baseline:
python3 <runtime>/agenteam_rt.py stage-baseline --run-id <run_id> \
--stage <stage> --action capture
a1. Check if stage should be skipped (docs-only pre-dispatch skip):
After a writing stage completes and before dispatching the next
stage, check whether the changes warrant the upcoming stage:
1. Get changed files since baseline:
```bash
git diff --name-only <baseline>
```
2. Classify: **docs-only** if ALL files match `docs/**`, `*.md`,
`README*`, `CHANGELOG*`, `LICENSE*`, `.gitignore`.
Otherwise: **code-or-config**.
3. If next stage is `test` AND change set is docs-only:
- Transition: `pending → skipped`
```bash
python3 <runtime>/agenteam_rt.py transition --run-id <run_id> \
--stage <stage> --to skipped
python3 <runtime>/agenteam_rt.py set-stage-field --run-id <run_id> \
--stage <stage> --field skip_reason --value "docs_only_change"
python3 <runtime>/agenteam_rt.py set-stage-field --run-id <run_id> \
--stage <stage> --field skipped_at --value "<ISO timestamp>"
python3 <runtime>/agenteam_rt.py event append --run-id <run_id> \
--type stage_completed --stage <stage> \
--data '{"result": "skipped", "reason": "docs_only_change"}'
```
- Announce: "⊘ Skipping test stage (docs-only change, no tests needed)"
- Continue to next stage (review) or completion
4. Otherwise: dispatch normally (continue to step a below)
**Rules:**
- Never skip `implement` or `review` stages
- Never skip in collaborative discovery mode
- Only skip `test` stage, only for docs-only changes
- Config files (*.yaml, *.toml, *.json) are NOT docs-only
a. Get dispatch plan:
python3 <runtime>/agenteam_rt.py dispatch <stage> \
--task "<task>" --run-id <run_id>
b. Read the dispatch plan (JSON). Two formats:
**Flat dispatch (isolation: branch or worktree):**
- dispatch: list of roles to launch serially
- blocked: roles waiting for write lock
- gate: human or auto
**Grouped dispatch (isolation: none / scoped parallel):**
- groups: list of parallel-safe writer groups
- read_only: list of read-only roles
- gate: human or auto
b2. Transition stage to dispatched:
```bash
python3 <runtime>/agenteam_rt.py transition --run-id <run_id> \
--stage <stage> --to dispatched
```
b3. Announce stage start to user:
Format: "[N/total] Assigning @Role to <verb>..."
Use the stage name to select the verb:
| Stage | Verb |
|-----------|------|
| research | "investigate" |
| strategy | "define strategy" |
| design | "design the solution" |
| plan | "write the implementation plan" |
| implement | "implement the design" |
| test | "write tests" |
| review | "review the implementation" |
For custom stage names not in this table, use the stage name as the verb.
Adjust numbering to the actual stage count (profiles may skip stages).
Use the stage's assigned role name from the dispatch plan.
If a human gate is upcoming at this stage, append:
"(approval required after this stage)"
Example: "[3/5] Assigning @Dev to implement the design..."
c0. Check HOTL skill eligibility (before launching any subagent):
For each role about to be launched:
```bash
python3 <runtime>/agenteam_rt.py hotl-skills \
--run-id <run_id> --stage <stage> --role <role>
```
- For each entry in the `eligible[]` array: append the `inject`
text to the subagent's task instructions.
- If `hotl_available` is false or `eligible` is empty: no injection,
launch with default role instructions.
c0.5. Build a role-context block for each launched role:
Gather the role's static contract:
```bash
python3 <runtime>/agenteam_rt.py roles show <role>
```
Use the returned `handoff_contract` to tell the role what it is expected
to consume, produce, and who reads its output next.
Gather the stage's dynamic verification context:
```bash
python3 <runtime>/agenteam_rt.py verify-plan <stage> --run-id <run_id>
```
If a verify command is present, append it to the role context block.
This is especially important for QA so it writes tests the pipeline can
actually discover and run.
Resolve artifact paths for prior-stage artifact discovery:
```bash
python3 <runtime>/agenteam_rt.py artifact-paths
```
Use the returned `paths` map to scan for prior-stage artifacts.
This auto-detects standalone vs HOTL mode:
- Standalone: architect → `docs/designs/`, pm → `docs/strategies/`
- HOTL: architect → `docs/plans/`, dev plans → `./`
Do NOT hardcode directory paths — always use the runtime-resolved
paths so the context block is correct in both modes.
Include the most relevant prior-stage artifacts or summaries already
collected in step d2. Keep this block short and specific.
c. Launch agents:
**If plan has flat "dispatch" key (serial mode):**
- For each role in dispatch list:
- If mode is "read": launch as Codex subagent (can run in parallel
with other readers)
- If mode is "write": launch as Codex subagent (serial by default)
**If plan has "groups" key (scoped parallel mode):**
- Capture baseline: BASELINE=$(git rev-parse HEAD)
- Launch read_only roles as parallel subagents (alongside any group)
- For each group in order:
1. Launch all roles in the group as parallel subagents
Instruct agents: "Write your changes but do NOT run git add or
git commit. The controller handles commits."
2. Wait for all agents in the group to complete
3. Serialized commit capture (controller does this, NOT agents):
For each writing role in the group:
- git add <files matching role's write_scope>
- git commit -m "[ateam:<role>] <stage>: <summary>" (if staged files exist)
4. Check for unclaimed files: git status --porcelain
If any remain -> containment violation
5. Run scope audit:
python3 <runtime>/agenteam_rt.py scope-audit \
--run-id <run_id> --stage <stage> --baseline $BASELINE
6. If audit fails:
- Save the complete diff as
`.agenteam/runs/<run_id>/<stage>/scope-violation.patch` before
taking any recovery action.
- Log: "Scope containment violation. Preserved evidence and stopped
the stage; no checkout content was reset."
- Do not modify or discard the dirty checkout. A serial replay must
start in a new clean branch/worktree from `$BASELINE`.
- Ask before creating that replay because it may duplicate
non-idempotent role work. Break out of the group loop.
- The agent file is at the path in the dispatch plan (e.g.,
.codex/agents/architect.toml)
- Pass the task description and any outputs from previous stages
as context to the agent
- Append the role-context block from step c0.5 to the task prompt so
static role instructions are paired with run-specific context
- You must launch actual Codex subagents. Do not keep the work in the
lead agent and do not simulate what a role "would" say.
d. Emit stage_dispatched event and progress snapshot:
```bash
python3 <runtime>/agenteam_rt.py event append --run-id <run_id> \
--type stage_dispatched --stage <stage> \
--data '{"roles": ["<role1>", ...], "isolation": "<mode>"}'
python3 <runtime>/agenteam_rt.py status <run_id> --progress
```
Display the progress snapshot to the user so they can see
pipeline progress during execution.
**Progress emission rule:** After every stage transition (dispatch,
verify result, gate decision, completion, skip), emit the progress
snapshot via `status --progress`. This gives users in-thread
visibility into pipeline state without requiring a separate
terminal or polling loop.
d2. Collect outputs:
- Gather each role's output
- Store as context for subsequent stages
d3. Announce stage completion to user:
On success:
"@Role completed <stage> -- <one-line outcome summary>. <forward reference>"
Examples:
"@Researcher completed research -- report on auth patterns written to docs/research/. @Pm strategizes next."
"@Architect completed design -- OAuth2+PKCE recommended, 3 approaches documented. @Dev implements next."
"@Dev completed implement -- added 4 files in src/auth/, 230 lines. @Qa tests next."
"@Qa completed test -- 12 tests added, all passing. @Reviewer reviews next."
"@Reviewer completed review -- PASS, no blocking findings."
On failure:
"@Role failed at <stage> -- <one-line failure reason>"
Rules:
- One line per stage, outcome-shaped
- Include artifact paths or counts when available
- Include forward reference to next stage's role (except for the final stage)
- Never dump raw output, diffs, or full test logs
e. Verify stage (if configured):
- Get verify plan:
python3 <runtime>/agenteam_rt.py verify-plan <stage> --run-id <run_id>
- If verify is null: skip to gate check (see transition note below).
- Transition to verifying:
python3 <runtime>/agenteam_rt.py transition --run-id <run_id> \
--stage <stage> --to verifying
- Execute verification in the isolated workspace:
bash <plugin-dir>/scripts/verify-stage.sh run "<verify>" --cwd "<cwd>"
- Record result:
python3 <runtime>/agenteam_rt.py record-verify --run-id <run_id> \
--stage <stage> --result pass|fail --output "<output>"
- If passed:
python3 <runtime>/agenteam_rt.py transition --run-id <run_id> \
--stage <stage> --to passed
Continue to gate check.
- If failed:
python3 <runtime>/agenteam_rt.py transition --run-id <run_id> \
--stage <stage> --to failed
- If failed and attempts < max_retries:
Log "Verification failed (attempt N/max). Re-dispatching..."
Check verify-plan for rework_to:
* If rework_to is set (cross-stage repair):
Dispatch rework_roles as REPAIR (no verify/gate on repair action).
Record: record-verify --rework-stage <rework_to>
Re-run THIS stage's verify (not the rework stage's).
* If rework_to is not set (same-stage retry):
Determine repair role(s):
- Single-role stage: re-dispatch that role
- Multi-role stage: match failing files to write_scope
- All-read-only stage: fail-fast (no repair possible)
Before re-dispatching, re-run hotl-skills for each repair role:
```
python3 <runtime>/agenteam_rt.py hotl-skills \
--run-id <run_id> --stage <stage> --role <repair_role>
```
The stage status is now "failed" or "rework", so
systematic-debugging becomes eligible. Append any eligible
inject text to the repair subagent's instructions.
Re-dispatch repair role(s) with failure output as context
Go back to verify
- If failed and attempts >= max_retries (or no legal repair role):
Log "Verification failed after N attempts."
Offer non-destructive recovery:
result = agenteam_rt.py stage-baseline --run-id <run_id> \
--stage <stage> --action rollback
If result.allowed:
Show: git diff --stat <baseline>..HEAD
Save the current diff to
`.agenteam/runs/<run_id>/<stage>/failed-attempt.patch`.
Ask: "Create a clean recovery branch/worktree from the baseline?"
Never discard the current checkout automatically. Recovery runs in
the new isolated workspace, and the preserved patch remains reviewable.
If not result.allowed (isolation:none):
Log: "Rollback not available in scoped parallel mode."
Show failure output to user. Do NOT advance.
**Long-running harness invariant:** Treat runtime state as authoritative.
Persist the active attempt, `thread_id`, last heartbeat, wall/idle budgets,
retry count, and stop reason. Emit `status --progress` at least once per
heartbeat interval. After controller interruption, invoke `$ateam:resume`;
do not silently launch a replacement agent.
f. Gate criteria check (if stage has criteria):
result = agenteam_rt.py gate-eval --run-id <run_id> --stage <stage>
If result.passed: continue to gate.
If result.failed:
Log: "Gate criteria failed: <failed_criteria>"
Escalate to human: "Stage exceeded criteria. Approve anyway? (yes/no)"
If approved:
python3 <runtime>/agenteam_rt.py record-gate --run-id <run_id> \
--stage <stage> --gate-type criteria_override \
--result approved --criteria-failed "<list>" \
--override-reason "<user's reason>"
Continue to gate.
If rejected: mark stage failed.
g. Gate check and stage completion transitions:
**Transition paths (all four cases from default pipeline):**
- verify + gate (e.g., design): dispatched → verifying → passed → gated → completed
- verify + no gate (e.g., implement): dispatched → verifying → passed → completed
- no verify + gate (e.g., strategy, plan): dispatched → passed → gated → completed
- no verify + no gate (e.g., research): dispatched → completed
**If verify was null (no verify configured):**
- If gate is "human" or "reviewer":
python3 <runtime>/agenteam_rt.py transition --run-id <run_id> \
--stage <stage> --to passed
- If gate is "auto" or no gate:
python3 <runtime>/agenteam_rt.py transition --run-id <run_id> \
--stage <stage> --to completed
(skip gate check, stage is done)
**Gate evaluation (when gate is not "auto"):**
- python3 <runtime>/agenteam_rt.py transition --run-id <run_id> \
--stage <stage> --to gated
- If gate is "human":
Announce: "Waiting for your approval at the <stage> gate."
Pause and show the user a summary of the
stage output. Ask: "Approve this stage? (yes/no/details)"
- If gate is "reviewer" or "qa": dispatch the gate agent as a
SEPARATE subagent (never the stage actor). Parse verdict
(PASS/BLOCK). Record via record-gate. If BLOCK, pause for human.
- Record gate result:
python3 <runtime>/agenteam_rt.py record-gate --run-id <run_id> \
--stage <stage> --gate-type <type> --result approved|rejected
**After gate approval:**
- python3 <runtime>/agenteam_rt.py transition --run-id <run_id> \
--stage <stage> --to completed
**After gate rejection:**
- python3 <runtime>/agenteam_rt.py transition --run-id <run_id> \
--stage <stage> --to rejected
**On re-dispatch (retry after failure or rejection):**
- python3 <runtime>/agenteam_rt.py transition --run-id <run_id> \
--stage <stage> --to dispatched
f0. Emit stage_completed event (after verify passed + gate approved):
```bash
python3 <runtime>/agenteam_rt.py event append --run-id <run_id> \
--type stage_completed --stage <stage> \
--data '{"result": "passed"}'
```
On stage failure (verify exhausted, gate rejected, or no repair):
```bash
python3 <runtime>/agenteam_rt.py event append --run-id <run_id> \
--type stage_completed --stage <stage> \
--data '{"result": "failed", "reason": "<failure reason>"}'
```
f. Handoff:
- Pass the collected outputs as context to the next stage
- Design output feeds into plan stage
- Plan output feeds into implement stage
- Implement output feeds into test stage
- All outputs feed into review stage
Do not mark the run complete after implement. Unless the user explicitly
asks to stop early, continue through test and review, and surface the
reviewer's findings before calling the pipeline done.
After all stages complete, run final verification:
1. Get final verify plan:
python3 <runtime>/agenteam_rt.py final-verify-plan --run-id <run_id>
2. If policy is "unverified":
Print warning: "No final verification commands configured or detected.
AgenTeam cannot vouch for this run."
Skip to completion.
3. Run each command in sequence:
bash <plugin-dir>/scripts/verify-stage.sh run "<command>" --cwd "<cwd>"
4. If all pass: continue to completion.
5. If any fail and retries remain:
Determine repair role(s) from failure context:
* Failing test files (tests/**) -> dispatch qa
* Failing source files (src/**) -> dispatch dev
* Both -> dispatch dev + qa
* Unclear -> dispatch dev as fallback
Re-dispatch repair role(s) with failure output
Re-run all final_verify commands
6. If still failing:
block mode: mark run failed, keep branch open, print failure summary
warn mode: print "TESTS FAILING" warning, complete but do not suggest merge
This is non-negotiable. Final verification is the mechanism that lets AgenTeam vouch for its work. It runs AFTER the review stage, not before.
After final verification (or when pipeline stops due to failure):
1. Generate report:
python3 <runtime>/agenteam_rt.py run-report --run-id <run_id>
2. Render the JSON as markdown and write to the report_path
(typically .agenteam/reports/<run-id>.md)
3. Show report summary to user
4. Log: "Run report saved to <report_path>"
Reports are local diagnostics (gitignored). They are never auto-committed.
When pipeline mode is hotl, AgenTeam acts as the outer orchestrator
and composes HOTL skills for each stage:
a. DESIGN STAGE:
- Resolve roles: agenteam-rt dispatch design -> {architect}
- Invoke HOTL brainstorming skill with architect's system instructions
injected as context
- HOTL drives the design conversation
- Collect design output
b. PLAN STAGE:
- Resolve roles: agenteam-rt dispatch plan -> {architect}
- Invoke HOTL writing-plans skill
- HOTL generates the workflow file
- Gate: human approval of the plan
c. IMPLEMENT + TEST STAGE:
- Resolve roles: agenteam-rt dispatch implement -> {dev}
- Resolve roles: agenteam-rt dispatch test -> {qa}
- Invoke HOTL loop-execution or subagent-execution
- HOTL executes workflow steps
- Implementer and qa agents are the workers
- Write policy enforced: serial by default
d. REVIEW STAGE:
- Resolve roles: agenteam-rt dispatch review -> {reviewer}
- Invoke HOTL code-review skill with reviewer agent
- Gate: human approval
Key principle: AgenTeam manages role selection and write policy between phases. HOTL manages execution within each phase. AgenTeam never modifies HOTL internals.
Only after the final configured stage completes:
python3 <runtime>/agenteam_rt.py event append --run-id <run_id> \
--type run_finished --data '{"status": "completed"}'
Pipeline complete: <N>/<N> stages passed.
On failure: Pipeline stopped at <stage>: <reason>. Completed <N>/<total> stages.python3 <runtime>/agenteam_rt.py statuspython3 <runtime>/agenteam_rt.py history append --run-id <run_id>
This saves the run summary + lessons learned for injection into future
runs. Only called on completed or failed runs — not stopped/abandoned.On unrecoverable pipeline failure:
python3 <runtime>/agenteam_rt.py event append --run-id <run_id> \
--type run_finished --data '{"status": "failed"}'
python3 <runtime>/agenteam_rt.py history append --run-id <run_id>
Resolve the AgenTeam runtime:
./runtime/agenteam_rt.py<plugin-install-path>/runtime/agenteam_rt.py<branch>