Files
gh-yebot-rad-cc-plugins-plu…/commands/work.md
2025-11-30 09:07:45 +08:00

187 lines
5.1 KiB
Markdown

---
description: Start working on a specific task by ID. Automatically sets status, guides implementation, and offers seamless transition to next task upon completion.
---
# Work on Task
Start focused work on a specified task, manage its lifecycle, and transition smoothly to the next task.
## Arguments
- `$ARGUMENTS` - Task identifier (e.g., "task-4", "4", "42")
## Instructions
### Phase 1: Task Initialization
1. **Parse the task identifier** from `$ARGUMENTS`:
- Accept formats: `task-4`, `4`, `task-42`, `42`
- Normalize to task ID (extract number if prefixed)
2. **Load the task**:
```bash
backlog task <id>
```
3. **Verify task is workable**:
- Check status is "To Do" or already "In Progress"
- Check all dependencies are "Done"
- If blocked, report blockers and suggest working on them first
4. **Set task to "In Progress"** (if not already):
```bash
backlog task edit <id> --status "In Progress"
```
5. **Present task context to user**:
- Display title, description, acceptance criteria
- Show implementation plan if exists
- List any prior implementation notes
- Highlight what "done" looks like
### Phase 2: Implementation Work
1. **Begin implementation** based on:
- Task description and acceptance criteria
- Implementation plan (if provided)
- Project context and codebase patterns
2. **During work, track progress**:
- Check off acceptance criteria as completed:
```bash
backlog task edit <id> --check-ac <criterion-number>
```
- Append implementation notes for future reference:
```bash
backlog task edit <id> --append-notes $'What was done:\n- Item 1\n- Item 2'
```
3. **If discovering new work**:
- Create subtasks for scope creep
- Update dependencies as needed
- Keep original task focused
### Phase 3: Task Completion
When all acceptance criteria are met:
1. **Verify completion**:
- Review all acceptance criteria are checked
- Confirm implementation matches requirements
- Run relevant tests if applicable
2. **Mark task as Done**:
```bash
backlog task edit <id> --status "Done"
```
3. **Add completion notes**:
```bash
backlog task edit <id> --append-notes $'Completed: <summary of what was done>'
```
### Phase 4: Transition
After completing the task, perform the following:
1. **Offer context compaction**:
Ask the user:
> "Task <id> is complete. Would you like me to compact the conversation context before continuing to the next task? This helps maintain performance for longer sessions."
If yes: Use `/compact` to summarize and compress the conversation context.
2. **Identify the next task**:
```bash
backlog task list --status "To Do" --sort priority
```
Select the next task based on:
- Highest priority first
- Dependencies satisfied (blockers completed)
- Related to just-completed work (if applicable)
3. **Present next task recommendation**:
> "The next recommended task is **task-<next-id>: <title>** (priority: <priority>)."
>
> **Description**: <brief description>
>
> **Why this task**: <rationale - highest priority / unblocked / related work>
>
> Would you like me to start working on this task now?
4. **If user accepts**:
- Recursively invoke this workflow for the next task
- Seamlessly continue the work session
5. **If user declines**:
- Show the board overview: `backlog board`
- Offer alternative tasks if requested
## Error Handling
- **Task not found**: Search for similar tasks and suggest alternatives
- **Task already Done**: Inform user, offer to reopen or suggest next task
- **Dependencies not met**: List blocking tasks, offer to work on blockers instead
- **Invalid ID format**: Show accepted formats and ask for correction
## Example Session
```
User: /work 4
Claude: Loading task-4...
**Task 4: Implement user authentication**
Status: To Do → In Progress
Priority: High
Labels: auth, security
**Description:**
Add JWT-based authentication to the API endpoints.
**Acceptance Criteria:**
- [ ] Login endpoint returns JWT token
- [ ] Protected routes require valid token
- [ ] Token refresh mechanism works
- [ ] Logout invalidates token
**Implementation Plan:**
1. Add JWT library dependency
2. Create auth middleware
3. Implement login/logout endpoints
4. Add token refresh logic
Starting implementation...
[... implementation work happens ...]
All acceptance criteria complete. Marking task-4 as Done.
---
Task 4 is complete! Would you like me to compact the conversation
context before continuing to the next task?
[User: Yes]
Context compacted.
The next recommended task is **task-7: Add rate limiting** (priority: high).
**Description:** Implement rate limiting on API endpoints to prevent abuse.
**Why this task:** Highest priority unblocked task, security-related
(follows naturally from auth work).
Would you like me to start working on this task now?
```
## Notes
- Always verify acceptance criteria before marking Done
- Keep implementation notes concise but informative for future reference
- Context compaction is optional but recommended for long sessions
- Next task selection prioritizes unblocked, high-priority work