--- name: tasks description: "Decompose the plan into research tasks — one task per ticker × skill × mode, grouped by pillar, [P]-marked by the different-files-and-no-incomplete-deps rule, with source-refs. mode: all expands to N tasks at generation, never exists as one task (Q79)." role: kit market_data_stage: none --- # agentii.tasks ## Task identity (Q79) **One task = `ticker × skill × 单个 mode`.** `--mode=all` is a generation-time expansion — it never exists as a single task (matching `validate-mode-syntax.py`'s `all` reserved rule). Pre-M1: mode is `default` for the 53/62 skills without `references/modes.md`; Depth-Tier Light falls back to the tier's explicit skill list until `essentials_modes` exists. ## Format (plan contract) `- [ ] T### [P] [pillar] TICKER × SKILL × MODE — purpose (src: pillar-id)` - `[P]` = different files **and** no incomplete deps; `_cross/` synthesis tasks are never `[P]`. - Every task carries a `src:` ref — traceability survives into converge (Q26). - `tasks.md` is **strictly append-only** thereafter. ## Invocation ```bash # Resolve the kit root first — contracts/kit-root.md. The kit's scripts do NOT ship # with the skills, so never assume the CWD is the checkout. KIT="" for c in "${AGENTII_KIT_ROOT:-}" \ "$(cat "$HOME/.claude/skills/agentii/.kit-root" 2>/dev/null)" \ "${CLAUDE_PLUGIN_ROOT:-}"; do [ -n "$c" ] && [ -f "$c/scripts/agentii_cmd.py" ] && { KIT="$c"; break; } done if [ -z "$KIT" ]; then d="$PWD"; while [ "$d" != "/" ]; do [ -f "$d/scripts/agentii_cmd.py" ] && { KIT="$d"; break; }; d="$(dirname "$d")"; done; fi [ -n "$KIT" ] || { echo "agentii kit not found — see contracts/kit-root.md" >&2; exit 1; } python3 "$KIT/scripts/agentii_cmd.py" tasks --thesis theses/001-ai-semiconductors --spec theses/001-ai-semiconductors/spec.md ``` Gate 3 (after tasks, informational) shows task count × cost estimate.