First Tree companion skills for moving structured agent work into First Tree.
Status: release preparation. The planned v0.1.0 support contract covers
both Codex and Claude Code. The repository is not a public release until its
frozen candidate completes the qualification and publication checklist.
run-with-first-tree turns a dependency-aware ticket graph into safe,
independently reviewable agent work streams:
- Normalize local Markdown tickets or GitHub sub-issues and dependencies.
- Validate identities, blocking edges, cycles, readiness, and claims.
- Show the current frontier as a read-only dry run.
- After a confirmation that names every item-agent pair, create one flat First Tree chat per runnable ticket.
- Reconcile evidence from the original parent chat and expose the next frontier when explicitly asked.
It is designed as an unofficial companion to
mattpocock/skills: plan with
to-tickets, then run the eligible frontier with First Tree. This repository
does not copy, modify, or invoke the upstream Skills.
After the public v0.1.0 release exists, install that versioned release
coordinate for both supported agents:
npx --yes skills@1.5.22 add \
'agent-team-foundation/first-tree-skills#v0.1.0' \
--global \
--skill run-with-first-tree \
--agent codex \
--agent claude-code \
--yesStart a fresh Codex or Claude Code session, then ask:
Use the run-with-first-tree skill to inspect and run the tickets under
.scratch/my-feature/issues.
Graph inspection and dry-run work outside First Tree. Dispatch requires a First Tree managed chat and an explicit confirmation message naming every frontier item and its agent mapping. Generic acknowledgements do not authorize dispatch. Continue and final-reconcile requests must run in that original parent chat, not in a dispatched child chat.
See Installation and lifecycle for project installs, repeat installs, updates, rollback, removal, reinstall, and fresh-session checks.
- Codex and Claude Code are the supported agent hosts for
v0.1.0. - Python 3.10 or newer is required by the deterministic builders and validator.
- The supported installer is
skills@1.5.22, which requires Node.js 22.20 or newer. CI also probesskills@latestseparately for forward compatibility. - First Tree CLI 0.5.18 or newer is required for dispatch. The Skill uses the
live
chat create,chat list,chat history, andagent listhelp surfaces before dispatching. - GitHub sources require a host
ghCLI with authenticated read access. Local Markdown and normalized JSON do not requiregh.
These are support targets, not a claim that the release candidate has already passed its scheduled clean-home or live-agent qualification. That evidence is collected only on a frozen release candidate.
| Source | V0 support |
|---|---|
to-tickets local one-ticket-per-file Markdown |
Supported; attested to upstream v1.2.2; every ticket must explicitly declare Blocked by, using None when empty |
| GitHub native sub-issues and dependencies | Supported |
GitHub task-list children and ## Blocked by / Blocked by: #N fallback |
Supported |
| Normalized work-graph JSON | Supported |
| Wayfinder maps | Not supported; resolve decisions and run to-tickets first |
| GitLab or custom tracker APIs | Not supported; export normalized JSON first |
The Skill treats ticket content as untrusted data and never uses it to expand the authority of the current task. See the work-graph contract and upstream compatibility attestation.
- The issue tracker or local ticket directory remains the plan source.
- V0 dispatches only the current frontier; it does not run a background scheduler or infer completion from agent state.
- Re-run the Skill to reconcile evidence and release a later frontier.
- The Skill never assigns, labels, closes, or edits source tickets.
- Dispatch does not expand the user's authorization to modify code, production, or external systems.
Contributor setup and validation commands are in DEVELOPMENT.md. Before contributing, read CONTRIBUTING.md and the Code of Conduct. Report vulnerabilities privately using the process in SECURITY.md. Release policy and checks live in docs/releasing.md, and user-visible changes are recorded in CHANGELOG.md.
The deterministic Floor always runs the complete five-case matrix. It validates case schema and coverage, materializes each local-ticket fixture, and checks real builder-to-validator graph facts against independent literals. Testing protects those deterministic code contracts. It does not qualify live agent behavior, dispatch safety, final responses, anonymous installation, or public release. Model-backed qualification is intentionally human-authorized and selected by release risk. Its evidence is bound to the recorded payload and provider environment, so an unchanged distributable payload is not rerun merely because the candidate commit changed.
This is an unofficial companion and is not affiliated with or endorsed by Matt Pocock.