thurbox-extensions

thurbox-extensions is a skill for Claude Code, Codex from Thurbeen/thurbox. It costs 101 tokens per session (3,409 once invoked), scanned A, original, MIT.

A guide to Thurbox's optional extensions, which are add-ons installed outside the core program. It describes their manifests, built-in extensions, installation, runtime behavior, and recovery rules.

In plain words
What is it for?
Use it to install or author extensions such as task-flow coordination, CI monitoring, Renovate integration, or UI-focused skills.
Why use it?
It shows how to add capabilities without changing the core binary and explains which extensions are enabled, disabled, or recreated automatically.

Skill for Claude CodeCodex

Install

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.

agentmods
npx agentmods add skills/thurbeen/thurbox/thurbox-extensions
Any agent
npx skills add Thurbeen/thurbox --skill thurbox-extensions
Clone the repo
git clone --depth 1 https://github.com/Thurbeen/thurbox

Made for: Claude Code, Codex.

Wrote 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.

agentmods badge for thurbox-extensions

README.md
[![agentmods](https://agentmods.dev/badge/skills/thurbeen/thurbox/thurbox-extensions.svg)](https://agentmods.dev/skills/thurbeen/thurbox/thurbox-extensions)
Your own site
<a href="https://agentmods.dev/skills/thurbeen/thurbox/thurbox-extensions"><img src="https://agentmods.dev/badge/skills/thurbeen/thurbox/thurbox-extensions.svg" alt="Measured on agentmods" height="20"></a>
Per session 101 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 3,409 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 1 finding. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

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.

ModelPer sessionOnce invoked
Fable 5 $0.00101 $0.03409
Opus 5 $0.00051 $0.01705
Sonnet 5 $0.00020 $0.00682
Haiku 4.5 $0.00010 $0.00341

Measured 4d ago against content hash 9af0519705a6, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

thurbox-extensions scanned grade A with 1 finding 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 4d 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.

Makes network callslowCapability

Not a fault in itself. Listed so you know the mod talks to something, and to what.

<name>` (with a thin curl-able `install.sh` shim over it).
.claude/skills/thurbox-extensions/SKILL.md · 185 lines

How it starts

The opening of the file, as written. The whole thing — 185 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Thurbox extensions

Working reference extracted from CLAUDE.md, which indexes it. The rationale behind these decisions is owned by the docs under docs/; a change that invalidates what this says updates it in the same PR.

Extensions

extensions/ holds opt-in, agent-agnostic add-ons that build on thurbox-cli without touching the core binary. Each ships an extension.toml manifest installed via thurbox-cli extension install <name> (with a thin curl-able install.sh shim over it).

  • extensions/flow/ (experimental — new and under active testing) — a focus-protecting triage agent: brain-dumps become thurbox tasks, dispatchable ones spawn worker sessions (on flow/<slug> worktree branches, agents flow-worker/flow-worker-heavy mapped in agents.toml to any CLI), a dedicated flow session monitors them, and every reply ends with the single next thing to focus on. Dispatch is plan-first: scripts/create-task.sh owns the worker prompt and injects a mandatory clarify → plan → build phase (≥3 clarifying questions, then a written plan gated on user approval, then implement; seeded from --accept) so each worker plans before it codes. A dump spanning several repos.md repos becomes one multi-repo task: create-task.sh forwards --add-repo PATH@origin/<base> (own isolated worktree per repo) / --add-dir PATH to task create, and the worker opens a separate PR per repo it changes (its result carries pr_urls). Worker↔flow coordination is event-driven over the inter-session message queue: a worker pushes message send --to flow --kind questions|plan|result (waking flow) with no ids (thurbox stamps sender + task from the injected THURBOX_SESSION/THURBOX_TASK); flow drains its inbox (message inbox --claim), surfaces the questions/plan under "Needs you", and relays the user's answer with message reply <message_id> — routed to that message's sender, so flow never maps a task to a session id (flow-snapshot.sh name-parsing is now human-board only). The worker drains its own inbox on the resulting inbox wake. Flow ships no scheduled automation — a manual tick is the janitor/safety-net (drain missed wakes, reset stale tasks, dispatch). The behavior spec is FLOW.md, surfaced to whichever CLI runs it via context-file symlinks (CLAUDE.md/AGENTS.md/GEMINI.mdFLOW.md). See extensions/flow/README.md.
  • extensions/forge/ (experimental) — a workflow analyst that mines your tasks/sessions/automations (and their run history) for recurring patterns and writes ready-to-apply thurbox-cli automation proposals. It proposes, never imposes: a scan (driven by a weekly forge-scan automation on the forge session) only reads state and writes proposals.jsonl (rendered to proposals.md); nothing is created until you apply <slug> — and proposals.sh apply refuses any command not starting with thurbox-cli. Spec: FORGE.md.
  • extensions/ci-shepherd/ (experimental) — watches your open change requests (GitHub PRs / GitLab MRs / Bitbucket PRs; repos in repos.md) and dispatches a shepherd-worker fixer for each one with failing CI, a changes-requested review, or a branch that is behind its target (needs rebase — the normalized rebase signal from provider.sh, surfaced as the REBASE action flag by scripts/classify.sh; dispatch-fix.sh --rebase makes the worker rebase onto the base and force-push before fixing). When several PRs in one repo are all REBASE-only, classify.sh serializes them — only the lowest-numbered keeps the live REBASE flag, the rest become REBASE-QUEUED (behind #n) — so the shepherd rebases one at a time (each merge advances the base for the next), clearing the stack in O(n) rebases instead of the O(n²) of force-pushing N mutually-invalidating branches. A shepherd session monitors via a shepherd-tick automation; fixers are thurbox tasks (fix #<n>: …) that self-report with the same ===RESULT=== sentinel as flow. It is forge-agnostic: only git is baked in; how to talk to a repo's host is decided by the shepherd agent each tick — built-in fast paths (github gh/gitlab glab/bitbucket REST via scripts/provider.sh) plus an agent-driven path for any other forge (provider.sh describe hands the agent the remote + installed clients; it lists the repo itself and passes --branch/--checkout-cmd/--feedback-cmd/ --comment-cmd to dispatch-fix.sh). Because thurbox's --worktree always runs git worktree add -b (which fails on an existing branch), dispatch-fix.sh adopts the request branch itself into a shepherd-owned worktree. It is also session-aware: the snapshot joins each request's head branch against the live thurbox-cli session list (scripts/link-sessions.sh, pure + bats-tested). A request whose branch already has a non-fixer thurbox session (someone working it by hand) is not dispatched (two worktrees would force-push the same branch) but is monitored and folded into the merge ordering — that live session counts as the repo's active worker, so the other same-repo requests queue behind it. While such a request stays actionable the shepherd nudges the live session over the message queue (thurbox-cli message send) to do the rebase/merge — once per pending ask (guarded by peeking its unread inbox), not every tick — so the slot actually clears. Spec: SHEPHERD.md.
  • extensions/renovate/ (experimental) — keeps local repos on up-to-date dependencies. A renovate session sweeps a repos.md watch list on a weekly renovate-tick automation and dispatches a renovate-worker per eligible repo; the worker runs Renovate's local platform only (scripts/renovate-run.sh hard-codes --platform=local — no hosted bot, no token, no Renovate-opened PR), tests the result, commits to a fresh renovate/updates-<ts> branch, and opens a review PR. Updaters are thurbox tasks (update <repo> deps …) that self-report with the same ===RESULT=== sentinel as flow. Unlike ci-shepherd it starts a new branch, so scripts/dispatch-update.sh uses thurbox's native --worktree (no branch adoption). Version strategy is per-repo (strategy column: patch/minor/ major/all, layered as a RENOVATE_CONFIG overlay) plus a global renovate-config.json. Spec: RENOVATE.md.
  • extensions/ui-skill/ (built-in, on by default) — the odd one out: it ships no session, no automation and no agent. It installs a single agent skill, thurbox-ui, into each coding CLI's personal skill directory (~/.claude/skills/, ~/.codex/skills/, ~/.config/opencode/skills/, ~/.copilot/skills/, ~/.agents/skills/ — each guarded by requires_dir, so a CLI the user does not have is skipped), so an agent in any session knows how to change thurbox's own interface. It replaces the workaround of attaching the interface directory to every session as an extra repo: a skill loads only when the request is about the TUI, where an extra repo is in front of the agent always. Like hooks it is embedded + auto-activated (see below) — for the same reason: someone who does not already know the interface is editable will not go looking for the extension that says so. Opt out with thurbox-cli extension deactivate ui-skill. The payload is one SKILL.md — the short form of ui/AGENTS.md + ui/README.md — and it hard-codes no paths, opening with thurbox-cli plugin dir so one file is correct for a release build, a dev build and a THURBOX_UI_DIR override alike. Delivery is the ordinary [[external_files]] machinery, marker-guarded: install/update/uninstall act on thurbox's own copies and leave one the user has taken ownership of alone (drop the Managed by line and it is theirs), while reinstall and install --force overwrite as they do everywhere else.

Removed. Four per-provider task-integration extensions (github-issues, gitlab-issues, linear, jira) lived here and were deleted: four near-identical trees, each carrying a provider's API shape, for a job that is a curl and an upsert. What made them possible is still in the binary and is deliberately provider-neutral (ADR-20 — no provider name in the binary): the task --source/--external-id/--external-url flags, get_task_by_external_id, the idx_tasks_external index, and the Exec automation action. A scheduled Exec running a script of your own does what they did.

Read the full file on GitHub · 185 lines

Changes

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.

  1. 4d ago First seen · 185 lines · 0 tokens per session scan A 9af0519705a6

Subscribe to this mod's changes

thurbox-extensions is a skill published in the GitHub repository Thurbeen/thurbox (57 stars, last pushed 4d ago), licensed MIT. It adds 101 tokens to every session and 3,409 once invoked, about $0.0005 per session on Opus 5. A static security scan graded it A with 1 finding (makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.

Related

Other skills, from other repositories

systematic-debugging

Use when encountering any bug, test failure, or unexpected behavior, before proposing fixes.

obra/superpowers · 21 tokens

brainstorming

You MUST use this before any creative work - creating features, building components, adding functionality, or modifying behavior. Explores user intent, requirements and design before implementation.

obra/superpowers · 37 tokens

auto-perf-optimize

Run agent-driven VS Code performance or memory investigations. Use when asked to launch Code OSS, automate a VS Code scenario, run the Chat memory smoke runner, capture renderer heap snapshots, take workflow screenshots, compare run summaries, or drive a repeatable scenario before heap-snapshot analysis.

microsoft/vscode · 62 tokens

chat-perf

Run chat perf benchmarks and memory leak checks against the local dev build or any published VS Code version. Use when investigating chat rendering regressions, validating perf-sensitive changes to chat UI, or checking for memory leaks in the chat response pipeline.

microsoft/vscode · 51 tokens

chat-pet-sprite-creation

Use when creating or changing VS Code chat pet sprite art, sprite sheets, state animations, eye treatments, Stable/Insiders variants, or pet transitions under src/vs/workbench/contrib/chat/browser/widget/media/chatPet.

microsoft/vscode · 53 tokens

cpu-profile-analysis

Analyze V8/Chrome CPU profiles (.cpuprofile) and DevTools trace files (Trace-.json). Use when: profiling performance, investigating slow functions, comparing code paths, finding bottlenecks, analyzing timeToRequest, understanding call trees from sampling profiler data, analyzing layout/paint/rendering, investigating…

microsoft/vscode · 71 tokens