Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add dongshuyan/compass-skills --skill task-forestgit clone --depth 1 https://github.com/dongshuyan/compass-skillsWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/dongshuyan/compass-skills/task-forest)<a href="https://agentmods.dev/skills/dongshuyan/compass-skills/task-forest"><img src="https://agentmods.dev/badge/skills/dongshuyan/compass-skills/task-forest/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/dongshuyan/compass-skills/task-forest"><img src="https://agentmods.dev/badge/skills/dongshuyan/compass-skills/task-forest.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector warn
SkillSpector: 1 finding, up to medium
These are SkillSpector’s own severities. On a checked sample its high-severity flags on skills were ~96% false positives — a documented command, a public API, a “never do X” rule — so we show them as a caution to read, not a verdict. Why →
- medium Rogue Agent · line 22 Skill establishes unauthorized persistence across sessions via cron jobs, startup scripts, or state files. Session persistence allows an attacker to maintain access beyond the current interaction.Fix: Remove any persistence mechanisms (cron jobs, startup scripts, state files). Skills should not maintain state across sessions without explicit user consent.
What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00090 | $0.01376 |
| Opus 5 | $0.00045 | $0.00688 |
| Sonnet 5 | $0.00018 | $0.00275 |
| Haiku 4.5 | $0.00009 | $0.00138 |
Grade A, and why
task-forest scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 9d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 99 lines — stays where its author put it; the contents beside it link to each section on GitHub.
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
- Read and write task-forest data only through
scripts/task_forest.py; never hand-edit.agent-workbench/task-forest/canonical files. - Use one primary
child_ofparent per node,contributes_tofor secondary ownership, anddepends_onfor prerequisites. - Save graph changes as a proposal and wait for user confirmation before
proposal-apply --yes. - Keep low-confidence inference in a question or proposal. Record material execution drift as a deviation.
- Write visible task titles and purposes in plain language. A reader must understand what the task delivers, why it exists, and what has been completed without knowing internal codes such as
P04or reading another file. - Export one HTML surface:
exports/task-forest.html. It showsdone,in_progress, and their necessarychild_ofancestors, with history playback. Do not expose internal discussions, evidence, queues, filesystem paths, sessions, or proposal content in the HTML. - Keep HTML interactions read-only. Formal changes always return through the proposal workflow.
- Keep task data and discovery metadata repo-local by default. Cross-workspace discovery is optional: enable it only after the user explicitly opts in by setting
TASK_FOREST_ENABLE_GLOBAL_REGISTRY=1. This writes lightweight workspace paths and health summaries toAGENT_WORKBENCH_DB, or to~/.agent-workbench/agent-workbench.sqlite3when that variable is unset; it never stores task content.
What ships with it
13 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
- agents/openai.yaml 254 B
- assets/task-forest-overview.html 42 KB
- references/concurrency.md 3.5 KB
- references/goal-alignment.md 5.3 KB
- references/html-visualization-contract.md 3.9 KB
- references/integration-contract.md 5.5 KB
- references/node-types.md 1.2 KB
- references/schema.md 9.7 KB
- references/session-close-workflow.md 6.1 KB
- scripts/task_forest_html.py 10 KB runs code
- scripts/task_forest_ordering.py 5.1 KB runs code
- scripts/task_forest.py 81 KB runs code
- scripts/validate_task_forest_export.py 38 KB runs code
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 9d ago First seen · 99 lines · 90 tokens per session scan A dbcf83b78596
task-forest is a skill published in the GitHub repository dongshuyan/compass-skills (724 stars, last pushed 13d ago), licensed MIT. It adds 90 tokens to every session and 1,376 once invoked, about $0.0005 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
fleet-conductor
Use when conducting a large backlog or multi-repository campaign across several worker lanes, especially when work needs bounded ownership, held dependencies, collision control, draft pull request gates, and evidence-based landing. Triggers on "conduct the fleet", "burn down the backlog", "run a multi-repo campaign"…
handoffplan
Run /handoff to capture session data, then write a phased implementation plan that references it. Creates beads for tracking.
start
Load project state and get a briefing at the start of a work session — reads state files, flags staleness, surfaces top priorities, deadlines, and blockers.
github
GitHub and Git workflow helpers, Issues and Projects v2 management via gh CLI; triggers on 'github', 'create issue', 'list issues', 'github project', 'project board', 'sync tasks', 'create pr', 'pr checks', 'retrigger tests', 'bump version', 'push'.
lisa
Lisa - intelligent assistant for memory and tasks. Triggers on 'lisa', 'hey lisa', or addressing lisa directly.
jira
Create, list, view, and manage Jira issues via REST API; triggers on 'jira', 'create ticket', 'list issues', 'change type'.