AgentStack
Browse Sign in
Browse Why AgentStack Sell Docs
Sign in
SKILL verified MIT Self-run

Discovery Tree

skill-jonreid-discoverytreeskill-discovery-tree · by jonreid

Visualizes tasks as a Discovery Tree using Mermaid diagrams. Use when planning or tracking multi-step work with parent and child task relationships.

No reviews yet
0 installs
25 views
0.0% view→install

Install

$ agentstack add skill-jonreid-discoverytreeskill-discovery-tree

✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access No
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets No
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

View the full security report →

Verified badge

Passed review? Show it. Paste this badge into your README, it links to the public security report.

AgentStack Verified badge Links to your public security report.
[![AgentStack Verified](https://agentstack.voostack.com/badges/verified.svg)](https://agentstack.voostack.com/security/report/skill-jonreid-discoverytreeskill-discovery-tree)

Reliability & compatibility

Security review passed
0 installs to date
no reviews yet
1mo ago

Declared compatibility

Claude CodeClaude Desktop

Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.

Preview Execution monitoring

We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.

How agent discovery & health will work →
Are you the author of Discovery Tree? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

Discovery Tree

STARTER_CHARACTER = 🌲

Description

Visualize tasks as a Discovery Tree, where subtasks are child nodes.

Steps

Step 1: Open File

Open discovery-tree.md.

If it doesn't exist, create it:

  • Ask user "What is the project title?" and wait for input.
  • Then ask user: "What is the parent task?"
  • Use template in references/template-discovery-tree.md, replacing parent-node and Parent Task with parent task

Step 2: Constraint

Root parent-task node is never modified.

Step 3: Display

Tree is a Mermaid graph. Display to user as ASCII using box-drawing characters. Represent state using emoji.

Show project title in bold. Then show legend line above the tree:

Legend: 🟡 To do 🔶 In progress ✅ Completed 🔴 Blocked 🟣 Punt 🔵 Notes

Then show tree, with no emoji for parent task.

Step 4: Review

Ask user to review current tree. Any new stories to add?

Step 5: Find Next Task

Find next todo story to work on. Ask user to confirm.

Keep stories ordered left-to-right in diagram.

Step 6: Sync Names

Keep node names and user story labels in sync.

Step 7: Mark as In-Progress

Mark chosen story as in-progress. Change all parent nodes to in-progress as well, except root parent-task.

Step 8: Complete

When task is done:

  • Mark it as complete
  • Ask user: "Any new stories to add next to this one?"
  • If not, go up one level in tree
  • Loop back to Step 4

Optional Features

Side Notes

A side note is a free-floating box not connected to tree. Use it for reminders, open questions, or context that isn't a task. Only add when user requests one.

Trigger phrases (examples):

  • "Add note to discovery tree"
  • "Add side note to discovery tree"

To list existing side notes (read-only), trigger phrases:

  • "What notes are on the tree?"
  • "List the side notes"

Read each notes-classed node and report its id and label. Do not modify the file.

If trigger phrase does not include note text (e.g. user just says "add a side note" with no content), prompt user: "What should the side note say?" Do not invent content or use a placeholder. Wait for user's response before adding node.

To add a side note:

  • Declare a node with a unique id, e.g. note-1["Check API rate limits"]
  • Apply notes class: class note-1 notes
  • Optionally anchor it near another node with an invisible link: parent-node ~~~ note-1 (no visible edge is drawn)
  • Place side notes after legend block and before classDef block
Layout: choose by note count
  • 1 note: declare it loose and anchor near a node: parent-node ~~~ note-1. No subgraph.
  • 2–5 notes: wrap them in a single invisible row subgraph (see below).
  • 6+ notes: use multiple row subgraphs, max 5 per row.

Do not mix loose anchored notes with row subgraphs — the competing invisible links fight Mermaid's layout. Once a second note is added, move the first into a row subgraph.

Layout: max 5 per row

Limit each row of side notes to 5; stack additional notes in new rows below.

  • Group every 5 notes into an invisible subgraph with direction LR and a blank label, e.g. subgraph note-row-1[" "]
  • Chain notes inside a row with invisible links: note-1 ~~~ note-2 ~~~ note-3 ~~~ note-4 ~~~ note-5
  • Chain rows top-to-bottom with invisible links: note-row-1 ~~~ note-row-2
  • Hide each row's border: style note-row-1 fill:none,stroke:none
  • Always close each subgraph with end

Example (6 notes → row of 5, then row of 1):

subgraph note-row-1[" "]
    direction LR
    note-1 ~~~ note-2 ~~~ note-3 ~~~ note-4 ~~~ note-5
end
subgraph note-row-2[" "]
    direction LR
    note-6
end
note-row-1 ~~~ note-row-2
style note-row-1 fill:none,stroke:none
style note-row-2 fill:none,stroke:none
Editing and Removing Side Notes

To edit a note, change only the label text in its node declaration (e.g. note-1["New text"]). Leave id and class line unchanged.

To remove a note:

  • Delete its node declaration and its class note-N notes line.
  • Splice it out of ~~~ chain so remaining notes stay linked (e.g. removing note-3 from note-2 ~~~ note-3 ~~~ note-4 leaves note-2 ~~~ note-4).
  • Never renumber or reuse ids — leave gaps. Renumbering churns diff for no benefit.
  • Re-balance rows so no row exceeds 5 and no row is empty: pull first note of each later row up to fill gap, then drop layout down a tier if total now fits (6+ → 2–5 → 1) per count rules above. Delete any subgraph left empty and its style/chaining lines.

Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet, be the first.

Versions

  • v0.1.0 Imported from the upstream source.