Not in the top 1,000 by GitHub stars

ToRvaLDz/trailhead

Chart a project from a loose idea, then navigate it ticket by ticket on GitHub Issues.

History

Review weekly changes to SKILL.md before updating. Dates mark the weeks in which we observed each version; checks apply to the recorded commits.

View weekly changes

plugins/trailhead/skills/trailhead/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Not checked yet → After Network or broad shell

b5162162ff75 → 732fba710c13

Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Not checked yet

First observation → b5162162ff75

No earlier version was observed for comparison.

Compare on GitHub

plugins/trailhead/skills/trailhead-capture/SKILL.md

Week of Nov 2, 2026 · +2 / −4 lines

Before Not checked yet → After Network or broad shell

b5162162ff75 → 732fba710c13

Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Not checked yet

First observation → b5162162ff75

No earlier version was observed for comparison.

Compare on GitHub

plugins/trailhead/skills/trailhead-chart/SKILL.md

Week of Nov 2, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

b5162162ff75 → 732fba710c13

A local comparison is unavailable. You can inspect the recorded versions on GitHub.

Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Not checked yet

First observation → b5162162ff75

No earlier version was observed for comparison.

Compare on GitHub

plugins/trailhead/skills/trailhead-manage/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Not checked yet → After Network or broad shell

b5162162ff75 → 732fba710c13

Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Not checked yet

First observation → b5162162ff75

No earlier version was observed for comparison.

Compare on GitHub

plugins/trailhead/skills/trailhead-view/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Not checked yet → After Network or broad shell

b5162162ff75 → 732fba710c13

Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Not checked yet

First observation → b5162162ff75

No earlier version was observed for comparison.

Compare on GitHub

plugins/trailhead/skills/trailhead-work/SKILL.md

Week of Nov 2, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

b5162162ff75 → 732fba710c13

A local comparison is unavailable. You can inspect the recorded versions on GitHub.

Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Not checked yet

First observation → b5162162ff75

No earlier version was observed for comparison.

Compare on GitHub

View on GitHubAdd to my skills

Verified commit 732fba710c131260fc27d93e67e2b788826fdff7

git clone --filter=blob:none --no-checkout https://github.com/ToRvaLDz/trailhead.git .hotskills/torvaldz-trailhead && git -C .hotskills/torvaldz-trailhead checkout --detach 732fba710c131260fc27d93e67e2b788826fdff7 # Copy each selected skill directory from .hotskills/torvaldz-trailhead into .claude/skills/<skill-name>/
25GitHub stars
-5stars in 7 days
6skills in this repository
826commits in 30 days

Heat

1.6
  • Star growth, last 7 daysNot available
  • Star growth, last 24 hoursNot available
  • Rank movement, last 7 daysNot available
  • Commits, last 30 daysNot available
  • Accounts asking about it through MCP, last 7 daysNot available
  • Hot votes this weekNot available

Heat never changes the order by stars, and sponsorship never touches it. How heat works

Stars over time

Oct 25, 2026Nov 4, 202632

30-day change not yet available: not enough history.

Individual skills in this repository

How it works

trailhead

When your agent uses it

Start and drive a large project (more than one agent session can hold) as a map of decision tickets on GitHub Issues, resolving one at a time until the way to the destination is clear. Self-contained (zero external-plugin dependencies: trailhead ships its own `trailhead-*` engine agents and needs only an authenticated gh CLI): map-based onboarding and a discuss→plan→execute→verify engine with atomic commits, with everything (map, discussion, plan, verification) living on the Issues. Invoke only when the user explicitly runs `/trailhead` (or a `/trailhead:<verb>` command) or asks to chart, adopt, or work a trailhead map, and do not auto-invoke for generic planning, project, or task-tracking requests.

What it loads into context

Frontmatter

226 tokens

Always available to the agent

SKILL.md

1,876 tokens

When the skill is activated

Reference documents

72,794 tokens

Loaded on request

Token counts are estimates. Scripts run separately; they are not counted as reference context.

The playbook

  1. Load first, in order
  2. Routing: verb to engine
  3. Smart entry (bare `/trailhead`)

Scripts executed separately

  • ../../types/index.d.ts

Files

  • ../../../../.claude-plugin/marketplace.jsonasset785 bytes
  • ../../.claude-plugin/plugin.jsonasset988 bytes
  • ../../hooks/hooks.jsonasset1,227 bytes
  • ../../hooks/hooks.jsonasset1,227 bytes
  • ../../hooks/hooks.jsonasset1,227 bytes
  • ../../hooks/hooks.jsonasset1,227 bytes
  • ../../hooks/hooks.jsonasset1,227 bytes
  • ../../hooks/hooks.jsonasset1,227 bytes
  • ../_shared/load-first.mddoc4,631 bytes
  • ../_shared/substrate-commands.mddoc31,677 bytes
  • ../_shared/substrate.mddoc21,060 bytes
  • ../trailhead-capture/SKILL.mddoc2,360 bytes
  • ../trailhead-capture/references/capture.mddoc14,196 bytes
  • ../trailhead-chart/SKILL.mddoc9,103 bytes
  • ../trailhead-chart/references/charting.mddoc16,393 bytes
  • ../trailhead-chart/references/inbox.mddoc7,234 bytes
  • ../trailhead-manage/SKILL.mddoc4,423 bytes
  • ../trailhead-manage/references/auditing.mddoc28,098 bytes
  • ../trailhead-manage/references/pruning.mddoc5,844 bytes
  • ../trailhead-manage/references/updating.mddoc5,506 bytes
  • ../trailhead-view/SKILL.mddoc19,338 bytes
  • ../trailhead-work/SKILL.mddoc38,313 bytes
  • ../trailhead-work/references/auto.mddoc43,907 bytes
  • ../trailhead-work/references/executor-brief.mddoc3,661 bytes
  • ../trailhead-work/references/ticket-engines.mddoc43,572 bytes
  • SKILL.mdcore7,501 bytes
  • ../../types/index.d.tsruns6,340 bytes
Read SKILL.md

`trailhead` charts a large project as a **shared map on GitHub Issues**, then works its **tickets** one at a time until the way to the destination is clear. This skill is the **entry point**: bare `/trailhead` runs **smart entry** (detect the repo state and propose the next move); a verb runs that verb's engine. Everything lives on the Issues; the repo holds code only.

## Load first, in order

Before doing anything, load `<skill base>/../_shared/load-first.md` and follow it: the shared-core load contract (the six core files, in order, then the effective config). `<skill base>` is this skill's **base directory** (Claude Code prints it as `Base directory for this skill:` when the skill loads; on another host, the directory holding this `SKILL.md`): resolve the path to an **absolute path** and open it with the **Read tool** on that absolute path. Never `cd` into a skills directory and never read a relative path from the shell (a `cd` compound followed by a read is denied by the search guard). The same rule covers every later `../_shared/...` or `references/...` path in this skill: resolve it against the base directory to an absolute path before reading. `_shared/` is a **sibling** of this cluster's own directory (at `../_shared/`), never a child of it; its absence from a listing of the cluster dir is expected, not a missing core.

## Routing: verb to engine

The **first word** of the arguments is the verb; the rest is the text or a ticket number. `/trailhead <verb>` and `/trailhead:<verb>` are equivalent.

- **No verb** to **smart entry** (below): this skill handles it directly.
- **A verb** to hand off to the skill that owns it, passing the whole argument string. **The skill-split migration ([map #53](https://github.com/ToRvaLDz/trailhead/issues/53)) lands the cluster skills one at a time.** The **chart cluster is built (#59)**: `new`, `adopt`, `ticket`, `inbox`, and `grill` route to the **`trailhead-chart`** skill (call the Skill tool with skill name `trailhead-chart` and arguments `<verb> <rest>`). The **work cluster is built (#60)**: `work`, `quick`, `pause`, `resume`, `split`, and `auto` route to the **`trailhead-work`** skill (call the Skill tool with skill name `trailhead-work` and arguments `<verb> <rest>`). The **view cluster is built (#61)**: `map`, `dashboard`, and `whiteboard` route to the **`trailhead-view`** skill (call the Skill tool with skill name `trailhead-view` and arguments `<verb> <rest>`). The **capture cluster is built (#62)**: `bug`, `todo`, `idea`, `seed`, and `note` route to the **`trailhead-capture`** skill (call the Skill tool with skill name `trailhead-capture` and arguments `<verb> <rest>`). The **manage cluster is built (#63)**: `config`, `update`, `prune`, and `audit` route to the **`trailhead-manage`** skill (call the Skill tool with skill name `trailhead-manage` and arguments `<verb> <rest>`). The **`panel`** verb routes to no skill: it is answered by the trailhead mod on Claude Code 2.1.287+ (`/trailhead:panel` opens or closes the live map panel), and where no mod answers, say in one line that the panel is not available in this session. Then carry out the target skill's instructions.
- **Unrecognised verb** to treat the whole string as `idea` (route to `trailhead-capture` as `idea <text>`).
View the complete source on GitHub

Skills included

  • trailhead
  • trailhead-capture
  • trailhead-chart
  • trailhead-manage
  • trailhead-view
  • trailhead-work

Repository facts

License
MIT
Created
Aug 18, 2026
Last pushed
Nov 5, 2026
Forks
3
Open issues
9
Project activity
Active

Before you install

Network or broad shell

Automated signals, not a guarantee

Checked Nov 6, 2026

Not fully analyzed: some files were too long, unreadable or missing. This never lowers the level.

Show 71 notes
  • plugins/trailhead/hooks/hooks.json:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • plugins/trailhead/hooks/hooks.json:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • plugins/trailhead/hooks/hooks.json:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • plugins/trailhead/hooks/hooks.json:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • plugins/trailhead/hooks/hooks.json:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • plugins/trailhead/skills/_shared/substrate.md:12 Analysis incomplete: physical or joined line exceeds character limit
  • plugins/trailhead/skills/_shared/substrate.md:13 Analysis incomplete: physical or joined line exceeds character limit
  • plugins/trailhead/skills/trailhead-chart/references/charting.md:9 Analysis incomplete: physical or joined line exceeds character limit
  • plugins/trailhead/skills/trailhead-chart/references/charting.md:10 Analysis incomplete: physical or joined line exceeds character limit
  • plugins/trailhead/skills/trailhead-chart/references/charting.md:11 Analysis incomplete: physical or joined line exceeds character limit
  • plugins/trailhead/skills/trailhead-work/SKILL.md:53 Analysis incomplete: physical or joined line exceeds character limit
  • plugins/trailhead/skills/trailhead-work/SKILL.md:54 Analysis incomplete: physical or joined line exceeds character limit
  • plugins/trailhead/skills/trailhead-work/SKILL.md:58 Analysis incomplete: physical or joined line exceeds character limit
  • plugins/trailhead/skills/trailhead-work/SKILL.md:59 Analysis incomplete: physical or joined line exceeds character limit
  • plugins/trailhead/skills/trailhead-work/SKILL.md:60 Analysis incomplete: physical or joined line exceeds character limit
  • plugins/trailhead/skills/trailhead-work/SKILL.md:65 Analysis incomplete: physical or joined line exceeds character limit
  • plugins/trailhead/skills/trailhead-work/references/auto.md:21 Analysis incomplete: physical or joined line exceeds character limit
  • plugins/trailhead/skills/trailhead-work/references/auto.md:19 Analysis incomplete: physical or joined line exceeds character limit
  • plugins/trailhead/skills/trailhead-work/references/auto.md:20 Analysis incomplete: physical or joined line exceeds character limit
  • plugins/trailhead/skills/trailhead-work/references/ticket-engines.md:34 Analysis incomplete: physical or joined line exceeds character limit
Show all 35 signals by file

.claude-plugin/marketplace.json

  • Network accessline 3
    "owner": {     "name": "Marco Migozzi",     "url": "https://github.com/ToRvaLDz"
  • Network accessline 4
    "name": "Marco Migozzi",     "url": "https://github.com/ToRvaLDz"   },
  • Network accessline 5
    "url": "https://github.com/ToRvaLDz"
  • Network accessline 17
    "name": "Marco Migozzi"       },       "homepage": "https://github.com/ToRvaLDz/trailhead",
  • Network accessline 18
    },       "homepage": "https://github.com/ToRvaLDz/trailhead",       "repository": "https://github.com/ToRvaLDz/trailhead",
  • Network accessline 19
    "homepage": "https://github.com/ToRvaLDz/trailhead",
  • Network accessline 20
    "repository": "https://github.com/ToRvaLDz/trailhead",

plugins/trailhead/.claude-plugin/plugin.json

  • Network accessline 5
    "author": {     "name": "Marco Migozzi",     "url": "https://github.com/ToRvaLDz"
  • Network accessline 6
    "name": "Marco Migozzi",     "url": "https://github.com/ToRvaLDz"   },
  • Network accessline 7
    "url": "https://github.com/ToRvaLDz"
  • Network accessline 8
    },   "homepage": "https://github.com/ToRvaLDz/trailhead",   "repository": "https://github.com/ToRvaLDz/trailhead",
  • Network accessline 9
    "homepage": "https://github.com/ToRvaLDz/trailhead",
  • Network accessline 10
    "repository": "https://github.com/ToRvaLDz/trailhead",

plugins/trailhead/skills/_shared/configuration-reference.md

  • Network accessline 8
    | `models.codex.{plan,execute,research,review,debug,verify,codebase-map,grill}` | an OpenAI model id (**inherit session**) | per-activity subagent model on **Codex** (OpenAI ids), the honoured namespace there; independent of `models.*` (Cla
  • Network accessline 8
    | `models.codex.{plan,execute,research,review,debug,verify,codebase-map,grill}` | an OpenAI model id (**inherit session**) | per-activity subagent model on **Codex** (OpenAI ids), the honoured namespace there; independent of `models.*` (Cla
  • Network accessline 9
    | `ticket.language` | an ISO 639-1 code (**`en`**) | the language trailhead **writes** its GitHub prose in (ticket titles/bodies, engine comments, map body & commit descriptions), see note. Independent of the language the agent converses in
  • Network accessline 9
    | `ticket.language` | an ISO 639-1 code (**`en`**) | the language trailhead **writes** its GitHub prose in (ticket titles/bodies, engine comments, map body & commit descriptions), see note. Independent of the language the agent converses in
  • Network accessline 10
    | `design` | **`disk`** \| `artifacts` \| `stitch` | mode for UI mockups (**Prototype**). `disk` = throwaway local HTML (any host); `artifacts` = build the mockup as a **Design canvas Artifact** on claude.ai through Claude Code's built-in `
  • Network accessline 10
    | `design` | **`disk`** \| `artifacts` \| `stitch` | mode for UI mockups (**Prototype**). `disk` = throwaway local HTML (any host); `artifacts` = build the mockup as a **Design canvas Artifact** on claude.ai through Claude Code's built-in `
  • Access to secretsline 28
    [Credential-related source omitted]
  • Access to secretsline 28
    [Credential-related source omitted]

plugins/trailhead/skills/_shared/substrate.md

  • Access to secretsline 3
    [Credential-related source omitted]
  • Access to secretsline 3
    [Credential-related source omitted]
  • Access to secretsline 3
    [Credential-related source omitted]
  • Access to secretsline 3
    [Credential-related source omitted]

plugins/trailhead/skills/trailhead-capture/references/capture.md

  • Access to secretsline 41
    [Credential-related source omitted]
  • Access to secretsline 41
    [Credential-related source omitted]
  • Access to secretsline 41
    [Credential-related source omitted]

plugins/trailhead/skills/trailhead-manage/references/updating.md

  • Dangerous shell operationline 13
    rm -f "${XDG_CACHE_HOME:-$HOME/.cache}/trailhead/update-check.json"   # force a fresh check (bypass the 6h throttle)
  • Dangerous shell operationline 13
    rm -f "${XDG_CACHE_HOME:-$HOME/.cache}/trailhead/update-check.json"   # force a fresh check (bypass the 6h throttle)

plugins/trailhead/skills/trailhead-work/references/auto.md

  • Dangerous shell operationline 29
    - a **delete / force** (`git push --force`, `rm -rf` of tracked work, a force-delete of a branch or remote ref);
  • Dangerous shell operationline 29
    - a **delete / force** (`git push --force`, `rm -rf` of tracked work, a force-delete of a branch or remote ref);

plugins/trailhead/skills/trailhead/SKILL.md

  • Network accessline 17
    - **No verb** to **smart entry** (below): this skill handles it directly. - **A verb** to hand off to the skill that owns it, passing the whole argument string. **The skill-split migration ([map #53](https://github.com/ToRvaLDz/trailhead/is
  • Network accessline 18
    - **A verb** to hand off to the skill that owns it, passing the whole argument string. **The skill-split migration ([map #53](https://github.com/ToRvaLDz/trailhead/issues/53)) lands the cluster skills one at a time.** The **chart cluster is

plugins/trailhead/types/index.d.ts

  • Executable scriptline 1
    Executable file

How the signals fit together

Facts from a static read of the files at the pinned commit. They describe what the code does, not why.

Some files could not be read; the facts below still hold.

Signal confidence: 22 facts

Works with

Agent compatibility, from the files in this repository
AgentStatusEvidenceInstall to
Claude CodeNativeManifest .claude-plugin/marketplace.json.claude/skills/<skill-name>/
CodexCompatibleStandard SKILL.md plugins/trailhead/skills/trailhead/SKILL.md.agents/skills/<skill-name>/
CursorCompatibleStandard SKILL.md plugins/trailhead/skills/trailhead/SKILL.md.cursor/skills/<skill-name>/
Gemini CLICompatibleStandard SKILL.md plugins/trailhead/skills/trailhead/SKILL.md.gemini/skills/<skill-name>/
GitHub CopilotCompatibleStandard SKILL.md plugins/trailhead/skills/trailhead/SKILL.md.github/skills/<skill-name>/
OpenCodeCompatibleStandard SKILL.md plugins/trailhead/skills/trailhead/SKILL.md.opencode/skills/<skill-name>/
  • Native The repository ships a manifest, folder or frontmatter field for this agent.
  • Compatible A standard SKILL.md that this agent can read.
  • Unknown No evidence either way.

Derived automatically from paths, manifests and frontmatter. Not tested on each agent.