agentsclimarketplace

Canopy debug

Skill kostiantyn-matsebora/canopy/skills/canopy-debug

AI skills as executable code, not prose. A declarative framework for writing skills as syntax trees of named operations, distributed as agentskills.io-format Agent Skills.

Install
npx -y skills add kostiantyn-matsebora/canopy --skill canopy-debug

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 1 stars1 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its author says it does

Copied from the file, not written here

Trace any Canopy skill with live phase banners and per-node tree tracing. Respects the current mode — in plan mode no changes are applied; in edit mode the skill executes normally.

The file declares its own license as MIT. That is the author’s claim about this one file, and it is not the same thing as the license GitHub reports for the repository, which is listed with the other numbers below.

SKILL.md

3.1 KB, as published. Nobody here has run it

Runtime required. This skill uses Canopy tree notation; canopy-runtime must be active.

Detect canopy-runtime — present if either:

  • canopy-runtime/SKILL.md exists under .claude/skills/, .github/skills/, or .agents/skills/, OR
  • a canopy-runtime marker block exists in CLAUDE.md or .github/copilot-instructions.md.

If neither is present — install canopy-runtime first (see the compatibility field for the source and install options), then re-invoke this skill.

Do not interpret the ## Tree without canopy-runtime active.

Preamble: parse $ARGUMENTS — first token is target_skill, remainder is skill_args.


Tree

  • canopy-debug
    • IF << $ARGUMENTS is empty or skill name is missing
      • END Usage: /canopy-debug <skill-name> [skill-arguments]
    • bind target_skill = first token of $ARGUMENTS
    • bind skill_args = remainder of $ARGUMENTS (may be empty)
    • detect platform: .claude/skills/ present → claude; .github/skills/ present → copilot
    • IF << platform == "claude"
      • Read ../canopy-runtime/SKILL.md for the canopy execution engine overview
      • Read ../canopy-runtime/references/runtime-claude.md for Claude Code runtime rules
      • Read ../canopy-runtime/references/ops.md for the primitive-slice index (load specific slices on demand)
      • Read ../canopy-runtime/references/skill-resources.md for category semantics, op lookup chain, tree format, manifest
    • ELSE
      • Read ../canopy-runtime/SKILL.md for the canopy execution engine overview
      • Read ../canopy-runtime/references/runtime-copilot.md for Copilot runtime rules
      • Read ../canopy-runtime/references/ops.md for the primitive-slice index (load specific slices on demand)
      • Read ../canopy-runtime/references/skill-resources.md for category semantics, op lookup chain, tree format, manifest
    • Read assets/policies/debug-output.md for debug rendering and animation protocol
    • EMIT_PHASE_BANNER << phase=Initialize | skill=target_skill | args=skill_args
    • EXECUTE_WITH_TRACE << target_skill | skill_args

Rules

  • Load assets/policies/debug-output.md before any output — never emit debug output without it
  • Respect the current Claude Code mode — plan mode means simulate mutations; edit mode means execute normally
  • Emit banners and tree-state blocks to the stream as Claude narrates; never buffer and emit at end

Response: target_skill | phases_executed | nodes_executed | final_status

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.