/assign
Assign or reassign a story to an owner with optional status update. Updates story metadata and broadcasts the assignment via the message bus.
Quick Start
/agileflow:assign STORY=US-0001 NEW_OWNER=AG-UIParameters
| Parameter | Required | Default | Description |
|---|---|---|---|
STORY | Yes | - | Story ID to assign (e.g., US-0001, US-0042) |
NEW_OWNER | Yes | - | Agent/owner ID (e.g., AG-UI, AG-API, AG-CI) |
NEW_STATUS | No | - | Update status: ready, in-progress, blocked, in-review, done |
NOTE | No | - | Optional context about the assignment |
Examples
Assign Story to Owner
/agileflow:assign STORY=US-0042 NEW_OWNER=AG-UIAssign the story to the UI team without changing status.
Assign and Start Work
/agileflow:assign STORY=US-0042 NEW_OWNER=AG-UI NEW_STATUS=in-progress NOTE="Starting login form implementation"Assign story and immediately mark as in progress with context.
Reassign to Different Owner
/agileflow:assign STORY=US-0038 NEW_OWNER=AG-API NEW_STATUS=ready NOTE="Re-prioritized for OAuth implementation"Move story from one agent to another.
Assign from Unassigned
/agileflow:assign STORY=US-0050 NEW_OWNER=AG-CI NEW_STATUS=ready NOTE="Ready for CI/CD integration work"Give work to an unassigned story.
Reassign Due to Blocker
/agileflow:assign STORY=US-0055 NEW_OWNER=AG-DEVOPS NEW_STATUS=blocked NOTE="Blocked on infrastructure provisioning. Needs DevOps attention"Reassign when different expertise needed.
What Gets Updated
The command updates two files:
1. Story File
Updates story frontmatter (in docs/06-stories/**/<STORY>.md):
---
owner: AG-UI
status: in-progress
updated: 2025-12-24T14:30:00Z
---2. Status Tracking File
Updates docs/09-agents/status.json with assignment and status change.
3. Message Bus
Appends an "assign" event to docs/09-agents/bus/log.jsonl:
{"ts":"2025-12-24T14:30:00Z","from":"claude","type":"assign","story":"US-0042","owner":"AG-UI","status":"in-progress","text":"Starting login form implementation"}Status Values
When using NEW_STATUS, choose from:
| Status | Meaning | When to Use |
|---|---|---|
ready | Prepared, waiting to start | After creation or when unblocked |
in-progress | Currently being worked on | When owner begins work |
blocked | Waiting on external dependency | When blocker identified |
in-review | Complete, awaiting approval | Code review or QA |
done | Finished and verified | After all checks pass |
Assignment Flow Example
Typical workflow through assignment states:
1. Story created (STORY=US-0042, OWNER=unassigned, STATUS=ready)
/agileflow:assign STORY=US-0042 NEW_OWNER=AG-UI NEW_STATUS=ready2. Owner starts work
/agileflow:assign STORY=US-0042 NEW_OWNER=AG-UI NEW_STATUS=in-progress3. Code complete, ready for review
/agileflow:status STORY=US-0042 STATUS=in-review PR=https://github.com/...4. Review complete
/agileflow:status STORY=US-0042 STATUS=done5. If blocked during work
/agileflow:status STORY=US-0042 STATUS=blocked SUMMARY="Blocked on API response format"6. Unblocked, resume work
/agileflow:status STORY=US-0042 STATUS=in-progress SUMMARY="API clarified, resuming development"Output
The command displays:
- Diff Preview - Shows changes to be made
- Confirmation - YES/NO prompt to confirm
- Success Message - Confirms assignment completed
Example output:
✅ Story Assigned
Story: US-0042
Owner: unassigned → AG-UI
Status: ready (unchanged)
Updated: 2025-12-24T14:30:00Z
Message broadcast: Assigned US-0042 to AG-UIJSON Safety
The command uses safe JSON handling:
- Never uses echo/cat - Always uses jq or Edit tool
- Validates after update - Checks JSON is valid before finishing
- Backs up on error - Can restore from backup if corruption occurs
Best Practices
- Assign immediately - Don't leave stories unassigned
- Include context - Use NOTE to explain why assignment happened
- Match expertise - Assign to agent with relevant skills
- Balance load - Distribute work fairly across agents
- Update status - Consider updating status when assigning
- Communicate - Team should understand why reassignment happened
Common Scenarios
Load Balancing
Distribute work when one agent is overloaded:
/agileflow:assign STORY=US-0055 NEW_OWNER=AG-DEVOPS NOTE="Load balancing: AG-API at WIP limit"Cross-Training
Assign to less experienced agent with guidance:
/agileflow:assign STORY=US-0060 NEW_OWNER=AG-CI NEW_STATUS=ready NOTE="Cross-training opportunity for CI/CD work. Pair with AG-API"Expertise Transfer
Reassign to specialist when expertise needed:
/agileflow:assign STORY=US-0065 NEW_OWNER=AG-SECURITY NEW_STATUS=in-progress NOTE="Security vulnerability fix - needs security expertise"Recovery from Blocker
Resume work after unblock:
/agileflow:assign STORY=US-0070 NEW_OWNER=AG-UI NEW_STATUS=in-progress NOTE="Unblocked: API endpoint now available, resuming frontend work"Related Commands
/agileflow:status- Update just status without reassigning/agileflow:board- View all assignments visually/agileflow:metrics- See workload distribution/story-new- Create new stories with assignments
FAQ
On This Page
/assignQuick StartParametersExamplesAssign Story to OwnerAssign and Start WorkReassign to Different OwnerAssign from UnassignedReassign Due to BlockerWhat Gets Updated1. Story File2. Status Tracking File3. Message BusStatus ValuesAssignment Flow ExampleOutputJSON SafetyBest PracticesCommon ScenariosLoad BalancingCross-TrainingExpertise TransferRecovery from BlockerRelated CommandsFAQ