skills/tree/SKILL.md
Operate the `first-tree tree` CLI. Primary commands — inspect, init, publish, verify, upgrade. Advanced primitives — bootstrap, bind, integrate, workspace. CI helpers — review, generate-codeowners, inject-context. Use whenever you need to read/write a Context Tree repo, onboard a repo or workspace, or manage tree ownership, publishing, and CI integration. (Drift-detection `sync` lives under the `gardener` product.)
npx skillsauth add agent-team-foundation/first-tree treeInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
This skill is the operational handbook for the tree product. If you have
not yet loaded the first-tree entry-point skill, load that first — it
explains what a Context Tree is and why you would use one. This skill
covers how to drive the first-tree tree CLI.
Load this skill when the task involves any of:
first-tree tree <command> subcommandNODE.md files, soft_links, or ownership frontmatterThe tree CLI centers on three concepts:
NODE.md + leaf-node filesMost commands accept or classify one of these three shapes.
first-tree tree inspect --json.first-tree tree init — it handles both cases:
--tree-path <path> or --tree-url <url> and it binds--scope workspace.
init syncs currently discovered child repos by default; rerun
first-tree tree workspace sync after adding new repos.init internally delegates to bind (and to bootstrap when scaffolding a new
tree), installs the bundled first-tree skill in both the source and the tree
repo, and refreshes binding metadata in both locations. Use bind directly only
when you need explicit --mode control (e.g. workspace-member binds).
| Command | Purpose |
|---|---|
| first-tree tree inspect | Classify the current folder and report bindings / child repos |
| first-tree tree status | Alias for inspect (human-friendly name) |
| first-tree tree init | Onboard a repo or workspace — creates a new tree, or binds to an existing one when given --tree-path / --tree-url |
| first-tree tree verify | Validate a tree repo: frontmatter, owners, soft_links, members, progress |
| first-tree tree upgrade | Refresh the installed skill payloads or tree metadata from the bundled package |
| first-tree tree publish | Publish a tree repo to GitHub and refresh locally bound source/workspace repos |
These are primitives init composes, plus CI helpers and member-management
utilities. Reach for them only when the primary commands don't cover the case.
| Command | Purpose |
|---|---|
| first-tree tree bootstrap | Low-level tree-repo bootstrap for an explicit tree checkout. Use when the current repo itself is the tree (--here) or when init's scaffolding default is wrong. |
| first-tree tree bind | Lower-level primitive used by init --tree-path. Exposes --mode standalone-source / shared-source / workspace-root / workspace-member that init normally infers. |
| first-tree tree integrate | Install the first-tree skill + source-integration block in the current repo without touching any tree repo. |
| first-tree tree workspace sync | Bind newly added child repos to the shared tree, or rerun the workspace-member binding step manually. init --scope workspace already syncs currently discovered repos by default. |
| first-tree tree review | CI helper: run Claude Code PR review against tree changes |
| first-tree tree generate-codeowners | Regenerate .github/CODEOWNERS from tree ownership |
| first-tree tree inject-context | Output a Claude Code SessionStart hook payload from NODE.md |
| first-tree tree invite | Invite a new member to the Context Tree (human, personal_assistant, or autonomous_agent) |
| first-tree tree join | Accept an invite and join a Context Tree |
| first-tree tree help onboarding | Show the onboarding narrative |
For full options on any command, run first-tree tree <command> --help.
npx first-tree tree <command>
This is the recommended human-facing one-off invocation. The CLI auto-checks for
updates on every invocation; pass --skip-version-check to suppress the
check for latency-sensitive callers like SessionStart hooks.
To refresh source/workspace integration or tree metadata from the current package:
npx first-tree tree upgrade
If you only need to wipe and reinstall the four shipped skill payloads under
.agents/skills/* and .claude/skills/*, use npx first-tree skill upgrade
instead.
NODE.md declaring owners in its frontmatter.owners: [] inherits from the parent.owners: [*] means anyone may edit.Ownership model and node-naming rules: see the
ownership-and-naming.md reference in the first-tree entry-point skill.
first-tree — entry-point skill: methodology, references, and routing
between product skills. Load this first.breeze — load if the task involves the breeze daemon or notifications.gardener — load if the task involves any tree-maintenance runtime:
drift sync (gardener sync), verdict comments on source-repo PRs
(gardener comment), or responses to sync-PR review feedback
(gardener respond).tools
Canonical whitepaper and routing skill for First Tree. Explains what belongs in a Context Tree, how source or workspace roots, tree repos, and bindings relate, and how the current `first-tree tree` and `first-tree github scan` surfaces fit together. Use when you need shared First Tree concepts, need to choose between onboarding, sync, write, or GitHub notification workflows, or need the high-level CLI map before acting.
tools
One-shot onboarding command for First Tree. Drives a repo or workspace from "no first-tree" all the way to "tree bound, real content drafted, daemon running, agent templates confirmed" — end to end, in one skill invocation. Trigger this skill when the user invokes `/first-tree-onboarding`, says "onboard this repo to first-tree", "set up first-tree here", "complete first-tree onboarding", or runs first-tree against an unbound repo or workspace. Also trigger when re-running on an already-bound repo to refresh skills, draft missing content, or reverify the daemon. Use this skill instead of running `first-tree tree init` from raw memory; it owns role-by-role branching, the initial-content drafting phase the CLI does NOT do, and the final doctor checks.
development
Audit and repair drift between merged code and the Context Tree in both directions — tree→code (does code still support tree facts?) and code→tree (does the tree register everything code now contains?). Use when the tree may be stale, wrong, outdated, or missing coverage for recent code changes; after a large merge; before release; on a freshly onboarded tree; or when a GitHub notification was routed `route=sync`. Sync owns broad drift discovery, structural skeleton repair, and substantive write hand-off across one tree. Use `first-tree-write` instead when the user already gave you a specific PR / doc / note to write into the tree.
tools
Operate the `first-tree github scan` CLI — the GitHub notification daemon and inbox runtime. Use whenever you need to run, start, stop, inspect, poll, or debug github-scan; view or respond to GitHub-triggered work from the terminal; or wire up the github-scan statusline hook.