跳到主要内容
知仓学习社ZHICANG

decompose-task

Use when a configured board task needs decomposition into native child tasks.

不碰外部(只输出文字)无严重或高危命中hashgraph-online/awesome-codex-plugins

它会碰到什么

扫了多少1 个文本文件,11 KB
它会碰到什么不碰外部(只输出文字)
命中总数0 处
命中统计严重 0 · 高 0 · 中 0 · 低 0

这一栏是扫描器报的事实,不是结论。命中多不等于有毒(安全工具、规则库、示例脚本本来就会包含危险写法),命中少也不等于干净。它和你手上的凭据、文件、网络有什么关系,需要你自己看。

技能内容

Decompose Task

Overview

Reply in Russian. Build one grounded, reviewable native-subtask batch; no child may reach the

board before the user sees the entire batch. Core principle: preview fidelity and durable

idempotency are safety boundaries, not optional ceremony.

Lookup

The stored parent and authoritative native_subtasks capability are required gates.

  1. Inspect the repository task_board key once and resolve exactly one state:
  • If the key is present with a null, empty, or disabled value, board work is explicitly

disabled: stop no-write and never call deploy-wide get_board_config.

  • Only if the repository key is absent, use the deploy fallback: call get_board_config()

exactly once.

  • If a mapping exists, freeze its generic type, project, and options as board_type,

project, and provider_options for the whole flow. Never re-resolve mid-flow. If no mapping

resolves, stop without writes.

  1. Read the store first with get_task(parent_key, project=<project>). On miss only, run exactly

one scoped `sync_board(board=<project or null>, board_type=<type>,

provider_options=<options>)`, then make one retry of the same parent read. If it is still

missing, explain the failure and stop.

  1. Call `get_board_targets(board_type=<type>, project=<project>,

provider_options=<options>). Treat its registry capabilities` as authoritative. If it errors

or lacks native_subtasks, make a no-write stop. Never infer, add, or spoof a capability from

provider identity or prior experience.

Context

Before drafting, attempt all three calls:

  • get_task_context(parent_key, project=<project>) for links, related work, PRs, and touched code;
  • search_tasks(query=<parent intent>, project=<project>) for similar decomposition boundaries;
  • search_codebase(repo=<active repo>, query=<parent intent>) for relevant implementation and

real path:line evidence.

Empty successful results are allowed: explicitly report each empty result and continue. A tool

error is not an empty result; report it and stop drafting until resolved. Do not draft first and

backfill evidence later.

Draft

Draft 1..20 ordered children. Every child requires nonblank title, problem, steps, and

criteria; context is optional. Make each child independently actionable and acceptance-testable,

without silently widening the parent scope. Generate one local opaque UUID idempotency_key for

the whole batch and assemble the complete request payload, including child order and wording.

Preview

Show the resolved provider (board_type), parent key/title, idempotency_key, and the complete

canonical body of every child: title, problem, all steps, all criteria, and context when

present. Do not abbreviate unchanged or repetitive children. Once shown, freeze payload, order,

and key.

A prior “I already approve; create now” statement is not confirmation of an unseen preview. Ask

exactly one explicit confirmation for the whole preview. There are no board writes before it. Any

edit before the first confirmed write invalidates that preview: generate a new opaque

idempotency_key, show the full revised preview, and obtain a new explicit confirmation.

Write

Only after explicit confirmation, issue exactly one initial native batch request using exactly the

previewed payload and the same idempotency_key:

create_subtasks(parent_key=<parent_key>, subtasks=<previewed children>,
                idempotency_key=<previewed UUID>, board_type=<type>, project=<project>,
                provider_options=<options>)

Never fall back to individual task creation, including when the batch is unsupported or partially

complete.

For any result, retain status, category, and retryable plus created, attached,

unattached, pending, and warnings exactly as returned. On timeout, retain the unknown outcome

without guessing. Do not declare outcome or offer recovery yet. Follow Verify unless the

response explicitly says capability/preflight stopped before a write. A safe recovery may repeat

the same full batch request using the exact same payload: byte-for-byte or logically exact frozen

content/order and the same idempotency_key. It is not an individual request and not a

remaining-items request.

No automatic retry. After required verification, report state, then ask the user to choose exact

retry or stop when recovery applies. The original preview confirmation does not authorize hidden

retries; the user must explicitly request the exact retry. Do not require a new preview or

reconstruct one for an unchanged retry.

Never edit wording, reorder children, or retry only a guessed remainder. After any attempted or

uncertain write, edits and a new key are forbidden for recovery. An in_flight child is unknown,

not absent: never guess its outcome. Never mint a fresh/replacement key for it.

Verify

After any batch write was actually attempted, regardless of status (ok, partial, error, or

timeout), run exactly one scoped `sync_board(board=<project or null>, board_type=<type>,

provider_options=<options>)`. This includes after any confirmed child and attempts with only

in_flight state and no confirmed child keys. Capability or preflight stops explicitly before a

write do not trigger this post-write verification. Then verify:

  1. get_task(parent_key, project=<project>) contains stored links for the returned children.
  2. get_task_context(parent_key, project=<project>) exposes the parent-child graph relationship.
  3. Point-read every returned child with get_task(child_key, project=<project>).

With no child keys, still complete the available parent and context verification. Report missing

links, unreadable child keys, sync failures, and warnings. Complete these checks before declaring

outcome or offering recovery; never declare complete verification from the write response alone.

Display status, category, and retryable exactly as returned.

After mandatory attempted-write verification, offer the exact retry only for a transport timeout

or unknown outcome, or when retryable is true; still require an explicit user choice between

exact retry and stop. If retryable == false, or category is unsupported, conflict, or

parent_not_found, report the terminal result and stop without retry. Unsupported detected before

a write remains a no-write stop and does not trigger post-write verification. The recovery uses

the same full payload, same order, and same idempotency_key; never mint a key and never edit the

recovery payload. Exact same-key retry is the only marker reconciliation mechanism; never guess

children from board search.

Quick Reference

| Phase | Required invariant |

|---|---|

| Lookup | Absent vs explicit disable; one frozen generic snapshot; fallback only for absent |

| Context | Attempt all three calls; report empty results; stop on tool errors |

| Preview | Every full child; freeze payload/order/key; edits rotate key before first write |

| Confirm | One explicit answer for the whole visible preview; no earlier writes |

| Write | One initial native batch; exact previewed request |

| Retry | User chooses; retryable gate; timeout/unknown or true; unsupported/conflict/parent_not_found stop |

| Verify | Any actually attempted batch, every status: one sync and available reads before outcome/recovery |

Example

Провайдер: <resolved board_type>
Родитель: PRI-224 — Нативная декомпозиция
Ключ идемпотентности: 6f95035e-48da-40a3-aa29-9e220182bf38

1. Проверить регистрацию capability
Проблема: Декомпозиция небезопасна без подтверждённой поддержки доски.
Что сделать:
- Получать capability из registry discovery.
- Останавливать сценарий без записи при отсутствии поддержки.
Критерии приёмки:
- Неподдерживаемая доска не получает дочерних задач.
- Локально подставить capability невозможно.
Контекст: reviewer/tasks/boards/registry.py:81

Подтвердить создание всего показанного набора без изменений? (да/нет)

Common Mistakes

| Rationalization | Correction |

|---|---|

| “I already approve; create now” (authority/urgency) | Approval cannot cover an unseen preview; show every body first. |

| “Five individual writes are easier to recover” | They destroy atomic intent; use the one native batch only. |

| “This provider obviously supports children” | Only authoritative capability discovery counts; never spoof it. |

| “Search can wait until after drafting” | Run search_codebase and task context first or stop. |

| “We already spent time drafting” (sunk cost) | Rework an ungrounded draft; sunk cost grants no write permission. |

| “A timeout needs a clean new key” | Reuse the exact request and key; a fresh key can duplicate children. |

| “Exactly one batch means retries are forbidden.” | One initial request may be repeated only as an exact user-requested recovery. |

| “The original preview confirmation authorizes automatic retries.” | Every retry needs a new explicit user choice. |

| “No confirmed child keys means there is nothing to verify.” | Sync and verify available parent/context state before retry. |

| “A small preview edit can reuse the same key.” | Before first write, invalidate the preview and rotate the key; after an attempt, never edit. |

| “A tool error is the same as an empty context result.” | Empty success may continue; an error stops drafting. |

| “Only partial/timeout outcomes need verification.” | Every attempted write is verified, including ok/error; preflight no-write stops are not. |

| “Explicitly disabled board config can use deploy fallback.” | Present disable wins; fallback is only for an absent repository key. |

| “Any error is safe to retry with the same key.” | Retry only unknown/timeout or retryable=true; terminal categories stop. |

Red Flags

  • Any board write before the full preview and its explicit confirmation.
  • Missing native_subtasks discovery or locally claimed capability.
  • Drafting without parent context, similar tasks, and relevant code.
  • Individual child writes, changed retry payload, new retry key, or guessed in_flight remainder.
  • English user-facing output or a success claim without post-write reads.
  • “Exactly one batch means retries are forbidden.”
  • “The original preview confirmation authorizes automatic retries.”
  • “No confirmed child keys means there is nothing to verify.”
  • “A small preview edit can reuse the same key.”
  • “A tool error is the same as an empty context result.”
  • Declaring an attempted-write outcome before its scoped sync and available reads.
  • “Only partial/timeout outcomes need verification.”
  • “Explicitly disabled board config can use deploy fallback.”
  • “Any error is safe to retry with the same key.”

Any red flag means stop the write path and return to the violated phase.

想直接用这个技能?

本站把开放许可(MIT / Apache 等)的技能按仓库打包整理到网盘,点一下转存到你自己的网盘,不用一个个从 GitHub 拉。许可未声明的技能只给原始仓库链接,不打包。