Capture
alirezarezvani/claude-skills
Captures and organizes chaotic brain dumps into a structured, actionable system with zero information loss.
A skill your agent uses when turning a captured human demonstration (a Trailblaze App demonstration bundle: demo.yaml + actions.ndjson + per-action screenshots and view hierarchies) into a durable…
$ npx skills add block/trailblaze --skill trailblaze-author -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install block/trailblaze trailblaze-author --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/block/trailblaze.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/trailblaze-author .claude/skills/trailblaze-author && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "trailblaze-author" agent skill from https://github.com/block/trailblaze/tree/main/skills/trailblaze-author into .claude/skills/trailblaze-author/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "trailblaze-author", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/block/trailblaze/tree/main/skills/trailblaze-authorType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add block/trailblaze --skill trailblaze-author -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install block/trailblaze trailblaze-author --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/block/trailblaze.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/trailblaze-author .agents/skills/trailblaze-author && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "trailblaze-author" agent skill from https://github.com/block/trailblaze/tree/main/skills/trailblaze-author into .agents/skills/trailblaze-author/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "trailblaze-author", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add block/trailblaze --skill trailblaze-author -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install block/trailblaze trailblaze-author --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/block/trailblaze.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/trailblaze-author .cursor/skills/trailblaze-author && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "trailblaze-author" agent skill from https://github.com/block/trailblaze/tree/main/skills/trailblaze-author into .cursor/skills/trailblaze-author/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "trailblaze-author", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/block/trailblaze.git --path skills/trailblaze-author--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add block/trailblaze --skill trailblaze-author -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install block/trailblaze trailblaze-author --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/block/trailblaze.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/trailblaze-author .gemini/skills/trailblaze-author && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "trailblaze-author" agent skill from https://github.com/block/trailblaze/tree/main/skills/trailblaze-author into .gemini/skills/trailblaze-author/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "trailblaze-author", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install block/trailblaze trailblaze-authorInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add block/trailblaze --skill trailblaze-author -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/block/trailblaze.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/trailblaze-author .github/skills/trailblaze-author && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "trailblaze-author" agent skill from https://github.com/block/trailblaze/tree/main/skills/trailblaze-author into .github/skills/trailblaze-author/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "trailblaze-author", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add block/trailblaze --skill trailblaze-author -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install block/trailblaze trailblaze-author --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/block/trailblaze.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/trailblaze-author .opencode/skills/trailblaze-author && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "trailblaze-author" agent skill from https://github.com/block/trailblaze/tree/main/skills/trailblaze-author into .opencode/skills/trailblaze-author/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "trailblaze-author", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
trailblaze-authorA skill your agent uses when turning a captured human demonstration (a Trailblaze App demonstration bundle: demo.yaml + actions.ndjson + per-action screenshots and view hierarchies) into a durable…
Trailblaze Author is an agent skill from block/trailblaze, published by the product's own GitHub organization. Use when turning a captured human demonstration (a Trailblaze App demonstration bundle: demo.yaml + actions.ndjson + per-action screenshots and view hierarchies) into a durable, independently runnable Trailblaze trail. Trigger when a prompt hands you a demonstration bundle directory and asks you to author, generate, or produce the trail for it - or to add another platform's recordings to an existing trail from a new demonstration.
Its SKILL.md is about 2.8k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
The repository describes itself as: 🥾 AI-Driven UI Testing Framework with Recorded Trails. The licence is Apache-2.0.
4 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit ec49f40. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md.
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Trailblaze Author loads about 2.8k tokens when it runs. Until then it costs about 113 tokens; SKILL.md has 1,541 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from block/trailblaze at commit ec49f40, republished under its Apache-2.0 licence (© block). 1,541 words, ~2,755 tokens.
.claude/skills/trailblaze-author/SKILL.md (or your agent's skills folder).A human demonstrated a flow on a live device. Every interaction was captured with evidence. Your job is to produce a trail that runs on its own: deterministic where possible, resilient where the screen is dynamic, and proven by you actually running it before you call it ready. You are not transcribing clicks; you are authoring a test that validates what the human said they were validating.
Work in explicit phases, in order. Do not skip the audit passes and
do not claim ready without a passing verification run.
The launching prompt gives you the bundle directory. A bundle holds
ONE platform's demonstration - bundles are keyed by platform (the
directory is named like demos/iphone/, demos/android/,
demos/android-tablet/), and sibling platform bundles from earlier
sessions may sit beside it. Inside:
| File | What it is |
|---|---|
demo.yaml | Manifest: target, platform, device classifiers, the trailhead the human picked (name + args) or manual: true, and the human's stated objective + notes. |
actions.ndjson | One JSON line per interaction, in order. phase: "setup" lines are how the human positioned the app before pressing Start; phase: "step" lines are the demonstrated flow itself. Each line carries the gesture (kind, coordinates or text), the hit-tested element, recorded tool YAML, ranked selector candidates, and evidence file names. |
start-state.png / start-state-hierarchy.txt | The screen at the moment the human pressed Start. This is what the trailhead must reach. |
<seq>-before.png, <seq>-after.png, <seq>-*-hierarchy.txt | Per-action evidence. The hierarchy text has one line per element: bounds, type, label, id, interactive flag. |
events/*.ndjson, network.ndjson | Captured app event streams and network traffic, when available. Each line has timeMs; correlate to actions by time window (between one action's timeMs and the next). |
Prefer the Trailblaze CLI and its MCP tools over shell spelunking. To learn
what a target supports or how a selector resolves, drive the CLI (and the MCP
device tools) and read this skill's references/, rather than grepping the
framework source. When you do need to explore the codebase or read many files
at once, hand that read-only legwork to a cheaper-model subagent and keep the
authoring and verification on yourself.
After every change you make to a trail file, emit a trail_output so the
Trailblaze App can show the current file. Tool calls that need a human decision pause
in Trailblaze App until the human approves them, so a slow tool call is waiting on
a person, not hung; keep working the plan and it will resume once approved.
demo.yaml and all of actions.ndjson first. Reconstruct the
story in one or two sentences: where the flow starts, what the human
did, what the objective says it validates.start-state-hierarchy.txt and the before/after hierarchy
of each step action. You need these to ground selectors and to
pick assertions later; do not author from screenshots alone.timeMs and note
which steps fired meaningful app events. These tell you what the
app itself considered to have happened; use them to decide what is
worth asserting on screen.Write a unified-format trail: config: + trailhead: + trail:.
Read one existing unified trail from the library for the exact schema
before writing yours. The trailhead is a first-class block, never an
ordinary first step.
Trailhead:
demo.yaml names a picked trailhead, use it verbatim (name +
args) as the trailhead: recording for the demonstrated platform.setup actions. Prefer a
durable route: if the target's trailmap has a deeplink-style or
bootstrap trailhead tool that reaches the observed start state,
use it (check the toolbox before naming any tool - never invent
one). Only if nothing durable exists, write the trailhead as a
descriptive step ("Start at <screen>") so agent-mode execution can
reach it, and say so in your final summary - it is a weakness the
human should know about.One trail step per demonstrated action, plus assertions:
recording: for the demonstrated platform's classifier comes
from the action's recorded tool YAML and ranked selector candidates.
Apply the selector rules below; do not blindly copy the default.verify: true steps at the checkpoints where the objective
is actually proven (usually after the last action, often mid-flow
too). Each verify step asserts a proof point from Phase 1, grounded
in an element you saw in the captured hierarchy - typically a
recorded visibility assertion on that element plus step text that
states the expectation in plain language.Selector rules (durability order):
Save matches only
a node whose text is exactly Save. To match a substring write the
regex explicitly: .*Save.*..*\$\d+\.\d\d.* style regex, or assert the stable neighboring
label instead.\Q...\E escaping the recorder emitted; it exists because
the value contains regex metacharacters.Selector audit. For every step, check the selector against the captured hierarchies: is it unique on the screen where it fires (the before-hierarchy of its own action)? Does it accidentally also match something on an earlier screen (which would break a retry or a slow transition)? Tighten anything ambiguous.
Validation audit. Re-read the human's objective, then read your draft top to bottom and answer: if every step passes, is the objective actually proven, or did the trail merely navigate? Add or strengthen verify steps until the answer is yes. Also check the opposite: remove assertions on incidental content that would make the trail fail for reasons unrelated to the objective. Test the what, not the how.
Run the trail yourself with the trail MCP tool, action=RUN, against
the same device. This executes the recorded steps deterministically,
runs the trailhead first, and returns per-step pass/fail.
When the launching prompt says the trail already exists and names the platform being added, you are extending it, not re-authoring it:
recording: for the new platform's classifier,
built from this bundle's demonstrated actions under the same selector
rules. Leave every other platform's recordings untouched.Write the trail into the destination folder the launching prompt gave you, then declare the result with exactly one standalone line:
TRAILRUNNER_UI {"version":1,"action":"trail_output","trailId":"0/<area>/<slug>","message":"<one line: what the trail validates and its verification status>","params":{"status":"ready","files":"<files you wrote>"}}status:"ready" is allowed ONLY after a verification run passed in
this conversation. Otherwise emit status:"draft" and say plainly
in message what still fails and why.© block, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in skills/trailblaze-author of block/trailblaze.
Open the folder on GitHubat commit ec49f40
Trailblaze Author next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Trailblaze Author this skillblock/trailblaze | 321 | — | ~2.8k | Automated safety check: Pass | Apache-2.0 | |
| Capturealirezarezvani/claude-skills | 28k | 1 repos | ~2.8k | Automated safety check: Pass | MIT | |
| Hermes Agent Skill AuthoringNousResearch/hermes-agent | 252k | — | ~3.6k | Automated safety check: Pass | MIT | |
| Configuring Oauth2 Authorization Flowmukul975/Anthropic-Cybersecurity-Skills | 34k | — | ~1.7k | Automated safety check: Pass | Apache-2.0 | |
| Authoring Skillsvercel/next.js | 143k | — | ~1k | Automated safety check: Pass | MIT | |
| Abp Authorizationabpframework/abp | 14k | — | ~1.3k | Automated safety check: Pass | LGPL-3.0 |
alirezarezvani/claude-skills
Captures and organizes chaotic brain dumps into a structured, actionable system with zero information loss.
NousResearch/hermes-agent
Author in-repo SKILL.md files: frontmatter and structure. An agent skill from NousResearch/hermes-agent.
mukul975/Anthropic-Cybersecurity-Skills
Configures secure OAuth 2.0 authorization flows, including Authorization Code with PKCE, Client Credentials, and Device Authorization Grant, covering flow selection, PKCE implementation, token…
vercel/next.js
How to create and maintain agent skills in .agents/skills/. An agent skill from vercel/next.js.
abpframework/abp
ABP permission system - PermissionDefinitionProvider, [Authorize] attribute, CheckPolicyAsync, IsGrantedAsync, ICurrentUser, IPermissionManager, multi-tenancy side.
mukul975/Anthropic-Cybersecurity-Skills
Implements GCP Binary Authorization end to end, including creating KMS-backed attestors, Container Analysis notes, deploy-time policies, and signing image attestations, so that only trusted…
block/trailblaze
Write or update a devlog entry in the devlog directory. An agent skill from block/trailblaze.
block/trailblaze
A skill your agent uses when validating or evaluating Trailblaze's out-of-box (OOB) user experience — does what the trailblaze skill claims actually match the real installed CLI?
block/trailblaze
A skill your agent uses when working with Trailblaze — natural-language device control for coding agents across iOS, Android, and web, with replayable .trail.yaml files as the artifact.
A skill your agent uses when turning a captured human demonstration (a Trailblaze App demonstration bundle: demo.yaml + actions.ndjson + per-action screenshots and view hierarchies) into a durable…. Trailblaze Author is an agent skill from block/trailblaze, published by the product's own GitHub organization.ndjson + per-action screenshots and view hierarchies) into a durable, independently runnable Trailblaze trail.
Trailblaze Author fits situations like: independently runnable Trailblaze trail; A prompt hands you a demonstration bundle directory and asks you to author; produce the trail for it -; add another platforms recordings to an existing trail from a new demonstration.
Run `npx skills add block/trailblaze --skill trailblaze-author -a claude-code`. Or copy the skill folder (skills/trailblaze-author in block/trailblaze) into .claude/skills/trailblaze-author in your project. Claude Code loads it when a task matches its description.
Run `npx skills add block/trailblaze --skill trailblaze-author -a codex`. Or copy the skill folder (skills/trailblaze-author in block/trailblaze) into .agents/skills/trailblaze-author in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add block/trailblaze --skill trailblaze-author -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/trailblaze-author, .gemini/skills/trailblaze-author, .github/skills/trailblaze-author and .opencode/skills/trailblaze-author in your project.
SKILL.md names no scripts, command-line tools or credentials: Trailblaze Author is instructions for the agent only.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Trailblaze Author is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.8k tokens (SKILL.md is roughly 11k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Trailblaze Author: Capture (alirezarezvani/claude-skills, 28k stars), Hermes Agent Skill Authoring (NousResearch/hermes-agent, 252k stars), Configuring Oauth2 Authorization Flow (mukul975/Anthropic-Cybersecurity-Skills, 34k stars) and Authoring Skills (vercel/next.js, 143k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
block (a GitHub organization, an official publisher) maintains it in block/trailblaze, which has 321 GitHub stars. The repository holds 4 skills in this directory. The repository was last updated on October 7, 2026.
Source: block/trailblaze on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.