Workflow orchestrator - spawns agents in fresh background contexts using Claude Code's native subagent system
View on GitHubskills/work/SKILL.md
February 3, 2026
Select agents to install to:
npx add-skill https://github.com/Bayonle/agentic-engineering/blob/main/skills/work/SKILL.md -a claude-code --skill workInstallation paths:
.claude/skills/work/# Workflow Orchestrator
**Trigger**: `/work task-id`
## Step 0: Ensure Workspace Exists
Before doing anything else, check if `workspace/` directory exists:
```bash
ls workspace/
```
**If workspace doesn't exist:**
1. Tell user: "No workspace found. Creating one..."
2. Copy from `lib/templates/workspace/` if available
3. Or create minimal structure with directories and empty files
The `/task` command also auto-creates workspace, so typically it will exist.
---
## How This Works
This skill instructs Claude to:
1. Read task status from filesystem
2. Determine which agent should run next
3. **Spawn that agent in background** using the Task tool
4. Exit immediately (orchestrator done)
5. User resumes later with `/work task-id`
## Available Subagents
This plugin provides proper Claude Code subagents in `agents/`:
| Agent | When Used | What It Does |
|-------|-----------|--------------|
| `pm-agent` | Task in `inbox` | Writes business-focused PRD |
| `architect-agent` | Task in `in-planning` | Creates technical plan |
| `engineer-agent` | Task in `ready-to-build` | Implements on feature branch |
| `qa-agent` | Task in `ready-for-testing` | Tests and generates report |
| `devops-agent` | Task in `ready-to-deploy` | Deploys to production |
---
## Step 1: Read Task Status
Check where the task is in the workflow:
```bash
# Find the task
ls workspace/tasks/*/task-{id}.md
```
Status locations:
- `workspace/tasks/inbox/` → PM
- `workspace/tasks/in-planning/` → Architect
- `workspace/tasks/ready-to-build/` → Engineer
- `workspace/tasks/ready-for-testing/` → QA
- `workspace/tasks/ready-to-deploy/` → DevOps
- `workspace/tasks/deployed/` → DONE!
---
## Step 2: Spawn the Right Agent
**Use the Task tool to spawn the appropriate subagent in background:**
### If task is in `inbox` → Spawn PM Agent
```
Task tool:
subagent_type: "pm-agent"
description: "PM writes PRD for {task-id}"
run_in_background: true
prompt: |
Work on task {task-id}.
CRITICAL BOU