Skip to content

t1k:cocos:rushtank:plan-tasks

FieldValue
Modulerushtank
Version1.19.1
Efforthigh
Tools—

Keywords: create tasks from plan, đồng bộ plan, phases to tasks, plan tasks, plan to task, sync plan, tạo task từ plan

/t1k:cocos:rushtank:plan-tasks
[task description or plan-path]

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.

IntentPath
”Plan X and create tasks”Spawn planner → parse → preview → create → write-back
”Sync existing plan to tasks”Read plan → parse → preview → create → write-back
  1. Provider config — verify .claude/task-config.json exists and has an activeProvider with a provider block. If missing, STOP and point the user at the framework skill’s Setup section.
  2. Convention — verify .claude/rules/t1k-cocos-rushtank-task-conventions.md exists. If missing, STOP.
  3. 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.
  4. Plan path resolution — if the arg is an existing plan.md or plan directory, use it. Otherwise treat the arg as a natural-language task and generate a new plan.

Natural-language task:

  • Spawn t1k-planner with the task description. The planner writes plans/{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.

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:

  1. Skip creation (IDs already present).
  2. Append new phases only.
  3. Recreate all tasks.

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.

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.

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.

Edit plan.md:

  • After the # Plan heading, add **Parent Task:** [id](url).
  • Under each phase heading, append **Task:** [id](url).

Use Edit. Never overwrite the whole file.

Plan path · parent task id + URL · number of subtasks created · any parse or inference warnings.

  • 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.
  • 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.