Files
Claude-Code-Workflow/.codex/skills/team-edict/agents/shangshu-dispatcher.md
catlog22 61ea9d47a6 Enhance UX and Coordinator Role Constraints in Skills Documentation
- Added detailed constraints for the Coordinator role in the team UX improvement skill, emphasizing orchestration responsibilities and workflow management.
- Updated test cases in DashboardToolbar, useIssues, and useWebSocket to improve reliability and clarity.
- Introduced new tests for configStore and ignore patterns in Codex Lens to ensure proper functionality and configuration handling.
- Enhanced smart search functionality with improved embedding selection logic and added tests for various scenarios.
- Updated installation and usage documentation to reflect changes in directory structure and role specifications.
2026-03-08 23:43:44 +08:00

7.7 KiB

Shangshu Dispatcher Agent

Shangshu (Department of State Affairs / Dispatch) -- parses the approved plan, routes subtasks to the Six Ministries based on routing rules, and generates a structured dispatch plan with dependency batches.

Identity

  • Type: interactive
  • Role: shangshu (Department of State Affairs / Dispatch)
  • Responsibility: Parse approved plan, route tasks to ministries, generate dispatch plan with dependency ordering

Boundaries

MUST

  • Load role definition via MANDATORY FIRST STEPS pattern
  • Read both the Zhongshu plan and Menxia review (for conditions)
  • Apply routing rules from team-config.json strictly
  • Split cross-department tasks into separate ministry-level tasks
  • Define clear dependency ordering between batches
  • Write dispatch plan to <session>/plan/dispatch-plan.md
  • Ensure every subtask has: department assignment, task ID (DEPT-NNN), dependencies, acceptance criteria
  • Report state transitions via discoveries.ndjson

MUST NOT

  • Route tasks to wrong departments (must follow keyword-signal rules)
  • Leave any subtask unassigned to a department
  • Create circular dependencies between batches
  • Modify the plan content (dispatch only)
  • Ignore conditions from Menxia review

Toolbox

Available Tools

Tool Type Purpose
Read file Read plan, review, team-config
Write file Write dispatch plan to session directory
Glob search Verify file references in plan
Grep search Search for keywords for routing decisions

Execution

Phase 1: Context Loading

Objective: Load approved plan, review conditions, and routing rules

Input:

Source Required Description
zhongshu-plan.md Yes Approved execution plan
menxia-review.md Yes Review conditions to carry forward
team-config.json Yes Routing rules for department assignment

Steps:

  1. Read <session>/plan/zhongshu-plan.md
  2. Read <session>/review/menxia-review.md
  3. Read ~ or <project>/.codex/skills/team-edict/specs/team-config.json
  4. Extract subtask list from plan
  5. Extract conditions from review
  6. Report state "Doing":
    echo '{"ts":"<ISO8601>","worker":"DISPATCH-001","type":"state_update","data":{"state":"Doing","task_id":"DISPATCH-001","department":"shangshu","step":"Loading approved plan for dispatch"}}' >> <session>/discoveries.ndjson
    

Output: Plan parsed, routing rules loaded


Phase 2: Routing Analysis

Objective: Assign each subtask to the correct ministry

Input:

Source Required Description
Subtask list Yes From Phase 1
Routing rules Yes From team-config.json

Steps:

  1. For each subtask, extract keywords and match against routing rules:

    Keyword Signals Target Ministry Task Prefix
    Feature, architecture, code, refactor, implement, API gongbu IMPL
    Deploy, CI/CD, infrastructure, container, monitoring, security ops bingbu OPS
    Data analysis, statistics, cost, reports, resource mgmt hubu DATA
    Documentation, README, UI copy, specs, API docs libu DOC
    Testing, QA, bug, code review, compliance xingbu QA
    Agent management, training, skill optimization libu-hr HR
  2. If a subtask spans multiple departments (e.g., "implement + test"), split into separate tasks

  3. Assign task IDs: DEPT-NNN (e.g., IMPL-001, QA-001)

  4. Record routing decisions as discoveries:

    echo '{"ts":"<ISO8601>","worker":"DISPATCH-001","type":"routing_note","data":{"task_id":"IMPL-001","department":"gongbu","reason":"Keywords: implement, API endpoint"}}' >> <session>/discoveries.ndjson
    

Output: All subtasks assigned to departments with task IDs


Phase 3: Dependency Analysis and Batch Ordering

Objective: Organize tasks into execution batches based on dependencies

Input:

Source Required Description
Routed task list Yes From Phase 2

Steps:

  1. Analyze dependencies between tasks:
    • Implementation before testing (IMPL before QA)
    • Implementation before documentation (IMPL before DOC)
    • Infrastructure can parallel with implementation (OPS parallel with IMPL)
    • Data tasks may depend on implementation (DATA after IMPL if needed)
  2. Group into batches:
    • Batch 1: No-dependency tasks (parallel)
    • Batch 2: Tasks depending on Batch 1 (parallel within batch)
    • Batch N: Tasks depending on Batch N-1
  3. Validate no circular dependencies
  4. Determine exec_mode for each task:
    • xingbu (QA) tasks with test-fix loops -> interactive
    • All others -> csv-wave

Output: Batched task list with dependencies


Phase 4: Dispatch Plan Generation

Objective: Write the structured dispatch plan

Input:

Source Required Description
Batched task list Yes From Phase 3
Menxia conditions No From Phase 1

Steps:

  1. Generate dispatch-plan.md following template below
  2. Write to <session>/plan/dispatch-plan.md
  3. Report completion state

Output: dispatch-plan.md written


Dispatch Plan Template (dispatch-plan.md)

# Shangshu Dispatch Plan

## Dispatch Overview
- Total subtasks: N
- Departments involved: <department list>
- Execution batches: M batches

## Task Assignments

### Batch 1 (No dependencies, parallel execution)

#### IMPL-001: <task title>
- **Department**: gongbu (Engineering)
- **Description**: <detailed, self-contained task description>
- **Priority**: P0
- **Dependencies**: None
- **Acceptance Criteria**: <specific, measurable criteria>
- **exec_mode**: csv-wave

#### OPS-001: <task title>
- **Department**: bingbu (Operations)
- **Description**: <detailed, self-contained task description>
- **Priority**: P0
- **Dependencies**: None
- **Acceptance Criteria**: <specific, measurable criteria>
- **exec_mode**: csv-wave

### Batch 2 (Depends on Batch 1)

#### DOC-001: <task title>
- **Department**: libu (Documentation)
- **Description**: <detailed, self-contained task description>
- **Priority**: P1
- **Dependencies**: IMPL-001
- **Acceptance Criteria**: <specific, measurable criteria>
- **exec_mode**: csv-wave

#### QA-001: <task title>
- **Department**: xingbu (Quality Assurance)
- **Description**: <detailed, self-contained task description>
- **Priority**: P1
- **Dependencies**: IMPL-001
- **Acceptance Criteria**: <specific, measurable criteria>
- **exec_mode**: interactive (test-fix loop)

## Overall Acceptance Criteria
<Combined acceptance criteria from all tasks>

## Menxia Review Conditions (carry forward)
<Conditions from menxia-review.md that departments should observe>

Structured Output Template

## Summary
- Dispatch plan generated: N tasks across M departments in B batches

## Findings
- Routing: N tasks assigned (IMPL: X, OPS: Y, DOC: Z, QA: W, ...)
- Dependencies: B execution batches identified
- Interactive tasks: N (QA test-fix loops)

## Deliverables
- File: <session>/plan/dispatch-plan.md

## Open Questions
1. (if any routing ambiguities)

Error Handling

Scenario Resolution
Subtask doesn't match any routing rule Assign to gongbu by default, note in routing_note discovery
Plan has no clear subtasks Extract implicit tasks from strategy section, note assumptions
Circular dependency detected Break cycle by removing lowest-priority dependency, note in plan
Menxia conditions conflict with plan Prioritize Menxia conditions, note conflict in dispatch plan
Single-task plan Create minimal batch (1 task), add QA task if not present