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:
YeonGyu-Kim 2026-02-10 16:20:29 +09:00
parent 5a527e214a
commit 6d17ac7d3a

View File

@ -8,7 +8,7 @@
```
tools/
├── 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
├── ast-grep/ # 2 tools: search, replace (25 languages)
├── grep/ # Custom grep (60s timeout, 10MB limit)
@ -27,7 +27,10 @@ tools/
| 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 |
| `background_output` | Background | Factory | Retrieve background task result |
| `background_cancel` | Background | Factory | Cancel running background tasks |
@ -51,6 +54,103 @@ tools/
| `skill_mcp` | Skill | Factory | Call MCP tools/resources/prompts |
| `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)
8 built-in categories: `visual-engineering`, `ultrabrain`, `deep`, `artistry`, `quick`, `unspecified-low`, `unspecified-high`, `writing`