executing-plans
executing-plans
Use when executing an implementation plan in the current session as the implementer yourself — your human partner chose inline execution, or no subagent tool is available
task-forestMaintains a repo-local task forest or task DAG for the current workspace. Use when the user asks to initialize or update a task forest, close a session, summarize evolving project work, align a request with a global goal, track progress/history/deviations/todos, save or apply a task proposal, or export the client-readable task-forest HTML. Do not use for ex…
Independent GitHub snapshot · Automated classification · Original documentation governs
Maintain the current workspace's task structure, proposals, history, and progress. Produce one standalone HTML deliverable that a first-time reader can understand without opening another task list or internal file.
Use the user's language for task content, proposals, reports, and HTML. Default to Chinese when unknown.
This skill is agent-agnostic. Install the whole task-forest directory in any host-supported skill location, then resolve scripts, references, and assets from the directory containing this SKILL.md. Do not assume a specific agent name, skill root, home-directory layout, shell, path separator, or operating system.
Use an available Python 3 launcher on the host (python3, python, or py -3). The scripts use the Python standard library and support macOS, Linux, and Windows. To label task history with the calling agent, set COMPASS_AGENT_NAME or AGENT_NAME, or pass --actor; otherwise the neutral value agent is used.
scripts/task_forest.py; never hand-edit .agent-workbench/task-forest/ canonical files.child_of parent per node, contributes_to for secondary ownership, and depends_on for prerequisites.proposal-apply --yes.P04 or reading another file.exports/task-forest.html. It shows done, in_progress, and their necessary child_of ancestors, with history playback. Do not expose internal discussions, evidence, queues, filesystem paths, sessions, or proposal content in the HTML.TASK_FOREST_ENABLE_GLOBAL_REGISTRY=1. This writes lightweight workspace paths and health summaries to AGENT_WORKBENCH_DB, or to ~/.agent-workbench/agent-workbench.sqlite3 when that variable is unset; it never stores task content.When initializing, updating, or closing a session:
init.list --json and todo --json.goal -> phase -> module -> concrete task hierarchy and sibling order for every done or in_progress task. Include necessary ancestors, omit wholly unstarted branches, and attach extra fixes under the feature they improve. Never collapse several phases into one node or rely on edge creation order. If one sibling needs display_order, set a unique numeric value for the whole sibling group; partial, duplicate, or invalid values must fail validation.summary or purpose; add outcomes or acceptance criteria when they clarify delivery. Treat internal codes as secondary labels, not as the task name.proposal-apply --yes, validate, and export.Use $task-clarifier when user intent or the target global goal is genuinely unclear.
Resolve <skill-dir> from this file and use an available Python 3 executable. The examples use python3; substitute the host's available launcher when needed.
python3 <skill-dir>/scripts/task_forest.py init
python3 <skill-dir>/scripts/task_forest.py list --json
python3 <skill-dir>/scripts/task_forest.py todo --json
python3 <skill-dir>/scripts/task_forest.py proposal-save --proposal-file /path/to/proposal.json
python3 <skill-dir>/scripts/task_forest.py proposal-apply <proposal-id> --yes
python3 <skill-dir>/scripts/task_forest.py validate
python3 <skill-dir>/scripts/task_forest.py export
The default workspace is the current directory. Use --workspace only when another workspace is explicit. Use --root only when the caller explicitly selected a non-default task-forest root.
Global registry integration is off by default. TASK_FOREST_DISABLE_GLOBAL_REGISTRY=1 remains an explicit override when a host sets the enable flag globally.
The user-facing artifacts are:
proposals/<proposal_id>.json
exports/task-forest.html
The exporter also maintains three internal compatibility files for gap-router and local-agent-control-room:
exports/task-forest.graph.json
exports/task-forest.todos.json
exports/task-forest.timeline.json
Do not present those JSON files as delivery artifacts unless the user explicitly asks for machine-readable data.
references/schema.md for node fields, proposal actions, and canonical invariants.references/goal-alignment.md only when judging global-goal fit or competing candidate plans.references/node-types.md only when node classification is unclear.references/concurrency.md before resolving stale proposals or concurrent writes.references/html-visualization-contract.md when changing or validating the HTML.references/integration-contract.md only when changing JSON or registry compatibility.For HTML or exporter changes, run:
python3 <skill-dir>/scripts/validate_task_forest_export.py --skill-dir <skill-dir>
The HTML remains a derived, read-only view. Canonical task data and proposal history stay repo-local.