ワンクリックで
write-tasks
Generate Tasks tab content from issue paths and persist it through the Tasks artifact tool.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
Generate Tasks tab content from issue paths and persist it through the Tasks artifact tool.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
Implement one named Project issue with red-green TDD and return a structured task outcome.
Use when writing or reviewing TypeScript/full-stack code. Encodes principles for type safety (branded types, discriminated unions, end-to-end types), real tests over mocks, OpenTelemetry observability, and picking the right abstractions instead of premature ones.
Use when designing, writing, reviewing, or refactoring React components and features. Covers component boundaries, state ownership, composition, prop design, custom hooks, useEffect avoidance, memoization, Zustand, TanStack Query, loading/error/empty states, async event handling, TypeScript state modeling, and file organization. Trigger for React component design questions, component-tree restructuring, state management choices, data fetching, effect cleanup, reusable UI composition, prop drilling, render performance, error boundaries, optimistic updates, double-submit prevention, race conditions, or organizing a React codebase.
Generate Brief artifact content and persist it through the Brief and Project context tools.
Use only after a fresh slice PRD exists under the Project's .cairn/prds/ folder and the user-approved slice needs to be broken into local implementation issue files.
Use only after the project brief is concrete, the Cairn has proposed a smallest meaningful first slice, and the user has agreed to that slice; silently draft the slice PRD.
| name | write-tasks |
| description | Generate Tasks tab content from issue paths and persist it through the Tasks artifact tool. |
| disable-model-invocation | false |
| response_schema | artifact_write |
| args | {"type":"object","required":["project_root","issues"],"properties":{"project_root":{"type":"string","description":"Absolute path to the active Project root."},"issues":{"type":"array","description":"Issue file paths and their plain-language descriptions from the Plan's pieces list."},"plan_path":{"type":"string","description":"Optional path to the Plan, normally .cairn/plan.json."}}} |
Generate the Tasks tab content from the ordered issue list, then finish by calling the custom Tasks artifact tool. Call create_tasks_artifact with one item per issue, using the same plain-language wording as the Plan's pieces.
Do not use raw Write or Edit for Tasks artifact data. Do not create replacement Tasks files. The Tasks artifact tool owns tasks.json, derives issue slugs, starts every task as todo, and writes the tool-owned envelope metadata.
Use the provided issues list as the source of truth. Each item should include an issue file path and the matching plain-language description from the Plan's "The pieces I'll work through" section.
If any issue is missing its path or user-visible title, return outcome: "blocked" with one short message naming the missing input. Do not infer hidden engineering task names from filenames when the Plan wording is unavailable.
The canonical Tasks path is <project>/.cairn/tasks.json, but you do not write it directly. create_tasks_artifact owns initial creation, and update_task_status owns routine progress changes after implementation starts.
issues entries with issue_path and title.create_tasks_artifact with those ordered entries.After the tool call finishes, return only one JSON object matching artifact_write:
{ "outcome": "complete", "message": "Created the Tasks artifact.", "path": "tasks.json" }
Use outcome: "failure" with path: "" when a tool fails and retrying is not safe. Use outcome: "blocked" with path: "" when the inputs lack issue paths or Plan wording needed for the Tasks tab.
Failure and blocked examples:
{ "outcome": "failure", "message": "create_tasks_artifact failed validation for issues.0.title.", "path": "" }
{ "outcome": "blocked", "message": "The Tasks tab needs each issue path and its matching Plan wording.", "path": "" }