Skip to main content

assign

Task Assignment Agent - Assigns Native Tasks to worker terminals, updates ownership, and syncs progress tracking. Pipeline Position: After /orchestrate, Before /worker Handoff: Workers run /worker start

الانتقال إلى التثبيت

معلومات المصدر

المستودع
majiayu000/claude-skill-registry-data
آخر نشاط في المصدر
٢١ أبريل ٢٠٢٦ في ٠٢:٢١
لغة SKILL.md المكتشفة
الإنجليزية
النجوم
٢٢
التفرعات
٨

خيارات التثبيت

يُحدَّد Prompt الذي يراجع المصدر أولًا بشكل افتراضي. يمكنك التبديل إلى أمر مباشر أو تنزيل نسخة محلية.

مراجعة ملفات المصدر

اقرأ SKILL.md وأي ملفات مرافقة يعرضها SkillsMP قبل أن تقرر التثبيت.

مستكشف الملفات
2 ملفات

عرض SKILL.md

SKILL.md
تعليمات المصدر · معاينة للقراءة فقط
name
assign
description
Task Assignment Agent - Assigns Native Tasks to worker terminals, updates ownership, and syncs progress tracking. Pipeline Position: After /orchestrate, Before /worker Handoff: Workers run /worker start
user-invocable
true
model
opus
version
4.0.0
argument-hint
<task-id> <terminal-id> [--sub-orchestrator] | auto
allowed-tools
["Read","Write","Glob","Grep","Task","TaskUpdate","TaskList","TaskGet","AskUserQuestion","mcp__sequential-thinking__sequentialthinking"]
hooks
{"Setup":[{"type":"command","command":"source /home/palantir/.claude/skills/shared/parallel-agent.sh","timeout":5000}]}
agent_delegation
{"enabled":true,"default_mode":true,"max_sub_agents":3,"delegation_strategy":"auto"}
parallel_agent_config
{"enabled":true,"agent_count_by_complexity":{"simple":1,"moderate":2,"complex":3}}
synthesis_config
{"phase_3a_l2_horizontal":{"enabled":true,"validation_criteria":["load_balance_check","dependency_order_validation","terminal_capacity_check"]},"phase_3b_l3_vertical":{"enabled":true,"validation_criteria":["task_terminal_compatibility","blocker_resolution_order"]}}
selective_feedback
{"enabled":true,"severity_filter":"warning","feedback_targets":[{"gate":"ASSIGN","action":"block_on_error"}]}
agent_internal_feedback_loop
{"enabled":true,"max_iterations":3,"validation_criteria":["Each task has exactly one owner","Blocked tasks assigned after blockers","Terminal load is balanced"]}
# /assign - Task Assignment to Workers > **Version:** 4.0.0 | **Model:** opus > **Pipeline:** /orchestrate -> [/assign] -> /worker > **EFL:** P1-P6 Complete --- ## 1. Purpose Task Assignment Agent that: 1. Assigns Native Tasks to terminals via `TaskUpdate(owner=...)` 2. Updates workload-scoped `_progress.yaml` 3. Supports manual and auto-assignment modes 4. Validates dependencies before assignment 5. Enables Sub-Orchestrator mode for hierarchical decomposition --- ## 2. Task API Integration ### Assignment Pattern ```javascript // Manual assignment TaskUpdate({ taskId: taskId, owner: terminalId, metadata: { hierarchyLevel: 0, subOrchestratorMode: isSubOrchestrator, canDecompose: isSubOrchestrator } }) // Auto assignment - all tasks get Sub-Orchestrator mode const unassigned = TaskList().filter(t => !t.owner) for (let i = 0; i < unassigned.length; i++) { TaskUpdate({ taskId: unassigned[i].id, owner: `terminal-${String.fromCharCode(98 + i)}` }) } ``` ### Progress File Update Updates `_progress.yaml` with: - Terminal status (idle/working/completed) - Assigned task ID and phase - Sub-Orchestrator mode flag - Hierarchy level --- ## 3. Invocation ```bash # Manual assignment /assign 1 terminal-b # Assign Task #1 to Terminal B /assign 2 terminal-c --sub-orchestrator # With decomposition ability # Auto assignment (Sub-Orchestrator default) /assign auto # Assigns all unassigned tasks # Workload-specific /assign --workload {slug} auto ``` --- ## 4. Execution Protocol ### Manual Assignment Flow ```javascript function manualAssign(taskId, terminalId, options = {}) { // 1. Validate task exists const task = TaskGet({taskId}) if (!task) return error(`Task #${taskId} not found`) // 2. Check if already assigned if (task.owner) { const confirm = askUser(`Reassign from ${task.owner}?`) if (!confirm) return } // 3. Warn about blockers (but allow assignment) if (task.blockedBy?.length > 0) { warn(`Task blocked by: ${task.blockedBy.join(', ')}`) } // 4. Update task owner TaskUpdate({ taskId: taskId, owner: terminalId, metadata: { subOrchestratorMode: options.subOrchestrator || false } }) // 5. Update _progress.yaml updateProgressFile(taskId, terminalId, task) } ``` ### Auto Assignment Flow ```javascript function autoAssign() { // 1. Get unassigned tasks const unassigned = TaskList().filter(t => !t.owner) // 2. Prioritize unblocked tasks const unblocked = unassigned.filter(t => !t.blockedBy?.length) const blocked = unassigned.filter(t => t.blockedBy?.length > 0) // 3. Assign to available terminals const terminals = ['terminal-b', 'terminal-c', 'terminal-d'] let assignments = [] for (let i = 0; i < unblocked.length; i++) { assignments.push({ taskId: unblocked[i].id, terminalId: terminals[i % terminals.length], canStart: true }) } // 4. Execute assignments with Sub-Orchestrator mode for (const a of assignments) { TaskUpdate({ taskId: a.taskId, owner: a.terminalId, metadata: { subOrchestratorMode: true } }) } } ``` --- ## 5. Sub-Orchestrator Mode When assigned with `--sub-orchestrator`, workers can: - Decompose their task into subtasks - Run `/orchestrate` to create child tasks - Assign subtasks to themselves or other terminals ### Hierarchy Levels ``` Level 0 (Main): /orchestrate by Main Agent | +-- Task #1 -----> terminal-b (--sub-orchestrator) | +-- Level 1: terminal-b runs /orchestrate +-- Subtask #1.1 +-- Subtask #1.2 ``` --- ## 6. Output ### Summary Format ``` === Assignment Summary === Total assigned: 3 Can start now: 1 Blocked: 2 Ready to Start: terminal-b: /worker start -> Task #1 Blocked: terminal-c: Task #2 (blocked by #1) terminal-d: Task #3 (blocked by #2) ``` ### Worker Instructions ``` terminal-b: /worker start -> Task #1: {subject} terminal-c: (Wait for blockers) -> Task #2 blocked by: 1 ``` --- ## 7. Error Handling | Error | Recovery | |-------|----------| | Task not found | Show available tasks via TaskList | | Invalid terminal ID | Warn about naming convention | | Progress file conflict | Regenerate from TaskList | --- ## 8. Handoff Contract ```yaml handoff: skill: "assign" workload_slug: "{slug}" status: "completed" next_action: skill: "/worker" arguments: "start" reason: "Tasks assigned, workers can start" ``` --- ## 9. Version History | Version | Changes | |---------|---------| | 4.0.0 | Deduplicated, V2.1.19 frontmatter, Task API patterns | | 3.0.0 | Full EFL P1-P6 implementation | | 2.1.0 | Sub-Orchestrator mode added | | 1.0.0 | Initial task assignment | **End of Skill Documentation**
عرض على GitHub