claudeers.
// Other

prompt-router-starter

A Claude Code starter for one design pattern: your own code runs on every prompt, before the model reads it, and tells the model how to answer.

// Other[ api ][ claude ]#claude#otherMIT$open-sourceupdated 2 days ago

Install with your AI

Paste into Claude Code, Cursor, or any agent — it reads the repo and wires the tool into your project.

Install and set up prompt-router-starter (git-clone project) into my current project.
Found on https://claudeers.com/prompt-router-starter
Repo: https://github.com/Glitch-Cat-Club/prompt-router-starter
Homepage/docs: —
Detected install method: git-clone → git clone https://github.com/Glitch-Cat-Club/prompt-router-starter
Category: other. Platforms: api.
Read the repo's README for exact setup and env vars, then install it and wire it into my project.

Claudeers Health Verdict:
unknown; community-verified: false. Confirm the source before running anything.
// or clone
git clone https://github.com/Glitch-Cat-Club/prompt-router-starter

// compatibility

Platformsapi
Operating systems
AI compatibilityclaude
LicenseMIT
Pricingopen-source
LanguagePython

prompt-router-starter

A design pattern you can use, not a complete solution. A prompt injection, triggered from a UserPromptSubmit hook, decides how the reply should look before the model answers: it scores the prompt's shape against readable rules and injects one output style beside the prompt. The same hook carries a numbered requirements ledger, and a Stop hook runs the proofs and refuses a false done. This is a demo of the pattern, not a working solution: the styles are placeholders, the mechanism is the point. Python 3.10+, stdlib only, nothing to install. Claude Code only. Tests: python -m pytest tests -q.

Setup

git clone https://github.com/Glitch-Cat-Club/prompt-router-starter
claude                    start it in the folder you just cloned
type a question           the reply comes back in the skin the rules picked

What you'll see

an insult, answered with the hand

a decision, answered BLUF

a rant, answered as a contract table

the build running, one bar per requirement

The three hooks

router.py    UserPromptSubmit: scores the prompt, injects the skin and the ledger
gate.py      Stop: reads the contract table back, runs the proofs, refuses a false done
restore.py   SessionStart: hands the contract back to a session after /clear

How it routes

Six of the shape signals in algorithm/rules.json. Each returns 0.0 to 1.0, each skin weights the ones it cares about, and the top total over the 0.35 threshold wins.

SignalWhat it readsSkin
decision_shapea question holding an either/orbluf
progress_shapewhere are we, how is X goingsitrep
obligation_clausesa list of rules: must, don't touch, due fridaycontract
go_wordgo, build it, do itbars
ack_or_ratingthree words or fewer, thanks, 8/10minimal
insult_at_modelan insult pointed at the modelbanter

Nothing clears the threshold and the default skin answers. Two skins within 0.10 of each other and both get named, so the model picks from the conversation.

Skins

bluf      one decision, the answer first and the reasons under it
sitrep    where the work stands, the whole board on one screen
contract  the requirements you just heard, back as a table to approve
bars      the build running, one row per requirement, gates as they catch
board     the requirements as a kanban: open, building, proven
receipt   the contract closed off, printed like a till receipt
minimal   an acknowledgement or a rating, answered in one line
banter    an insult, answered with one dry line

These eight are demo styles, not optimised outputs: they prove the mechanism. Write your own with your AI, one file in skins/ (front matter, then the shape), one line in algorithm/rules.json.

The contract

Say everything you want in one go and it comes back as a numbered table, one proof a line. Strike or reword any line by number, then say go: the ledger sits in .router/, so a /clear never loses it. Claim done and the Stop gate runs the proofs before the turn ends.

The gate runs allowlisted commands only (pytest, python, python3, git, grep, rg, ls, test, node, npm test, curl to localhost); anything else is stamped manual and never runs. A red line holds the turn open with one sentence naming it. A proof written <command> → 0 passes when the command prints nothing, because grep-style tools exit 1 on no match. demo/site/ is a prop project, so every proof in the demo is a real command.

Force it

/bluf /sitrep /receipt /board /minimal   the skin by name
/e1 /e2 /e3 /e4 /e5                      the depth, E1 shortest to E5 deepest
sitrep receipt board go                  the bare word, alone, as the whole prompt
default sitrep                           the house floor for this project
default off                              clear it

The slash tokens go at the END of the prompt and beat every score.

The haiku switch

Set "classifier": "haiku" in algorithm/rules.json and the skin comes from claude -p --model haiku instead. Off by default: one Haiku call a prompt on your subscription, API-key variables stripped from the child, back to the rules on any failure.

Tune it

python -m router.report          from the repo root

Top-1 accuracy over tests/golden.jsonl, precision and recall per skin, the confusion table, the ten worst misses with their top-2 scores. The rules here score 0.9595 on the 148-line set. Demo-tuned rules: the shape is the lesson, tune the words to yours.

Windows

Python on PATH. Git Bash or PowerShell for the proofs, whichever you have.

Hooks run on first launch

The hooks in .claude/settings.json are a project setting, so they run the first time you start Claude Code here. The three files above live in .claude/hooks. Read them first.

Licence

MIT. The block letters use the ANSI Shadow FIGlet font, vendored from xero/figlet-fonts.

// faq

What is prompt-router-starter?

A Claude Code starter for one design pattern: your own code runs on every prompt, before the model reads it, and tells the model how to answer.. It is open-source on GitHub.

Is prompt-router-starter free to use?

prompt-router-starter is open-source under the MIT license, so it is free to use.

What category does prompt-router-starter belong to?

prompt-router-starter is listed under other in the Claudeers registry of Claude-compatible tools.

3 views
12 stars
unclaimed
updated 2 days ago

// embed badge

prompt-router-starter on Claudeers
[![Claudeers](https://claudeers.com/api/badge/prompt-router-starter.svg)](https://claudeers.com/prompt-router-starter)

// retro hit counter

prompt-router-starter hit counter
[![Hits](https://claudeers.com/api/counter/prompt-router-starter.svg)](https://claudeers.com/prompt-router-starter)

// reviews

// guestbook

0/500

// related in Other

🔓

符合nature论文学术表达和科研绘图的Skill

// otherYuan1z0825/Python36,535Apache-2.0[ claude ]
🔓

Open source Ghostty-based macOS terminal with vertical tabs and notifications for AI coding agents. Built for multitasking, organization, and programmability.

// othermanaflow-ai/Swift26,069NOASSERTION[ claude ]
🔓

Anti-AI-slop design skill for Claude Code, Cursor, and Codex.

// otherNutlope/CSS25,307MIT[ claude ]
🔓

Huashu Design · HTML-native design skill for Claude Code · Claude Code 里 HTML 原生的设计 skill · 高保真原型 / 幻灯片 / 动画 + 20 设计哲学 + 5 维评审 + MP4 导出 · Agent-agnostic

// otheralchaincyf/HTML23,151MIT[ claude ]
→ see how prompt-router-starter connects across the ecosystem