Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Maintains a repo-local task forest or task DAG for the current workspace. Use when the user asks to initialize, update, close a session, summarize evolving project tasks, decide whether a new request is a global task or subtask, track task progress/history/deviations/todos, export a task graph HTML, or provide task data for gap-router/local-agent-control-room. Do not use for executing the tasks themselves.
.claude/skills/dongshuyan-task-forest/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-04 | ✗→✓ | ▲ Improved | 14% | 0% |
| case-07 | ✗→✓ | ▲ Improved | 37% | 0% |
| case-08 | ✗→✓ | ▲ Improved | 31% | 0% |
| case-10 | ✗→✓ | ▲ Improved | -2% | 0% |
| case-12 | ✗→✓ | ▲ Improved | -1% | 0% |
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.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.
bashpython3 <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.
The user-facing artifacts are:
textproposals/<proposal_id>.json exports/task-forest.html
The exporter also maintains three internal compatibility files for gap-router and local-agent-control-room:
textexports/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:
bashpython3 <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.
Other measured skills in the registry, with their headline benchmark lift.