From 15c3ca26bf4d458bd193043cdc4154c3eab4c956 Mon Sep 17 00:00:00 2001 From: Yiheng Tao Date: Thu, 11 Jun 2026 23:05:42 -0700 Subject: [PATCH] chore: cleanup useless skills --- .github/skills/create-bug/SKILL.md | 145 ---------------- .../create-bug/references/work-item-api.md | 118 ------------- .github/skills/create-work-item/SKILL.md | 161 ------------------ .../references/work-item-api.md | 107 ------------ .github/skills/update-work-item/SKILL.md | 124 -------------- .../references/work-item-api.md | 152 ----------------- 6 files changed, 807 deletions(-) delete mode 100644 .github/skills/create-bug/SKILL.md delete mode 100644 .github/skills/create-bug/references/work-item-api.md delete mode 100644 .github/skills/create-work-item/SKILL.md delete mode 100644 .github/skills/create-work-item/references/work-item-api.md delete mode 100644 .github/skills/update-work-item/SKILL.md delete mode 100644 .github/skills/update-work-item/references/work-item-api.md diff --git a/.github/skills/create-bug/SKILL.md b/.github/skills/create-bug/SKILL.md deleted file mode 100644 index 0d8ab5172..000000000 --- a/.github/skills/create-bug/SKILL.md +++ /dev/null @@ -1,145 +0,0 @@ ---- -name: create-bug -description: Interactively create a bug work item for this repository with title, description, priority, tags, and an optional AI-generated plan. Use when the user asks to file a bug, report a defect, or log an issue. Never execute the bug fix inside the chat session — queue it through the unified work-item tool instead. ---- - -# Create Bug - -Guide the user through creating a well-structured bug report and persisting it to the **Work Items** page as a typed bug through `create_update_work_item` with `type: "bug"`. Always present a draft summary first, iterate on feedback, then create only when the user confirms. - -## Instructions - -### Phase 1 — Draft - -1. Analyze the user's request and extract or infer: - - **Title**: Short, imperative phrase (e.g. "Fix crash on empty input in queue processor") - - **Description**: Markdown paragraph with what's broken, reproduction steps, and expected behavior - - **Priority**: `high`, `normal` (default), or `low` - - **Tags**: Optional labels (e.g. `["regression", "ui"]`) - - **Plan**: Optional complete markdown plan using the standard template - -2. Generate a plan using this exact template: - - ```markdown - ## Objective - - - - ## Background - - - - ## Steps - - - [ ] - - [ ] - - ## Acceptance Criteria - - - [ ] - - ## Notes - - _Additional constraints, links, or follow-ups._ - ``` - -3. Present the full draft as a **bug report summary**: - - ``` - 🐛 Bug Report Draft - ────────────────── - Title: - Priority: <priority> - Tags: <comma-separated tags, or "none"> - - Description: - <description> - - Plan: - <plan markdown> - ────────────────── - Confirm to create, or give feedback to refine. - ``` - -### Phase 2 — Refine - -4. If the user provides comments or corrections, update the draft and re-present the summary. -5. Repeat until the user confirms (e.g. "looks good", "create it", "yes", "confirm"). - -### Phase 3 — Create - -6. Call `create_update_work_item` with the confirmed details: - - ``` - create_update_work_item({ - type: "bug", - title: "<confirmed title>", - description: "<confirmed description>", - priority: "<confirmed priority>", - tags: ["<tag1>", "<tag2>"], // omit if none - plan: "<confirmed plan markdown>" // omit when no plan was confirmed - }) - ``` - - The tool persists the bug to the Work Items page and broadcasts a live update to any connected dashboard. Bugs with a plan are created in `planning`; bugs without a plan are created in `created`. - - If the chat-facing work-item tool is unavailable, fall back to the REST API: - - ```powershell - $workspaceId = (Invoke-RestMethod -Uri "http://localhost:4000/api/workspaces").workspaces | - Where-Object { $_.rootPath -eq (git rev-parse --show-toplevel) } | - Select-Object -ExpandProperty id - - $body = @{ - title = "<confirmed title>" - description = "<confirmed description>" - priority = "<confirmed priority>" - type = "bug" - tags = @("<tag1>", "<tag2>") - plan = @{ content = "<confirmed plan markdown>"; resolvedBy = "ai" } - } | ConvertTo-Json -Depth 5 - - Invoke-RestMethod ` - -Method Post ` - -Uri "http://localhost:4000/api/workspaces/$workspaceId/work-items" ` - -ContentType "application/json" ` - -Body $body - ``` - -7. On success, report to the user: - - ``` - ✅ Bug report created! - ID: <id> - Title: <title> - Status: <created or planning> - - View it in the Work Items tab of the CoC dashboard. - ``` - -### Phase 4 — Execution (only if explicitly requested later) - -9. **Never execute the bug fix steps in the current chat session.** - - If the user asks to execute the bug fix after it has been created, queue it as a background AI task via the REST API. Do **not** run the steps yourself. - - ```powershell - Invoke-RestMethod ` - -Method Post ` - -Uri "http://localhost:4000/api/workspaces/<workspaceId>/work-items/<workItemId>/execute" ` - -ContentType "application/json" ` - -Body "{}" - ``` - - Confirm to the user: "✅ Bug fix queued for execution. Track progress in the Work Items tab." - -## Edge Cases - -- **Multiple workspaces**: For the execution step, match the workspace whose `rootPath` most closely matches the current working directory (exact match preferred, then closest ancestor). -- **No workspace registered**: If no workspace matches for execution, tell the user to open the CoC dashboard and register the current repository first. -- **Execute before create**: If the user asks to execute before the bug report is created, complete the creation flow first, then queue execution. -- **Server not running (execution only)**: If `localhost:4000` is unreachable when trying to queue execution, tell the user: "Start the CoC server with `coc serve` then try again." - -## References - -- [Work Item API Reference](references/work-item-api.md) diff --git a/.github/skills/create-bug/references/work-item-api.md b/.github/skills/create-bug/references/work-item-api.md deleted file mode 100644 index 5a66c90df..000000000 --- a/.github/skills/create-bug/references/work-item-api.md +++ /dev/null @@ -1,118 +0,0 @@ -# Work Item API Reference - -Base URL: `http://localhost:4000` (default CoC server port) - -## List Workspaces - -``` -GET /api/workspaces -``` - -Response: `{ workspaces: WorkspaceInfo[] }` - -Each `WorkspaceInfo` has: `id`, `name`, `rootPath`, `color?`, `remoteUrl?` - ---- - -## Create Work Item / Bug - -``` -POST /api/workspaces/:workspaceId/work-items -Content-Type: application/json -``` - -**Request body:** - -| Field | Type | Required | Description | -|---|---|---|---| -| `title` | string | ✅ | Short descriptive title | -| `description` | string | | Markdown description | -| `type` | `"work-item" \| "bug"` | | Defaults to `"work-item"`. Use `"bug"` for bug reports. | -| `source` | `"chat" \| "manual" \| "schedule"` | | Defaults to `"manual"` | -| `priority` | `"high" \| "normal" \| "low"` | | Defaults to `"normal"` | -| `tags` | string[] | | Optional labels | -| `autoExecute` | boolean | | Auto-run when status reaches `readyToExecute` | -| `plan.content` | string | | Markdown plan body | -| `plan.resolvedBy` | `"ai" \| "user"` | | Who generated the plan | - -**Response: 201** — Full `WorkItem` object including `id`, `status: "created"`, `type`. - ---- - -## List Work Items (with type filter) - -``` -GET /api/workspaces/:workspaceId/work-items?type=bug -``` - -Query parameters: `status`, `source`, `priority`, `tags`, `type` (all optional). - ---- - -## Execute Work Item - -Queues the work item as an AI background task. Does **not** run it in the current session. - -``` -POST /api/workspaces/:workspaceId/work-items/:workItemId/execute -Content-Type: application/json - -{} -``` - -**Response: 200** — `{ taskId: string }` - ---- - -## Get Work Item - -``` -GET /api/workspaces/:workspaceId/work-items/:workItemId -``` - ---- - -## Update Work Item - -``` -PATCH /api/workspaces/:workspaceId/work-items/:workItemId -Content-Type: application/json -``` - -Updatable fields: `title`, `description`, `status`, `priority`, `tags`, `autoExecute`, `reviewComments`. - ---- - -## Status Lifecycle - -``` -created → planning → readyToExecute → executing → aiDone → done | failed -``` - -Terminal states (`done`, `failed`) can be re-opened back to `created`. - ---- - -## Standard Plan Template - -```markdown -## Objective - -<one or two sentences stating the goal> - -## Background - -<context and motivation> - -## Steps - -- [ ] <step 1> - -## Acceptance Criteria - -- [ ] <testable condition> - -## Notes - -_Additional constraints, links, or follow-ups._ -``` diff --git a/.github/skills/create-work-item/SKILL.md b/.github/skills/create-work-item/SKILL.md deleted file mode 100644 index ee1a0409f..000000000 --- a/.github/skills/create-work-item/SKILL.md +++ /dev/null @@ -1,161 +0,0 @@ ---- -name: create-work-item -description: Interactively create a work item for this repository with title, description, status, and an AI-generated plan. Use when the user asks to create a work item, track a feature request, file a bug, or queue a task for later AI execution. Never execute the work item inside the chat session — queue it via the API instead. ---- - -# Create Work Item - -Guide the user through creating a well-structured work item and persisting it to the **Work Items** page via the `create_update_work_item` tool. Always present a draft summary first, iterate on feedback, then create only when the user confirms. - -## Instructions - -### Phase 0 — Explore (for requests involving code changes) - -Before generating the plan, search the codebase: -1. Use `grep`/`glob`/`view` to find relevant source files, analogous existing implementations, and conventions directly related to the request. -2. Identify: specific file paths to modify, functions/components to add/change, and existing patterns to follow (e.g. "follow the same pattern as X"). -3. Embed concrete file paths in Steps and cite analogous patterns in Notes. - -Skip this phase only if the request is purely non-code (e.g. documentation, config). - -### Phase 1 — Draft - -1. Analyze the user's request and extract or infer: - - **Title**: Short, imperative phrase (e.g. "Add retry logic to queue processor") - - **Description**: Markdown paragraph with what needs to be done and why - - **Priority**: `high`, `normal` (default), or `low` - - **Tags**: Optional labels (e.g. `["bug", "backend"]`) - - **Plan**: Complete markdown plan using the standard template - -2. Generate a plan using this exact template: - - ```markdown - ## Objective - - <one or two sentences stating the goal> - - ## Background - - <context and motivation for this work> - - ## Steps - - - [ ] <step 1> - - [ ] <step 2> - - ## Acceptance Criteria - - - [ ] <testable condition> - - ## Notes - - _Additional constraints, links, or follow-ups._ - ``` - -3. Present the full draft as a **work item summary**: - - ``` - 📋 Work Item Draft - ────────────────── - Title: <title> - Priority: <priority> - Tags: <comma-separated tags, or "none"> - - Description: - <description> - - Plan: - <plan markdown> - ────────────────── - Confirm to create, or give feedback to refine. - ``` - -### Phase 2 — Refine - -4. If the user provides comments or corrections, update the draft and re-present the summary. -5. Repeat until the user confirms (e.g. "looks good", "create it", "yes", "confirm"). - -### Phase 3 — Create - -6. **You MUST use the `create_update_work_item` tool.** Do NOT substitute PowerShell API calls when the tool is available. Inline string encoding can corrupt or truncate long plan content. Only use the REST fallback if the tool explicitly throws an error. - - Call the `create_update_work_item` tool with the confirmed details and no existing work item target: - - ``` - create_update_work_item({ - title: "<confirmed title>", - description: "<confirmed description>", - priority: "<confirmed priority>", - tags: ["<tag1>", "<tag2>"], // omit if none - plan: "<confirmed plan markdown>" - }) - ``` - - The tool persists the work item to the Work Items page and broadcasts a live update to any connected dashboard. - - If the `create_update_work_item` tool is unavailable (throws an error), fall back to the REST API using a temp file to safely handle long markdown content: - - ```powershell - $workspaceId = (Invoke-RestMethod -Uri "http://localhost:4000/api/workspaces").workspaces | - Where-Object { $_.rootPath -eq (git rev-parse --show-toplevel) } | - Select-Object -ExpandProperty id - - $uri = "http://localhost:4000/api/workspaces/$workspaceId/work-items" - - $planContent = @' -<full plan markdown here — no escaping needed> -'@ - - $body = @{ - title = "<confirmed title>" - description = "<confirmed description>" - priority = "<confirmed priority>" - tags = @("<tag1>", "<tag2>") - plan = @{ content = $planContent; resolvedBy = "ai" } - } | ConvertTo-Json -Depth 10 - - $tmp = [System.IO.Path]::GetTempFileName() + ".json" - [System.IO.File]::WriteAllText($tmp, $body, [System.Text.Encoding]::UTF8) - Invoke-RestMethod -Method Post -Uri $uri -ContentType "application/json" -InFile $tmp - Remove-Item $tmp -ErrorAction SilentlyContinue - ``` - -7. On success, report to the user: - - ``` - ✅ Work item created! - ID: <id> - Title: <title> - Status: created - - View it in the Work Items tab of the CoC dashboard. - ``` - -### Phase 4 — Execution (only if explicitly requested later) - -9. **Never execute the work item's steps in the current chat session.** - - If the user asks to execute the work item after it has been created, queue it as a background AI task via the REST API. Do **not** run the steps yourself. - - ```powershell - Invoke-RestMethod ` - -Method Post ` - -Uri "http://localhost:4000/api/workspaces/<workspaceId>/work-items/<workItemId>/execute" ` - -ContentType "application/json" ` - -Body "{}" - ``` - - Obtain `workspaceId` by calling `GET http://localhost:4000/api/workspaces` and matching the workspace whose `rootPath` equals the current git repo root. Use the `id` returned from the create step as `workItemId`. - - Confirm to the user: "✅ Work item queued for execution. Track progress in the Work Items tab." - -## Edge Cases - -- **Multiple workspaces**: For the execution step, match the workspace whose `rootPath` most closely matches the current working directory (exact match preferred, then closest ancestor). -- **No workspace registered**: If no workspace matches for execution, tell the user to open the CoC dashboard and register the current repository first. -- **Execute before create**: If the user asks to execute before the work item is created, complete the creation flow first, then queue execution. -- **Server not running (execution only)**: If `localhost:4000` is unreachable when trying to queue execution, tell the user: "Start the CoC server with `coc serve` then try again." - -## References - -- [Work Item API Reference](references/work-item-api.md) diff --git a/.github/skills/create-work-item/references/work-item-api.md b/.github/skills/create-work-item/references/work-item-api.md deleted file mode 100644 index 447d1d8ca..000000000 --- a/.github/skills/create-work-item/references/work-item-api.md +++ /dev/null @@ -1,107 +0,0 @@ -# Work Item API Reference - -Base URL: `http://localhost:4000` (default CoC server port) - -## List Workspaces - -``` -GET /api/workspaces -``` - -Response: `{ workspaces: WorkspaceInfo[] }` - -Each `WorkspaceInfo` has: `id`, `name`, `rootPath`, `color?`, `remoteUrl?` - ---- - -## Create Work Item - -``` -POST /api/workspaces/:workspaceId/work-items -Content-Type: application/json -``` - -**Request body:** - -| Field | Type | Required | Description | -|---|---|---|---| -| `title` | string | ✅ | Short descriptive title | -| `description` | string | | Markdown description | -| `source` | `"chat" \| "manual" \| "schedule"` | | Defaults to `"manual"` | -| `priority` | `"high" \| "normal" \| "low"` | | Defaults to `"normal"` | -| `tags` | string[] | | Optional labels | -| `autoExecute` | boolean | | Auto-run when status reaches `readyToExecute` | -| `plan.content` | string | | Markdown plan body | -| `plan.resolvedBy` | `"ai" \| "user"` | | Who generated the plan | - -**Response: 201** — Full `WorkItem` object including `id`, `status`, and `plan` when provided. - ---- - -## Execute Work Item - -Queues the work item as an AI background task. Does **not** run it in the current session. - -``` -POST /api/workspaces/:workspaceId/work-items/:workItemId/execute -Content-Type: application/json - -{} -``` - -**Response: 200** — `{ taskId: string }` - ---- - -## Get Work Item - -``` -GET /api/workspaces/:workspaceId/work-items/:workItemId -``` - ---- - -## Update Work Item - -``` -PATCH /api/workspaces/:workspaceId/work-items/:workItemId -Content-Type: application/json -``` - -Updatable fields: `title`, `description`, `status`, `priority`, `tags`, `autoExecute`, `reviewComments`. - ---- - -## Status Lifecycle - -``` -created → planning → readyToExecute → executing → aiDone → done | failed -``` - -Terminal states (`done`, `failed`) can be re-opened back to `created`. - ---- - -## Standard Plan Template - -```markdown -## Objective - -<one or two sentences stating the goal> - -## Background - -<context and motivation> - -## Steps - -- [ ] <step 1> - -## Acceptance Criteria - -- [ ] <testable condition> - -## Notes - -_Additional constraints, links, or follow-ups._ -``` diff --git a/.github/skills/update-work-item/SKILL.md b/.github/skills/update-work-item/SKILL.md deleted file mode 100644 index fe51b4b1a..000000000 --- a/.github/skills/update-work-item/SKILL.md +++ /dev/null @@ -1,124 +0,0 @@ ---- -name: update-work-item -description: Interactively update an existing work item — patch common fields or create a new plan version, then reset status to planning. Use when the user asks to modify, edit, revise, or update a work item. ---- - -# Update Work Item - -Guide the user through updating an existing work-item plan via the `create_update_work_item` tool or CoC REST API. Always look up the work item first, present the complete revised plan, iterate on feedback, then update only when the user confirms. - -## Instructions - -### Phase 1 — Identify Work Item - -1. If the user provides a work item ID (UUID or WI-N number), use it directly. -2. If no ID is provided, list recent work items via the REST API to help the user choose: - - ```powershell - $workspaceId = (Invoke-RestMethod -Uri "http://localhost:4000/api/workspaces").workspaces | - Where-Object { $_.rootPath -eq (git rev-parse --show-toplevel) } | - Select-Object -ExpandProperty id - - Invoke-RestMethod -Uri "http://localhost:4000/api/workspaces/$workspaceId/work-items" | - Select-Object -ExpandProperty items | - Select-Object id, workItemNumber, title, status, priority - ``` - -3. Fetch the full work item to understand its current state: - - ```powershell - Invoke-RestMethod -Uri "http://localhost:4000/api/workspaces/$workspaceId/work-items/<workItemId>" - ``` - -### Phase 2 — Draft Changes - -4. Based on the user's request, produce a **full revised plan** using the standard template. Do not append raw text to the existing plan body and do not submit a partial diff. - -5. Present the draft changes as an **update summary**: - - ``` - ✏️ Work Item Update Draft - ────────────────── - ID: <id> (WI-<number>) - Plan (new version v<N+1>): - <complete revised plan markdown> - ────────────────── - Confirm to update, or give feedback to refine. - ``` - -### Phase 3 — Refine - -6. If the user provides corrections, update the draft and re-present the summary. -7. Repeat until the user confirms (e.g. "looks good", "update it", "yes", "confirm"). - -### Phase 4 — Update - -8. Call the `create_update_work_item` tool with the confirmed complete revised plan: - - ``` - create_update_work_item({ - target: "<id or WI-N>", - plan: "<complete revised plan markdown>", - summary: "<short summary of the plan change>" // optional - }) - ``` - - The tool saves a new plan version, resets status to `planning`, opens a change record, and broadcasts a dashboard update. - - If the `create_update_work_item` tool is unavailable, fall back to the REST API with `PATCH /api/workspaces/:workspaceId/work-items/:workItemId` and a `plan` object: - - ```powershell - $body = @{ - plan = @{ - content = "<complete revised plan markdown>" - resolvedBy = "ai" - summary = "<short summary of the plan change>" - } - status = "planning" - } | ConvertTo-Json -Depth 5 - - Invoke-RestMethod ` - -Method Patch ` - -Uri "http://localhost:4000/api/workspaces/$workspaceId/work-items/<workItemId>" ` - -ContentType "application/json" ` - -Body $body - ``` - - For plan-only REST workflows, the dedicated endpoint is `PUT /api/workspaces/:workspaceId/work-items/:workItemId/plan`: - - ```powershell - $planBody = @{ - content = "<new plan markdown>" - resolvedBy = "ai" - } | ConvertTo-Json -Depth 5 - - Invoke-RestMethod ` - -Method Put ` - -Uri "http://localhost:4000/api/workspaces/$workspaceId/work-items/<workItemId>/plan" ` - -ContentType "application/json" ` - -Body $planBody - ``` - -9. On success, report to the user: - - ``` - ✅ Work item updated! - ID: <id> (WI-<number>) - Title: <title> - Status: planning - Plan: v<version> (if plan was updated, otherwise "unchanged") - - View it in the Work Items tab of the CoC dashboard. - ``` - -## Edge Cases - -- **Work item not found**: If the provided ID doesn't match any work item, list recent items and ask the user to confirm. -- **No plan change**: If the user's request does not produce a changed complete plan, do not call the tool. -- **Plan only**: Call the tool with `target` and `plan`; the plan must be the complete revised Markdown body. -- **Multiple workspaces**: Match the workspace whose `rootPath` most closely matches the current working directory. -- **Server not running**: If `localhost:4000` is unreachable, tell the user: "Start the CoC server with `coc serve` then try again." - -## References - -- [Work Item API Reference](references/work-item-api.md) diff --git a/.github/skills/update-work-item/references/work-item-api.md b/.github/skills/update-work-item/references/work-item-api.md deleted file mode 100644 index d42664a45..000000000 --- a/.github/skills/update-work-item/references/work-item-api.md +++ /dev/null @@ -1,152 +0,0 @@ -# Work Item API Reference - -Base URL: `http://localhost:4000` (default CoC server port) - -## List Workspaces - -``` -GET /api/workspaces -``` - -Response: `{ workspaces: WorkspaceInfo[] }` - -Each `WorkspaceInfo` has: `id`, `name`, `rootPath`, `color?`, `remoteUrl?` - ---- - -## List Work Items - -``` -GET /api/workspaces/:workspaceId/work-items -``` - -Query parameters: `status`, `source`, `priority`, `tags`, `type` (all optional). - -Response: `{ items: WorkItemIndexEntry[] }` - -Each index entry has: `id`, `workItemNumber`, `title`, `status`, `type`, `priority`, `planVersion`, `createdAt`, `updatedAt`, `tags` - ---- - -## Get Work Item - -``` -GET /api/workspaces/:workspaceId/work-items/:workItemId -``` - -Response: Full `WorkItem` object including `id`, `workItemNumber`, `title`, `description`, `status`, `plan`, etc. - ---- - -## Create Work Item - -``` -POST /api/workspaces/:workspaceId/work-items -Content-Type: application/json -``` - -**Request body:** - -| Field | Type | Required | Description | -|---|---|---|---| -| `title` | string | ✅ | Short descriptive title | -| `description` | string | | Markdown description | -| `source` | `"chat" \| "manual" \| "schedule"` | | Defaults to `"manual"` | -| `priority` | `"high" \| "normal" \| "low"` | | Defaults to `"normal"` | -| `tags` | string[] | | Optional labels | -| `autoExecute` | boolean | | Auto-run when status reaches `readyToExecute` | -| `plan.content` | string | | Markdown plan body | -| `plan.resolvedBy` | `"ai" \| "user"` | | Who generated the plan | - -**Response: 201** — Full `WorkItem` object including `id`, `status: "created"`. - ---- - -## Update Work Item - -Patches fields on an existing work item. Only the provided fields are changed. - -``` -PATCH /api/workspaces/:workspaceId/work-items/:workItemId -Content-Type: application/json -``` - -**Updatable fields:** `title`, `description`, `status`, `priority`, `tags`, `autoExecute`, `reviewComments`, and `plan`. - -`plan` accepts `{ content, resolvedBy?, summary? }`. When `plan.content` is present, the server saves the next plan version, updates the current work-item plan, opens a change record, broadcasts `work-item-updated`, and returns the updated work item. - -**Response: 200** — Updated `WorkItem` object. - ---- - -## Update Plan (creates a new plan version) - -Saves a new plan version and updates the work item's current plan. - -``` -PUT /api/workspaces/:workspaceId/work-items/:workItemId/plan -Content-Type: application/json -``` - -**Request body:** - -| Field | Type | Required | Description | -|---|---|---|---| -| `content` | string | ✅ | Markdown plan content | -| `resolvedBy` | `"ai" \| "user"` | | Who generated the plan (default: `"user"`) | -| `summary` | string | | Short description of what changed | - -**Response: 200** — `{ plan, version }` with incremented `plan.version`. - ---- - -## Execute Work Item - -Queues the work item as an AI background task. Does **not** run it in the current session. - -``` -POST /api/workspaces/:workspaceId/work-items/:workItemId/execute -Content-Type: application/json - -{} -``` - -**Response: 200** — `{ taskId: string }` - ---- - -## Status Lifecycle - -``` -created → planning → readyToExecute → executing → aiDone → done | failed -``` - -Terminal states (`done`, `failed`) can be re-opened back to `created`. - -The `create_update_work_item` tool saves full revised plans as new versions and resets status to `planning` after a successful plan update. - ---- - -## Standard Plan Template - -```markdown -## Objective - -<one or two sentences stating the goal> - -## Background - -<context and motivation> - -## Steps - -- [ ] <step 1> - -## Acceptance Criteria - -- [ ] <testable condition> - -## Notes - -_Additional constraints, links, or follow-ups._ -```