50 lines
2.0 KiB
TypeScript
50 lines
2.0 KiB
TypeScript
import { isAgentSwarmsEnabled } from '../../utils/agentSwarmsEnabled.js'
|
|
|
|
export const DESCRIPTION = 'List all tasks in the task list'
|
|
|
|
export function getPrompt(): string {
|
|
const teammateUseCase = isAgentSwarmsEnabled()
|
|
? `- Before assigning tasks to teammates, to see what's available
|
|
`
|
|
: ''
|
|
|
|
const idDescription = isAgentSwarmsEnabled()
|
|
? '- **id**: Task identifier (use with TaskGet, TaskUpdate)'
|
|
: '- **id**: Task identifier (use with TaskGet, TaskUpdate)'
|
|
|
|
const teammateWorkflow = isAgentSwarmsEnabled()
|
|
? `
|
|
## Teammate Workflow
|
|
|
|
When working as a teammate:
|
|
1. After completing your current task, call TaskList to find available work
|
|
2. Look for tasks with status 'pending', no owner, and empty blockedBy
|
|
3. **Prefer tasks in ID order** (lowest ID first) when multiple tasks are available, as earlier tasks often set up context for later ones
|
|
4. Claim an available task using TaskUpdate (set \`owner\` to your name), or wait for leader assignment
|
|
5. If blocked, focus on unblocking tasks or notify the team lead
|
|
`
|
|
: ''
|
|
|
|
return `Use this tool to list all tasks in the task list.
|
|
|
|
## When to Use This Tool
|
|
|
|
- To see what tasks are available to work on (status: 'pending', no owner, not blocked)
|
|
- To check overall progress on the project
|
|
- To find tasks that are blocked and need dependencies resolved
|
|
${teammateUseCase}- After completing a task, to check for newly unblocked work or claim the next available task
|
|
- **Prefer working on tasks in ID order** (lowest ID first) when multiple tasks are available, as earlier tasks often set up context for later ones
|
|
|
|
## Output
|
|
|
|
Returns a summary of each task:
|
|
${idDescription}
|
|
- **subject**: Brief description of the task
|
|
- **status**: 'pending', 'in_progress', or 'completed'
|
|
- **owner**: Agent ID if assigned, empty if available
|
|
- **blockedBy**: List of open task IDs that must be resolved first (tasks with blockedBy cannot be claimed until dependencies resolve)
|
|
|
|
Use TaskGet with a specific task ID to view full details including description and comments.
|
|
${teammateWorkflow}`
|
|
}
|