feat(task-system): add experimental task system with Claude Code spec alignment (#1415)
* feat(hooks): add tasks-todowrite-disabler hook to block TodoRead/TodoWrite Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai> * feat(task-tools): add parallel execution guidance to descriptions Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai> * refactor(index): migrate task system to experimental.task_system flag Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai> * docs: update AGENTS.md for experimental task system Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai> * fix(task-tests): align test field names with Claude Code spec (subject, blockedBy, addBlockedBy) * fix: address Cubic review feedback Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai> * fix: add optional chaining for tasksTodowriteDisabler null check --------- Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
This commit is contained in:
@@ -16,12 +16,19 @@ export function createTaskCreateTool(
|
||||
config: Partial<OhMyOpenCodeConfig>,
|
||||
ctx?: PluginInput,
|
||||
): ToolDefinition {
|
||||
return tool({
|
||||
description: `Create a new task with auto-generated ID and threadID recording.
|
||||
return tool({
|
||||
description: `Create a new task with auto-generated ID and threadID recording.
|
||||
|
||||
Auto-generates T-{uuid} ID, records threadID from context, sets status to "pending".
|
||||
Returns minimal response with task ID and subject.`,
|
||||
args: {
|
||||
Returns minimal response with task ID and subject.
|
||||
|
||||
**IMPORTANT - Dependency Planning for Parallel Execution:**
|
||||
Use \`blockedBy\` to specify task IDs that must complete before this task can start.
|
||||
Calculate dependencies carefully to maximize parallel execution:
|
||||
- Tasks with no dependencies can run simultaneously
|
||||
- Only block a task if it truly depends on another's output
|
||||
- Minimize dependency chains to reduce sequential bottlenecks`,
|
||||
args: {
|
||||
subject: tool.schema.string().describe("Task subject (required)"),
|
||||
description: tool.schema.string().optional().describe("Task description"),
|
||||
activeForm: tool.schema
|
||||
|
||||
Reference in New Issue
Block a user