t1k:cocos:rushtank:plan-tasks
| Field | Value |
|---|---|
| Module | rushtank |
| Version | 1.19.1 |
| Effort | high |
| Tools | — |
Keywords: create tasks from plan, đồng bộ plan, phases to tasks, plan tasks, plan to task, sync plan, tạo task từ plan
How to invoke
Section titled “How to invoke”/t1k:cocos:rushtank:plan-tasks[task description or plan-path]Plan → Tasks
Section titled “Plan → Tasks”Create a phased implementation plan, then mirror each phase as a task through the configured task
provider. Write every returned task ID back into plan.md.
Tool-agnostic by construction: this skill never calls a provider tool directly. Every write goes through
the t1k-cocos-rushtank-task-manager operator agent, which resolves the tool from
.claude/task-config.json and enforces guarded-write.
Decision Tree
Section titled “Decision Tree”| Intent | Path |
|---|---|
| ”Plan X and create tasks” | Spawn planner → parse → preview → create → write-back |
| ”Sync existing plan to tasks” | Read plan → parse → preview → create → write-back |
Pre-flight
Section titled “Pre-flight”- Provider config — verify
.claude/task-config.jsonexists and has anactiveProviderwith a provider block. If missing, STOP and point the user at the framework skill’s Setup section. - Convention — verify
.claude/rules/t1k-cocos-rushtank-task-conventions.mdexists. If missing, STOP. - Scope — the operator agent resolves the backlog id from
providers.<active>.scope.idEnv. Do NOT read or hardcode a specific env var name here. If unset, the agent stops and reports. - Plan path resolution — if the arg is an existing
plan.mdor plan directory, use it. Otherwise treat the arg as a natural-language task and generate a new plan.
Step 1 — Generate or load plan
Section titled “Step 1 — Generate or load plan”Natural-language task:
- Spawn
t1k-plannerwith the task description. The planner writesplans/{YYMMDD}-{HHMM}-{slug}/plan.md. - Capture the absolute plan path.
Path:
- Run the Fuzzy Plan Resolution Protocol at
skills/t1k-cook/references/fuzzy-plan-resolution.md. - Read
plan.md.
Step 2 — Idempotency check
Section titled “Step 2 — Idempotency check”Scan plan.md for task IDs already written back (a **Task:** marker or a provider task URL). If any
are found, STOP and ask the user whether to:
- Skip creation (IDs already present).
- Append new phases only.
- Recreate all tasks.
Step 3 — Parse phases
Section titled “Step 3 — Parse phases”Spawn a read-only subagent to extract phases:
Task( subagent_type="t1k-planner", prompt="Read {absolute-plan-path}. Extract the plan title and phases. Return ONLY a JSON object: { title: string, phases: [{ number: string, name: string, scope: string, effort: string }] }. Do not create or edit any files.", run_in_background=false)Verify the JSON is well-formed before proceeding. Capture effort per phase — it is required by
the convention and feeds $EFFORT on create.
Step 4 — Infer prefixes
Section titled “Step 4 — Infer prefixes”Apply .claude/rules/t1k-cocos-rushtank-task-conventions.md:
- Parent task:
[ACTION-DOMAIN] {plan title}— action from §3, domain inferred per §4. - Each phase:
[AB] [ACTION-DOMAIN] {phase name}where[AB]abbreviates the parent prefix (§8). - Prefer
[VERIFY-QA]for phases that are mostly testing/validation. - Prefer
[IMPLEMENT-<DOMAIN>]or[UPDATE-<DOMAIN>]for implementation-heavy phases.
Effort ceiling (§8): a phase over 8h must become two sibling subtasks, never a nested level. The tree is exactly two levels. Verify before previewing: every subtask ≤ 8h · subtask efforts sum to the parent’s · no subtask has children.
Step 5 — Preview and confirm
Section titled “Step 5 — Preview and confirm”Parent: [ADD-GAMEPLAY] New power-up system (12h) [AG] [DESIGN-GAMEPLAY] Power-up design (4h) [AG] [IMPLEMENT-GAMEPLAY] Core power-up module (6h) [AG] [VERIFY-QA] Balance test (2h)Invoke AskUserQuestion for confirmation. On “no”, STOP without creating anything.
Step 6 — Create tasks via the operator agent
Section titled “Step 6 — Create tasks via the operator agent”Delegate every write. Do not call a provider tool from this skill.
Task( subagent_type="t1k-cocos-rushtank-task-manager", prompt="Operation: create. Parent: name=<parent prefix + title>, desc=<objective/scope/requirements per conventions §6>, effort=<sum>, due=<date>. Then one subtask per phase under that parent: [{name, desc, effort, due}, ...]. The user has already confirmed this payload in a preview — proceed with the writes and return the created ids + urls.", run_in_background=false)The agent maps create through providers.<active>.operations.create, substituting $NAME, $DESC,
$EFFORT, $DUE, $SCOPE. Guarded-write still applies — the agent bounces the payload back for
confirmation unless it is re-dispatched with explicit confirmation, which the Step 5 preview provides.
Collect returned ids and URLs from the agent’s digest.
Step 7 — Write task IDs back to plan.md
Section titled “Step 7 — Write task IDs back to plan.md”Edit plan.md:
- After the
# Planheading, add**Parent Task:** [id](url). - Under each phase heading, append
**Task:** [id](url).
Use Edit. Never overwrite the whole file.
Step 8 — Report
Section titled “Step 8 — Report”Plan path · parent task id + URL · number of subtasks created · any parse or inference warnings.
Gotchas
Section titled “Gotchas”- The backlog scope env var must be exported before use; the operator agent reports it if unset.
- Phase parsing is heuristic — always verify the extracted list in the Step 5 preview.
- Subtask names must start with the parent prefix abbreviation (conventions §8).
- Never pass native tags (conventions §9).
- Provider-specific traps (parent-chain spec links, truncated subtask payloads) live in the document
named by
providers.<active>.quirksRef— the operator agent reads it; this skill does not need to.
Related
Section titled “Related”skills/t1k-cocos-rushtank-task-framework/SKILL.md— the general task-ops entry point.rules/t1k-cocos-rushtank-task-conventions.md— naming / description / effort / subtask convention.rules/t1k-cocos-rushtank-task-management.md— policy (states, dependency, guarded-write, precedence)..claude/task-config.json— the single switch for which tool receives these tasks.