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 first-tree-ai/first-tree-legacy --skill github-scangit clone --depth 1 https://github.com/first-tree-ai/first-tree-legacyWrote 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/first-tree-ai/first-tree-legacy/github-scan)<a href="https://agentmods.dev/skills/first-tree-ai/first-tree-legacy/github-scan"><img src="https://agentmods.dev/badge/skills/first-tree-ai/first-tree-legacy/github-scan/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/first-tree-ai/first-tree-legacy/github-scan"><img src="https://agentmods.dev/badge/skills/first-tree-ai/first-tree-legacy/github-scan.svg" alt="Reviewed on agentmods" width="80" height="20"></a>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.00068 | $0.01660 |
| Opus 5.5 | $0.00027 | $0.00664 |
| Sonnet 5.5 | $0.00014 | $0.00332 |
| Haiku 4.5 | $0.00007 | $0.00166 |
Grade A, and why
github-scan 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 1mo 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 — 149 lines — stays where its author put it; the contents beside it link to each section on GitHub.
GitHub Scan — Operational Skill
This skill is the operational handbook for the github-scan product. If you
have not yet loaded the first-tree entry-point skill, load that first — it
explains the toolkit layout and the current canonical First Tree skill set.
This skill covers how to drive the first-tree github scan CLI.
When To Use This Skill
Load this skill when the task involves any of:
- Running or inspecting the github-scan daemon
- Viewing the GitHub notification inbox or the live activity feed
- Triggering a one-off notification poll
- Configuring, starting, or stopping the background daemon (launchd on macOS)
- Installing the github-scan statusline hook into Claude Code
- Diagnosing a broken github-scan install or a stuck claim
GitHub Scan is designed for agents, not humans — most commands are idempotent and safe to re-run.
Core Concepts
- Inbox — the local store of explicit GitHub mentions and review requests, under
~/.first-tree/github-scan/. - Daemon — a long-running broker process that polls GitHub, keeps the
inbox fresh, dispatches work to per-task agent runners, and serves a
local HTTP/SSE endpoint on
127.0.0.1:7879for the dashboard. - Runner — a per-task worker spawned by the daemon for a single claim.
- Claim — exclusive lease on a notification so only one runner acts on it.
- Statusline — a sub-30 ms Claude Code statusline hook that prints a one-line summary of the inbox state.
CLI Commands
Primary (start here)
| Command | Purpose |
|---|---|
first-tree github scan install --allow-repo owner/repo |
First-run setup — checks gh/jq/gh auth, creates ~/.first-tree/github-scan/config.yaml with defaults, and starts the daemon. The repo scope is required so github-scan never falls back to scanning the whole account. (Wiring the Claude Code statusline is a separate manual step — see the Statusline section.) |
first-tree github scan start --allow-repo owner/repo |
Launch the daemon in the background (launchd on macOS, detached spawn elsewhere) |
first-tree github scan stop |
Stop the daemon and remove its lock |
first-tree github scan status |
Print the daemon lock + runtime/status.env |
first-tree github scan doctor |
One-screen diagnostic of the local install |
first-tree github scan watch |
Live TUI: status board + activity feed |
first-tree github scan poll |
Poll explicit GitHub mentions and review requests once (no daemon required) |
What ships with it
2 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.
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.
- 1mo ago First seen · 149 lines · 68 tokens per session scan A 4263bd986d04
github-scan is a skill published in the GitHub repository first-tree-ai/first-tree-legacy (47 stars, last pushed 5mo ago), licensed Apache-2.0. It adds 68 tokens to every session and 1,660 once invoked, about $0.0003 per session on Opus 5.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
gh
GitHub CLI skill for interacting with GitHub via the gh command line tool. Use when Bub needs to (1) Create, view, or manage GitHub repositories, (2) Work with issues and pull requests, (3) Create and manage releases, (4) Run and monitor GitHub Actions workflows, (5) Create and manage gists, (6) Install and manage…
merge
Resolve an in-progress merge or rebase by the intent of both sides, re-run the full gate on the merged tree, and finish the operation.
verify
Prove a completion claim with fresh evidence before making it — the gate's exit code, the real diff, the remote's checks, the reviewer's verdict.
ce-commit-push-pr
Commit, push, and open a PR. Use when asked to ship/open a PR, or for PR-description-only flows like writing, rewriting, or describing a PR body.
reachable-wip-via-temporary-refs
Capture in-flight WIP via git stash create, make it reachable through temporary refs, and tear down the refs after bundling finishes.
staged-bundle-fallback-chain
Retry Git bundle creation across decreasing scopes (all, HEAD, squashed) to stay under upload size limits while keeping relevant history.