Agent skill

Horse Routing

by HashLoad in HashLoad/horse

Guidelines for setting up endpoints, defining path parameters, route wildcards, and structuring HTTP controllers.

MITAuto-check passed

Install Horse Routing

skills CLI
$ npx skills add HashLoad/horse --skill horse-routing -a claude-code

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

GitHub CLI
$ gh skill install HashLoad/horse horse-routing --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/HashLoad/horse.git skills-src && mkdir -p .claude/skills && cp -r skills-src/doc/skills/horse-routing .claude/skills/horse-routing && 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
horse-routing
GitHub stars
1.4k
Token cost
~722 tokens
SKILL.md length
201 words
Files
1
Skills in repo
23
Repo updated
First seen
Licence
MIT

At a glance

Guidelines for setting up endpoints, defining path parameters, route wildcards, and structuring HTTP controllers.

  • SKILL.md covers Defining HTTP Endpoints, Route Parameters, Wildcards and Route Grouping & Prefixes…, plus 2 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Horse Routing is an agent skill from HashLoad/horse. Guidelines for setting up endpoints, defining path parameters, route wildcards, and structuring HTTP controllers.

Its SKILL.md is about 720 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: Fast, opinionated, minimalist web framework for Delphi. The licence is MIT.

Example prompts

  • “Use the horse-routing skill to guideline for setting up endpoints, defining path parameters, route wildcards, and structuring HTTP controllers”
  • “/horse-routing”

What it can do on your machine

Read from SKILL.md and the folder at commit d4351a5. 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 pascal).

    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

Horse Routing loads about 722 tokens when it runs. Until then it costs about 32 tokens; SKILL.md has 201 words of instructions outside code blocks.

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

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 HashLoad/horse at commit d4351a5, republished under its MIT licence (© HashLoad). 201 words, ~722 tokens.

Download SKILL.mdSave it as .claude/skills/horse-routing/SKILL.md (or your agent's skills folder).
name
horse-routing
description
Guidelines for setting up endpoints, defining path parameters, route wildcards, and structuring HTTP controllers.

Horse Routing

Defining HTTP Endpoints

Horse supports registering endpoints for all standard HTTP verbs using static or instance methods:

pascal
THorse.Get('/products', GetProductsHandler);
THorse.Post('/products', CreateProductHandler);
THorse.Put('/products', UpdateProductHandler);
THorse.Delete('/products', DeleteProductHandler);
THorse.Patch('/products', PatchProductHandler);

Route Parameters

Path parameters are defined using the colon syntax (:param):

  • Correct: THorse.Get('/users/:id', GetUserHandler);
  • Incorrect: THorse.Get('/users/{id}', GetUserHandler);

Inside the handler, you access the parameter via Req.Params.Items['id'] (or Req.Params['id']).


Wildcards

Use the wildcard asterisk (*) to match any subpath:

pascal
// Matches /public/css/site.css, /public/images/logo.png, etc.
THorse.Get('/public/*', ServeStaticFilesHandler);

Route Grouping & Prefixes (THorse.Group)

You can group related routes under a common path prefix using THorse.Group. This is highly useful for API versioning (e.g., /v1) and isolating group-level middlewares:

  • Prefixing Routes:

    pascal
    THorse.Group.Prefix('/v1')
      .Get('/products', GetProductsHandler)
      .Get('/customers', GetCustomersHandler);
  • Group-level Middlewares (Restricted Middlewares): Instead of registering a middleware globally via THorse.Use, you can register it specifically for a group using .Use(). The middleware will only run for endpoints defined inside that group:

    pascal
    THorse.Group.Prefix('/admin')
      .Use(AuthMiddleware) // Only runs for routes under /admin
      .Get('/dashboard', GetDashboardHandler)
      .Get('/settings', GetSettingsHandler);

Route-level Middlewares (Local)

You can pass an array of route-specific middlewares (array of THorseCallback) to apply checks only to a single endpoint. These run after global and group-level middlewares:

  • Static routing:

    pascal
    THorse.Get('/admin/dashboard', [AuthMiddleware, LoggerMiddleware], GetDashboardHandler);
  • Fluent routing:

    pascal
    THorse.Route('/reports')
      .Get([AuthMiddleware, LoggerMiddleware], GetReportsHandler)
      .Post([AuthMiddleware], CreateReportHandler);

Grouping with Controllers

To keep routes organized, group them logically within static class methods or dedicated units:

pascal
type
  TUserController = class
  public
    class procedure RegisterRoutes;
    class procedure ListUsers(Req: THorseRequest; Res: THorseResponse; Next: TProc);
  end;

class procedure TUserController.RegisterRoutes;
begin
  THorse.Get('/users', ListUsers);
end;

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

Files

Just SKILL.md in doc/skills/horse-routing of HashLoad/horse.

Open the folder on GitHubat commit d4351a5

Compare with similar skills

Horse Routing 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.

Horse Routing compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Horse Routing this skillHashLoad/horse1.4k—~722Automated safety check: PassMIT
Nv Endpoint Routed Tool Providernovuhq/novu40k—~2.8kAutomated safety check: PassCustom licence
OmniRoute Combo Routingdiegosouzapw/OmniRoute74k—~2.1kAutomated safety check: PassMIT
Parametersthedaviddias/Front-End-Checklist74k—~638Automated safety check: PassMIT
OmniRoute Routing CLIdiegosouzapw/OmniRoute74k1 repos~342Automated safety check: PassMIT
Manage Settingsasgeirtj/system_prompts_leaks69k—~3.1kAutomated safety check: PassCC0-1.0

Similar skills

  • Build or refactor a Tool-channel provider (PagerDuty, Opsgenie, future incident/alerting tools) to be endpoint-routed: per-subscriber secrets encrypted on the channel endpoint resource, a stateless…

    40k GitHub stars~2.8k tokensUpdated yesterday
    DevelopmentAuto-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 yesterday
    Backend & APIsAuto-check passed
  • Parameters

    thedaviddias/Front-End-Checklist

    A skill your agent uses when auditing URL structure or configuring search engine handling of filtered, sorted, or tracked URLs.

    74k GitHub stars~638 tokensUpdated 2 days ago
    Sales & SupportAuto-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
  • Manage Settings

    asgeirtj/system_prompts_leaks

    Any explicit Muse Code setting question or change (model, reasoning effort, /settings) requires a silent readskill call for bundled:manage-settings as FIRST ACTION—no assistant text or other tool…

    69k GitHub stars~3.1k tokensUpdated yesterday
    Auto-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 yesterday
    DevelopmentAuto-check: notes

More from HashLoad/horse

All 23 skills in this repo
  • Horse App Structure

    HashLoad/horse

    Guide for setting up Horse applications, bootstrap program (.dpr), basic console initialization, and registering modules.

    1.4k GitHub stars~716 tokensUpdated 2 days ago
    Auto-check passed
  • Guide for setting up thread-safe database connection pooling (FireDAC / UniDAC) in multithreaded Horse applications.

    1.4k GitHub stars~1.4k tokensUpdated 2 days ago
    Auto-check passed
  • Guide for managing request-scoped contextual services and IoC (dependency injection) in Delphi and Lazarus.

    1.4k GitHub stars~985 tokensUpdated 2 days ago
    Auto-check passed
  • Horse Files Streams

    HashLoad/horse

    Guide to handling file uploads (multipart), downloads, and stream lifetime management in the Horse framework.

    1.4k GitHub stars~601 tokensUpdated 2 days ago
    Auto-check passed
  • Horse Grpc

    HashLoad/horse

    Guidelines and workflows for developing and maintaining gRPC services, HTTP/2 h2c transport, and Protobuf serialization within the Horse framework.

    1.4k GitHub stars~776 tokensUpdated 2 days ago
    Auto-check passed
  • Guide for writing automated integration tests for Horse endpoints using DUnit/DUnitX and THTTPClient.

    1.4k GitHub stars~964 tokensUpdated 2 days ago
    Auto-check passed

Questions about Horse Routing

What does Horse Routing do?

Guidelines for setting up endpoints, defining path parameters, route wildcards, and structuring HTTP controllers. Horse Routing is an agent skill from HashLoad/horse. Guidelines for setting up endpoints, defining path parameters, route wildcards, and structuring HTTP controllers.

How do I install Horse Routing in Claude Code?

Run `npx skills add HashLoad/horse --skill horse-routing -a claude-code`. Or copy the skill folder (doc/skills/horse-routing in HashLoad/horse) into .claude/skills/horse-routing in your project. Claude Code loads it when a task matches its description.

How do I install Horse Routing in Codex?

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

Can I use Horse Routing 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 HashLoad/horse --skill horse-routing -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/horse-routing, .gemini/skills/horse-routing, .github/skills/horse-routing and .opencode/skills/horse-routing in your project.

What does Horse Routing need to run?

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

Does Horse Routing 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 Horse Routing 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 Horse Routing use?

Horse Routing 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 Horse Routing use?

About 722 tokens (SKILL.md is roughly 2.9k 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 Horse Routing?

Skills that share tags, products or a category with Horse Routing: Nv Endpoint Routed Tool Provider (novuhq/novu, 40k stars), OmniRoute Combo Routing (diegosouzapw/OmniRoute, 74k stars), Parameters (thedaviddias/Front-End-Checklist, 74k stars) and OmniRoute Routing CLI (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 Horse Routing?

HashLoad (a GitHub organization) maintains it in HashLoad/horse, which has 1,377 GitHub stars. The repository holds 23 skills in this directory. The repository was last updated on October 7, 2026.

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