# Task Forest

Maintains a repo-local task forest or task DAG for the current workspace.

- Repository: https://github.com/dongshuyan/compass-skills (764 stars)
- Category: Engineering
- License: MIT
- Last updated: 2026-10-30
- Runs scripts: yes, review before use

## Install

Claude Code: `npx skills add dongshuyan/compass-skills --skill task-forest -g -a claude-code -y`
Codex: `npx skills add dongshuyan/compass-skills --skill task-forest -g -a codex -y`
Cursor: `npx skills add dongshuyan/compass-skills --skill task-forest -g -a cursor -y`
Gemini CLI: `npx skills add dongshuyan/compass-skills --skill task-forest -g -a gemini-cli -y`

## Description

Maintains 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 executing the tracked tasks themselves or for generic HTML work.

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# Task Forest

## Purpose

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.

## Portability

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.

## Core Rules

The rest: https://github.com/dongshuyan/compass-skills/blob/HEAD/skills/task-forest/SKILL.md
