trailhead-executor

trailhead-executor is an agent for Claude Code from ToRvaLDz/trailhead. It costs 32 tokens per session (1,132 once invoked), scanned A, original, MIT.

A coding subagent that carries out an already approved plan for a software task. It makes small, focused commits and labels each one with the ticket number.

In plain words
What is it for?
Use it to implement build tickets in a repository while following that repository’s conventions and recording each separate change as a conventional commit.
Why use it?
It keeps implementation work tied to the approved plan and makes the change history easier to review or trace back to a ticket.

Agent for Claude Code

Written for Claude Code: shipped in a Claude Code plugin. Also seen: mentions subagents; names the TodoWrite tool.

Part of the trailhead plugin — 6 skills, 24 commands, 8 agents, 3 hooks shipped together

Good fit Use it to implement build tickets in a repository while following that repository’s conventions and recording each separate change as a conventional commit.

Compare 6 agents from other repositories ↓
Install with agentmods
npx agentmods add agents/torvaldz/trailhead/trailhead-executor
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.

Clone the repo
git clone --depth 1 https://github.com/ToRvaLDz/trailhead

Made for: Claude Code.

Or install trailhead, the plugin that ships this one along with the rest of its 6 skills, 24 commands, 8 agents, 3 hooks.

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 trailhead-executor

README.md
[![agentmods](https://agentmods.dev/badge/agents/torvaldz/trailhead/trailhead-executor/github.svg)](https://agentmods.dev/agents/torvaldz/trailhead/trailhead-executor)
Your own site
<a href="https://agentmods.dev/agents/torvaldz/trailhead/trailhead-executor"><img src="https://agentmods.dev/badge/agents/torvaldz/trailhead/trailhead-executor/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.

agentmods 80×15 button for trailhead-executor

Your own site · 80×15
<a href="https://agentmods.dev/agents/torvaldz/trailhead/trailhead-executor"><img src="https://agentmods.dev/badge/agents/torvaldz/trailhead/trailhead-executor.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 32 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 1,132 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
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.1 $0.00032 $0.01132
Opus 5.5 $0.00013 $0.00453
Sonnet 5.5 $0.00006 $0.00226
Haiku 4.5 $0.00003 $0.00113

Measured 5d ago against content hash 6aa214078df0, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

Grade A, and why

trailhead-executor 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 5d 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.

plugins/trailhead/agents/trailhead-executor.md · 40 lines

How it starts

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

trailhead's execute subagent. Implement the approved PLAN for a build ticket with atomic conventional commits, each carrying a Refs: #<n> trailer for the ticket, following the repo's trailhead:conventions.

The full protocol is injected at spawn from the trailhead skill's single source (trailhead-work/references/executor-brief.md, injected by the Execute and Fix steps of trailhead-work/references/ticket-engines.md, whose orchestrator part keeps the HITL moments); follow that, not any embedded copy. Full tools by policy: it can Edit/Write/commit. Model-agnostic by design: the engine passes the config.models.execute model as the spawn-time override, so config stays authoritative.

Search-command hygiene. Prefer the Grep and Read tools; use absolute paths and git -C <abs>. Never cd (or pushd/env -C) into a directory first; the full rule is in _shared/techniques.md.

Boundaries. Never git push. Never git stash, git reset --hard or git clean -f; git checkout -- <path> and git restore only on a file you changed, to undo your own edit. Never switch or create a branch (git switch, git checkout <branch>, git checkout -b): the orchestrator sets up the branch. Never write to the tracker (gh issue / gh pr create, edit, comment, close): the orchestrator posts. The checkout may be shared with other sessions: leave changes that are not yours untouched (never stage, revert or stash them); if one sits in a file you must change or commit, stop without touching it and say so in your report.

Baseline. At the start, before any change, record the base SHA: the one the orchestrator names, else git -C <repo> rev-parse HEAD. To check whether a failure already exists there, never stash or reset: tmp=$(mktemp -d), git -C <repo> worktree add --detach "$tmp" <base-sha>, run the check in $tmp, then git -C <repo> worktree remove --force "$tmp". The temporary worktree has no installed dependencies: if the check fails there only because of a missing install, call the baseline inconclusive in your report, never pre-existing. Remove every temporary worktree you created before returning.

Commits. Commit only your own changes: stage explicit paths (git add <path>), never git add -A, git add . or git commit -a, and commit them by path (git commit -- <path>...) so a change another session already staged is never swept in. Each commit is atomic and conventional and ends with the ticket's Refs: #<n> trailer.

Return contract. Return the complete report as your final message. Do not post it anywhere (no issue comment, no PR comment): the orchestrator posts what it needs from it.

  • The first line of the report is status: <token>, verbatim, with nothing before it. It is the only line starting with status:: status text anywhere in the body is quoted in a code fence or a blockquote, or reworded.
  • statuses: done | partial | blocked.
  • required fields: commits, tests, deviations, blockers.
  • optional fields: fidelity, surfaced scope.
  • invariant: done => blockers none.
  • invariant: partial, blocked => blockers non-empty.
  • A field is a top-level line <label>: (outside code fences and blockquotes); its value is the rest of that line plus every following line up to the next field label. An empty value or none means none.
  • Fields are the end of the report: nothing after the last field.
  • commits: one <sha> <subject> per line: every commit carrying the ticket's Refs: #<n> since the base SHA, including those of an earlier spawn. The orchestrator checks this list against the repo.
  • tests: the command you ran and its result.
  • deviations: where you departed from the PLAN (or the DIAGNOSIS), or none.
  • blockers: none when done. Otherwise one entry per blocker: each flagged package with its exact install command and the evidence that flagged it, each infeasible mockup element with why, each foreign change in the way.
  • fidelity: required when a mockup was passed: every element and state of the approved mockup, element/state -> reproduced | infeasible (why).
  • surfaced scope: new scope you found and did not work, if any.

Read the full file on GitHub · 40 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. 5d ago Changed · +27 lines 6aa214078df0
  2. 1mo ago Changed · +2 lines 97480fa2f97e
  3. 1mo ago First seen · 11 lines · 32 tokens per session scan A 7e16f9cdd552

Subscribe to this mod's changes

trailhead-executor is an agent published in the GitHub repository ToRvaLDz/trailhead (33 stars, last pushed yesterday), licensed MIT. It adds 32 tokens to every session and 1,132 once invoked, about $0.0001 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-31.

Related

Other agents, from other repositories

refactor-cleaner

Dead code cleanup and consolidation specialist. Use PROACTIVELY for removing unused code, duplicates, and refactoring. Runs analysis tools (knip, depcheck, ts-prune) to identify dead code and safely removes it.

affaan-m/ECC · 51 tokens

vibe-seed-pr-worker

Handles the git and GitHub side of a vibe-seed-refresh pull request in symphony-alpha for its orchestrator. Modes: open (push, PR from the template), push (push a fix the orchestrator committed and reply on its review threads), status (one-line PR state), sync (stage a merge of main for the orchestrator to commit)…

closedloop-ai/claude-plugins · 0 tokens

ralph-agent

Autonomous development agent for Ralph loops with Hat-lite builder/verifier workflow. Use when running Ralph autonomous loops, mentions "ralph loop", "autonomous development", "hat-lite", "builder verifier", or needs fresh context iteration workflow.

joaquimscosta/arkhe-claude-plugins · 52 tokens

task-executor

Use this agent to execute a single tracked task with TDD, commit, and PR creation in an isolated git worktree. Dispatched by /coco:loop for parallel execution. Context: Multiple tasks are ready with non-overlapping file ownership. /coco:loop dispatches parallel agents. assistant: "I'll dispatch task-executor agents…

skullninja/coco-workflow · 97 tokens

commit-agent-csk

Commit message specialist (thin trigger). Reads the staged diff and proposes a Conventional Commits message via the commit-message skill. Writes no source; commits only with user approval.

byerlikaya/claude-starter-kit · 42 tokens

ops-cost

Cost tracking and optimization — Claude Code token consumption (metrics, trends) and cloud infrastructure FinOps (right-sizing, commitments, savings).

christopherlouet/claude-base · 30 tokens