docs(tools): update AGENTS.md to document individual task tools
Replace unified 'task' tool documentation with 4 individual tools:
- task_create: Create task with auto-generated T-{uuid} ID
- task_list: List active tasks with summary
- task_get: Retrieve full task object by ID
- task_update: Update task fields with dependency support
Add detailed TASK TOOLS section with args tables and usage examples.
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode)
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
This commit is contained in:
parent
5a527e214a
commit
6d17ac7d3a
@ -8,7 +8,7 @@
|
|||||||
```
|
```
|
||||||
tools/
|
tools/
|
||||||
├── delegate-task/ # Category routing (constants.ts 569 lines, tools.ts 213 lines)
|
├── delegate-task/ # Category routing (constants.ts 569 lines, tools.ts 213 lines)
|
||||||
├── task/ # Unified CRUD: create/list/get/update/delete (task.ts 58 lines)
|
├── task/ # 4 individual tools: create, list, get, update (task-create.ts, task-list.ts, task-get.ts, task-update.ts)
|
||||||
├── lsp/ # 6 LSP tools: goto_definition, find_references, symbols, diagnostics, prepare_rename, rename
|
├── lsp/ # 6 LSP tools: goto_definition, find_references, symbols, diagnostics, prepare_rename, rename
|
||||||
├── ast-grep/ # 2 tools: search, replace (25 languages)
|
├── ast-grep/ # 2 tools: search, replace (25 languages)
|
||||||
├── grep/ # Custom grep (60s timeout, 10MB limit)
|
├── grep/ # Custom grep (60s timeout, 10MB limit)
|
||||||
@ -27,7 +27,10 @@ tools/
|
|||||||
|
|
||||||
| Tool | Category | Pattern | Key Logic |
|
| Tool | Category | Pattern | Key Logic |
|
||||||
|------|----------|---------|-----------|
|
|------|----------|---------|-----------|
|
||||||
| `task` | Task | Factory | Unified 5-action dispatch (create/list/get/update/delete) |
|
| `task_create` | Task | Factory | Create task with auto-generated T-{uuid} ID, threadID recording |
|
||||||
|
| `task_list` | Task | Factory | List active tasks with summary (excludes completed/deleted) |
|
||||||
|
| `task_get` | Task | Factory | Retrieve full task object by ID |
|
||||||
|
| `task_update` | Task | Factory | Update task fields, supports addBlocks/addBlockedBy for dependencies |
|
||||||
| `call_omo_agent` | Agent | Factory | Direct explore/librarian invocation |
|
| `call_omo_agent` | Agent | Factory | Direct explore/librarian invocation |
|
||||||
| `background_output` | Background | Factory | Retrieve background task result |
|
| `background_output` | Background | Factory | Retrieve background task result |
|
||||||
| `background_cancel` | Background | Factory | Cancel running background tasks |
|
| `background_cancel` | Background | Factory | Cancel running background tasks |
|
||||||
@ -51,6 +54,103 @@ tools/
|
|||||||
| `skill_mcp` | Skill | Factory | Call MCP tools/resources/prompts |
|
| `skill_mcp` | Skill | Factory | Call MCP tools/resources/prompts |
|
||||||
| `slashcommand` | Command | Factory | Slash command dispatch |
|
| `slashcommand` | Command | Factory | Slash command dispatch |
|
||||||
|
|
||||||
|
## TASK TOOLS
|
||||||
|
|
||||||
|
Task management system with auto-generated T-{uuid} IDs, dependency tracking, and OpenCode Todo API sync.
|
||||||
|
|
||||||
|
### task_create
|
||||||
|
|
||||||
|
Create a new task with auto-generated ID and threadID recording.
|
||||||
|
|
||||||
|
**Args:**
|
||||||
|
| Arg | Type | Required | Description |
|
||||||
|
|-----|------|----------|-------------|
|
||||||
|
| `subject` | string | Yes | Task subject/title |
|
||||||
|
| `description` | string | No | Task description |
|
||||||
|
| `activeForm` | string | No | Active form (present continuous) |
|
||||||
|
| `metadata` | Record<string, unknown> | No | Task metadata |
|
||||||
|
| `blockedBy` | string[] | No | Task IDs that must complete before this task |
|
||||||
|
| `blocks` | string[] | No | Task IDs this task blocks |
|
||||||
|
| `repoURL` | string | No | Repository URL |
|
||||||
|
| `parentID` | string | No | Parent task ID |
|
||||||
|
|
||||||
|
**Example:**
|
||||||
|
```typescript
|
||||||
|
task_create({
|
||||||
|
subject: "Implement user authentication",
|
||||||
|
description: "Add JWT-based auth to API endpoints",
|
||||||
|
blockedBy: ["T-abc123"] // Wait for database migration
|
||||||
|
})
|
||||||
|
```
|
||||||
|
|
||||||
|
**Returns:** `{ task: { id, subject } }`
|
||||||
|
|
||||||
|
### task_list
|
||||||
|
|
||||||
|
List all active tasks with summary information.
|
||||||
|
|
||||||
|
**Args:** None
|
||||||
|
|
||||||
|
**Returns:** Array of task summaries with id, subject, status, owner, blockedBy. Excludes completed and deleted tasks. The blockedBy field is filtered to only include unresolved (non-completed) blockers.
|
||||||
|
|
||||||
|
**Example:**
|
||||||
|
```typescript
|
||||||
|
task_list() // Returns all active tasks
|
||||||
|
```
|
||||||
|
|
||||||
|
**Response includes reminder:** "1 task = 1 task. Maximize parallel execution by running independent tasks (tasks with empty blockedBy) concurrently."
|
||||||
|
|
||||||
|
### task_get
|
||||||
|
|
||||||
|
Retrieve a full task object by ID.
|
||||||
|
|
||||||
|
**Args:**
|
||||||
|
| Arg | Type | Required | Description |
|
||||||
|
|-----|------|----------|-------------|
|
||||||
|
| `id` | string | Yes | Task ID (format: T-{uuid}) |
|
||||||
|
|
||||||
|
**Example:**
|
||||||
|
```typescript
|
||||||
|
task_get({ id: "T-2a200c59-1a36-4dad-a9c3-3064d180f694" })
|
||||||
|
```
|
||||||
|
|
||||||
|
**Returns:** `{ task: TaskObject | null }` with all fields: id, subject, description, status, activeForm, blocks, blockedBy, owner, metadata, repoURL, parentID, threadID.
|
||||||
|
|
||||||
|
### task_update
|
||||||
|
|
||||||
|
Update an existing task with new values. Supports additive updates for dependencies.
|
||||||
|
|
||||||
|
**Args:**
|
||||||
|
| Arg | Type | Required | Description |
|
||||||
|
|-----|------|----------|-------------|
|
||||||
|
| `id` | string | Yes | Task ID to update |
|
||||||
|
| `subject` | string | No | New subject |
|
||||||
|
| `description` | string | No | New description |
|
||||||
|
| `status` | "pending" \| "in_progress" \| "completed" \| "deleted" | No | Task status |
|
||||||
|
| `activeForm` | string | No | Active form (present continuous) |
|
||||||
|
| `owner` | string | No | Task owner (agent name) |
|
||||||
|
| `addBlocks` | string[] | No | Task IDs to add to blocks (additive) |
|
||||||
|
| `addBlockedBy` | string[] | No | Task IDs to add to blockedBy (additive) |
|
||||||
|
| `metadata` | Record<string, unknown> | No | Metadata to merge (set key to null to delete) |
|
||||||
|
|
||||||
|
**Example:**
|
||||||
|
```typescript
|
||||||
|
task_update({
|
||||||
|
id: "T-2a200c59-1a36-4dad-a9c3-3064d180f694",
|
||||||
|
status: "completed"
|
||||||
|
})
|
||||||
|
|
||||||
|
// Add dependencies
|
||||||
|
task_update({
|
||||||
|
id: "T-2a200c59-1a36-4dad-a9c3-3064d180f694",
|
||||||
|
addBlockedBy: ["T-other-task"]
|
||||||
|
})
|
||||||
|
```
|
||||||
|
|
||||||
|
**Returns:** `{ task: TaskObject }` with full updated task.
|
||||||
|
|
||||||
|
**Dependency Management:** Use `addBlockedBy` to declare dependencies on other tasks. Properly managed dependencies enable maximum parallel execution.
|
||||||
|
|
||||||
## DELEGATION SYSTEM (delegate-task)
|
## DELEGATION SYSTEM (delegate-task)
|
||||||
|
|
||||||
8 built-in categories: `visual-engineering`, `ultrabrain`, `deep`, `artistry`, `quick`, `unspecified-low`, `unspecified-high`, `writing`
|
8 built-in categories: `visual-engineering`, `ultrabrain`, `deep`, `artistry`, `quick`, `unspecified-low`, `unspecified-high`, `writing`
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user