41 lines
1.5 KiB
Markdown
41 lines
1.5 KiB
Markdown
---
|
|
name: shd-task-workflow
|
|
description: Use when the user asks to find, inspect, create, update, reschedule, archive, or delete SHD tasks or task-project data.
|
|
---
|
|
|
|
# SHD task workflow
|
|
|
|
See `references/task-contract.md` for identifier resolution, conflict handling
|
|
and mutation readback requirements.
|
|
|
|
## Read and resolve
|
|
|
|
- Use `shd_list_task_projects` when the request concerns a task project or its
|
|
status.
|
|
- Use `shd_list_tasks` with `project_code`, `project_id`, `q`, `archived`,
|
|
`limit` or `offset` to find tasks.
|
|
- Use `shd_get_task` for one resolved task and
|
|
`shd_get_task_project_meta` for statuses, tags, sprints, views and custom
|
|
fields.
|
|
- Read comments or attachments only when they are relevant to the request.
|
|
|
|
Do not create a task from an ambiguous project name or duplicate a task that
|
|
already matches the request.
|
|
|
|
## Mutations
|
|
|
|
Only mutate when the user explicitly asks for the exact operation:
|
|
|
|
- create with `shd_create_task`;
|
|
- update fields with `shd_update_task`;
|
|
- change status with `shd_update_task_status`;
|
|
- archive with `shd_archive_task`;
|
|
- delete with `shd_delete_task` and the server's explicit confirmation contract.
|
|
|
|
Before updating, pass the latest `updated_at` when the tool accepts it. Use an
|
|
idempotency key when the tool schema accepts one. If the server reports a
|
|
conflict, stop and show the current state; do not overwrite it by guessing.
|
|
|
|
Report the task ID, changed fields, server validation, conflict state and final
|
|
status. Never treat a suggested change as authorization to execute it.
|