Agent skill

Relay

by Forward-Future in Forward-Future/relay

Explicitly route one task through discovered models for frontier planning, workhorse execution, and independent frontier review.

MITAuto-check passed

Install Relay

skills CLI
$ npx skills add Forward-Future/relay --skill relay -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install Forward-Future/relay relay --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/Forward-Future/relay.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/relay .claude/skills/relay && rm -rf skills-src

Use ~/.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/

Facts

Skill name
relay
GitHub stars
225
Token cost
~2.7k tokens
SKILL.md length
1,328 words
Files
6
Skills in repo
1
Repo updated
First seen
Licence
MIT

At a glance

Explicitly route one task through discovered models for frontier planning, workhorse execution, and independent frontier review.

  • Works in 3 steps: a frontier planner resolves ambiguity… → a cheaper, faster workhorse executor… → a separate frontier reviewer…
  • SKILL.md covers Preflight, Build the route, Create and run child work and Gates and escalation, plus 1 more section
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Relay is an agent skill from Forward-Future/relay. Explicitly route one task through discovered models for frontier planning, workhorse execution, and independent frontier review.

Its SKILL.md is about 2.7k tokens, which your agent loads only when the skill is triggered. The skill folder holds 6 other files (for example `DEPLOYMENT.md`, `ENVIRONMENTS.md` and `MODEL_SELECTION.md`).

The repository describes itself as: A public skill for routing work through planning - execution - review, optimizing cost and efficiency. The licence is MIT.

Example prompts

  • “/relay”

Workflow steps

3 steps, taken from the first numbered list in SKILL.md.

  1. a frontier planner resolves ambiguity and defines the finish line;
  2. a cheaper, faster workhorse executor implements the settled plan;
  3. a separate frontier reviewer independently checks the result.

What it can do on your machine

Read from SKILL.md and the folder at commit c9efc91. It shows what the files ask for, not the result of running them.

  • Tool permissions

    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.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md (its code samples are markdown).

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Relay loads about 2.7k tokens when it runs. Until then it costs about 34 tokens; SKILL.md has 1,328 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~34
When it runs · the whole SKILL.md, loaded when a task matches
~2.7k

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.

Safety

Auto-check passed

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.

SKILL.md

The full file from Forward-Future/relay at commit c9efc91, republished under its MIT licence (© Forward-Future). 1,328 words, ~2,706 tokens.

Download SKILL.mdSave it as .claude/skills/relay/SKILL.md (or your agent's skills folder). This skill also uses 5 other files; get the full folder from GitHub.
name
relay
description
Explicitly route one task through discovered models for frontier planning, workhorse execution, and independent frontier review.

Relay

Route the user's task through the coding environment's native child tasks or agents, chosen by role rather than model family:

  1. a frontier planner resolves ambiguity and defines the finish line;
  2. a cheaper, faster workhorse executor implements the settled plan;
  3. a separate frontier reviewer independently checks the result.

The user may supply any model map, for example:

text
planning: Fable
execution: GPT-5.5
review: GPT-5.6 Sol
save: project

Model names are configuration, never capability claims. The coordinator discovers what the active environment can actually delegate to, classifies those models from current evidence, suggests the route, verifies every handoff, and reports the route actually used.

Run the relay only when the user explicitly invokes it or explicitly requests this delegation pattern. Automatic skill loading is not authorization to create child work. Explicit invocation authorizes the native child tasks required by the route, including model and effort selection. It does not authorize destructive actions, external mutations, or deployment unless the user separately authorized them.

Preflight

  1. Restate the requested outcome, acceptance criteria, constraints, allowed mutations, and deployment authority.
  2. Read ENVIRONMENTS.md completely. Select the matching adapter and record whether the environment can discover child-selectable models, select a model, verify the actual model used, inspect results, and continue a child. If a required control is absent, report the precise limitation; do not imitate it with hidden subprocesses or direct provider calls.
  3. Record the starting state. In a Git repository, capture the branch, revision, and dirty files so relay work remains distinguishable from pre-existing changes.
  4. Classify the work:
    • Settled: the solution and finish line are already known; planning may stay in the coordinator.
    • Judgment-heavy: implementation is tractable, but tradeoffs or failure modes need a planner.
    • Open-ended: the problem, architecture, or safe path must be discovered before execution.
  5. Read PREFERENCES.md completely. Load user and project preferences from its defined paths when present. Treat saved selectors as preferences, never as availability or tier evidence.
  6. Read MODEL_SELECTION.md completely. Use its discovery procedure to produce an evidence-backed inventory of every model selectable for child work, then classify each as frontier, workhorse, utility, or unknown. Availability discovery is complete only when every candidate has a native selector and evidence from the active environment—not merely a provider catalog, saved preference, or remembered model name.
  7. Choose each phase using this precedence: an explicit choice for the current run, then a valid saved project preference, then a valid saved user preference, then automatic suggestion. Validate every selected model against the current inventory and phase gate before routing.
markdown
| Role | Model | Effort | Why this model fits | Substitution |
| --- | --- | --- | --- | --- |
| Planning | <frontier model> | <effort> | <uncertainty it must resolve> | <allowed fallback or stop> |
| Execution | <workhorse model> | <effort> | <bounded work it can complete> | <allowed fallback or stop> |
| Review | <independent frontier model> | <effort> | <risks it must inspect independently> | <allowed fallback or stop> |

Show the inventory, classification confidence, and suggested map before launching children. Explicit invocation authorizes the skill to proceed with high-confidence selections. Pause when a required role has no qualifying model, a classification is low-confidence, or the suggestion conflicts with an explicit user choice.

When the user asks to save or update preferred models, follow PREFERENCES.md. Persistence is a separate file mutation: never infer permission to save from a one-run model choice. Report the saved scope and path after writing, and show which preferences were applied or bypassed during preflight.

Use exact model IDs or documented native selectors and effort values exposed by the host. Never invent an identifier or silently substitute a model. Preflight passes when the finish line is checkable, every external side effect is authorized, and the planner and reviewer are genuine frontier models—not merely the strongest models in a weak inventory.

Build the route

Create the shortest route that preserves independent review:

markdown
| Phase | Child | Model | Effort | Deliverable | Gate |
| --- | --- | --- | --- | --- | --- |
| Planning | ... | ... | ... | settled plan | affected surfaces, decisions, risks, checks, integration path |
| Execution | ... | ... | ... | implementation artifact | requested behavior exists and focused checks pass |
| Review | ... | ... | ... | independent findings | every finding is resolved or rejected with evidence |
  • Keep planning in the coordinator only when its verified model is frontier; otherwise create a frontier planning child even when the task appears settled.
  • Give execution to the cheapest, fastest available workhorse that can reliably meet the gate. Promote execution to a frontier model when no workhorse satisfies the task's risk or capability requirements.
  • Use a fresh reviewer thread with no executor context beyond the task, plan, actual artifact, and evidence. The reviewer must not review its own work.
  • Prefer a reviewer with a different model ID and family from both executor and planner. If only one frontier model is available, use it in a fresh review context and disclose the reduced model diversity.
  • Add reconnaissance, integration, release, or monitoring phases only when they produce a necessary artifact or reduce material uncertainty.
  • Parallelize only independent slices with disjoint ownership or an explicit integration seam. Permit only one writing thread per checkout.

If deployment is in scope, read DEPLOYMENT.md completely before assigning the release phase. The route passes when every phase has one owner, one artifact, and one checkable gate, and no dependent phase starts before its inputs exist.

Show full SKILL.md (573 more words)Show less

Create and run child work

Use the coding environment's native visible delegation controls. Do not shell out to another model runner or provider API to manufacture capabilities the environment did not expose.

Before every delegation call, announce the assignment to the user. Name the phase, role, selected model or native selector, tier, effort, and reason for the choice. Do not create a child silently.

text
Relay delegation — <phase>/<role>
Model: <exact model ID or native selector> (<tier>, effort: <effort>)
Why: <one concise reason this model fits>

When launching independent children in parallel, one compact table may announce the whole batch immediately before the calls, but it must include one row per child with its role, model, tier, effort, and assignment. After creation, report the returned child ID and verified model. If the verified model differs from the announcement, immediately announce the substitution, update the route, and reroute or stop according to the model gate.

For each phase:

  1. Announce the configured role, native model selector, tier, effort, and assignment.
  2. Create a child with that selector, effort, prompt, and target.
  3. Record the returned child ID when the environment supplies one. Verify the actual model and effort through returned metadata or an authoritative native contract that guarantees an accepted exact selector is used and rejects unavailable values. A requested selector alone is not proof. Aliases and fallback-capable controls require resolved-model readback. Report the child ID and verified model. If the environment silently substitutes, announce the mismatch, update the inventory, and reroute; if it cannot verify actual model identity, stop rather than claim a model-specific relay.
  4. Wait for any pending workspace setup before starting dependent work.
  5. Give it a self-contained brief:
markdown
Role: <planner, executor, reviewer, or added phase>
Outcome: <one concrete result>
Inputs: <canonical paths, commits, URLs, evidence, and prior artifacts>
Constraints: <scope, invariants, authority, and forbidden actions>
Acceptance: <checks that prove this phase is done>
Return: <artifact or concise handoff, including evidence and unresolved risks>
  1. Wait for the terminal result and inspect the returned artifact. Child creation is not completion.
  2. Correct incomplete work in the same child context so it retains role and context. Create a new child when responsibility moves to another role or model, and announce that new delegation too.
  3. Update the canonical route with the actual child ID, verified model, effort, artifact, and status.

Do not pass a summary forward as if it were the artifact. The next phase receives the actual plan, diff, test output, commit, or production evidence.

Do not archive or discard child records automatically. They are user-owned relay evidence.

Gates and escalation

  • Planning passes only when it identifies affected surfaces, decisions, risks, acceptance checks, and a safe integration path.
  • Execution passes only when the requested behavior exists, focused checks pass, and unrelated user changes remain untouched.
  • Review passes only when it inspects the actual artifact independently and every actionable finding is fixed and rechecked or explicitly rejected with evidence.

Retry the same model only for a transient failure or an underspecified brief. Escalate to a more capable model when failure reveals a capability gap or new uncertainty. Return to planning when evidence invalidates the route rather than accumulating patches against a broken plan.

Substitute only according to the recorded model map. If a required model is unavailable and no substitution was authorized, stop at that gate and return completed artifacts. Never describe a fallback as equivalent without evidence.

Final report

Lead with the finished outcome. Then report:

  • the discovered inventory and classification evidence;
  • the route actually used, including role, child ID, verified model, and effort per phase;
  • artifacts produced and checks passed;
  • substitutions, escalations, or skipped phases and why;
  • review findings and their resolution;
  • deployment revision and health evidence, when deployment was authorized;
  • any remaining blocker or risk.

Never report the planned route as the route actually run.

© Forward-Future, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 5 other files in .agents/skills/relay of Forward-Future/relay.

  • SKILL.md
  • DEPLOYMENT.md
  • ENVIRONMENTS.md
  • MODEL_SELECTION.md
  • PREFERENCES.md
  • agents/openai.yaml

Open the folder on GitHubat commit c9efc91

Compare with similar skills

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

Relay compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Relay this skillForward-Future/relay225—~2.7kAutomated safety check: PassMIT
No Explicit Anythedaviddias/Front-End-Checklist74k—~565Automated safety check: PassMIT
OmniRoute Routing CLIdiegosouzapw/OmniRoute74k1 repos~342Automated safety check: PassMIT
Aas Discoversickn33/agentic-awesome-skills47k1 repos~523Automated safety check: PassMIT
OmniRoute Combo Routingdiegosouzapw/OmniRoute74k—~2.1kAutomated safety check: PassMIT
Intelligence Routeruvnet/ruflo74k—~874Automated safety check: NotesMIT

Similar skills

  • No Explicit Any

    thedaviddias/Front-End-Checklist

    A skill your agent uses when reviewing TypeScript files for type safety regressions, during code review of functions that handle external data, or when the codebase has ESLint warnings for…

    74k GitHub stars~565 tokensUpdated 2 days ago
    DevelopmentAuto-check passed
  • OmniRoute Routing CLI

    diegosouzapw/OmniRoute

    Creates, switches, and inspects OmniRoute model-routing combos, plus a suggestion command with cost and latency constraints.

    74k GitHub starsUsed in 1 repo~342 tokens
    AI & LLM EngineeringAuto-check passed
  • Aas Discover

    sickn33/agentic-awesome-skills

    Discover AAS skills for an explicit task and compare their complete instructions without installing them.

    47k GitHub starsUsed in 1 repo~523 tokens
    Auto-check passed
  • OmniRoute Combo Routing

    diegosouzapw/OmniRoute

    Manages OmniRoute routing combos through its REST API: create and update combos, choose from 19 strategies, set fallback chains, test outcomes and read metrics.

    74k GitHub stars~2.1k tokensUpdated today
    Backend & APIsAuto-check passed
  • Intelligence Route

    ruvnet/ruflo

    Route tasks via the 3-tier model selector and learned patterns; emits a routing rationale via hooksexplain

    74k GitHub stars~874 tokensUpdated today
    DevelopmentAuto-check: notes
  • Discover Plugins

    ruvnet/ruflo

    Discover and recommend ruflo plugins based on your workflow, installed MCP tools, and current task

    74k GitHub stars~2k tokensUpdated today
    Agent WorkflowsAuto-check: notes

Questions about Relay

What does Relay do?

Explicitly route one task through discovered models for frontier planning, workhorse execution, and independent frontier review. Relay is an agent skill from Forward-Future/relay. Explicitly route one task through discovered models for frontier planning, workhorse execution, and independent frontier review.

How do I install Relay in Claude Code?

Run `npx skills add Forward-Future/relay --skill relay -a claude-code`. Or copy the skill folder (.agents/skills/relay in Forward-Future/relay) into .claude/skills/relay in your project. Claude Code loads it when a task matches its description.

How do I install Relay in Codex?

Run `npx skills add Forward-Future/relay --skill relay -a codex`. Or copy the skill folder (.agents/skills/relay in Forward-Future/relay) into .agents/skills/relay in your project. Codex loads it when a task matches its description.

Can I use Relay in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add Forward-Future/relay --skill relay -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/relay, .gemini/skills/relay, .github/skills/relay and .opencode/skills/relay in your project.

What does Relay need to run?

SKILL.md names no scripts, command-line tools or credentials: Relay is instructions for the agent only.

Does Relay access the network?

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.

Is Relay safe to install?

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.

What licence does Relay use?

Relay is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Relay use?

About 2.7k 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.

What are the alternatives to Relay?

Skills that share tags, products or a category with Relay: No Explicit Any (thedaviddias/Front-End-Checklist, 74k stars), OmniRoute Routing CLI (diegosouzapw/OmniRoute, 74k stars), Aas Discover (sickn33/agentic-awesome-skills, 47k stars) and OmniRoute Combo Routing (diegosouzapw/OmniRoute, 74k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Relay?

Forward-Future (a GitHub organization) maintains it in Forward-Future/relay, which has 225 GitHub stars. The repository was last updated on July 22, 2026.

Source: Forward-Future/relay on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.