AI i agenci · Automatyzacja
auto
/auto
Przyjmuje ogólne cele w prostym języku i kieruje je do właściwego skilla.
- Autor
- yonatangross ↗
- Repozytorium
- orchestkit ↗
- Licencja
- MIT
- Ostatnia zmiana repozytorium
- 13.11.2026
Ocena i bezpieczeństwo
100/ 100Klasa: dobry
Format25 / 25
Frontmatter z nazwą i opisem, poprawna nazwa, opis do 1024 znaków, nazwa zgodna z folderem.
Odkrywalność25 / 25
Opis mówi, kiedy użyć skilla, ma sensowną długość i jest w 3. osobie.
Treść35 / 35
Co najmniej 150 słów i do 500 linii, nagłówki, listy kroków, przykłady albo kod.
Higiena15 / 15
Bez zaślepek typu TODO, bez ścieżek Windows, z licencją.
Ryzykobrak sygnałów w skanie
- Pliki w paczce
- 4
- Skrypty
- 0
- Komentarze HTML
- 0
- Adresy URL w SKILL.md
- 0
Przestarzałość
Brak sygnałów. Repozytorium zmienione 13.11.2026, bez odwołań do wycofanych modeli i API.
Licencja
MIT, otwarta: można używać i zmieniać, z zachowaniem informacji o autorze.
Co robi i kiedy
Przyjmuje ogólne cele w prostym języku i kieruje je do właściwego skilla.
Argumenty
/auto [plain-english goal]
Oryginalny opis (EN)
Default front door for goal-shaped requests: classifies a plain-English goal and routes it to the right skill. Use for do this, figure out, I want, help me, fix, build, improve. Not for browsing skills (use help).
Jak działa
- When to use
- Intent categories → OrchestKit skill
- Model weight (orthogonal second dimension)
- The flow
- Fallback + honest gaps
- Stacked invocation
- Guardrails
- Validation
- References
- Quality Bar
Sekcje z nagłówków SKILL.md, w oryginale · 177 linii, 2 151 słów
Podgląd SKILL.md
---
name: auto
license: MIT
compatibility: "Claude Code 2.1.277+."
description: "Default front door for goal-shaped requests: classifies a plain-English goal and routes it to the right skill. Use for do this, figure out, I want, help me, fix, build, improve. Not for browsing skills (use help)."
argument-hint: "[plain-english goal]"
context: inherit
user-invocable: true
allowed-tools: "AskUserQuestion Read Grep Glob Skill Agent"
model: sonnet
metadata:
category: workflow-automation
version: "1.0.0"
author: "OrchestKit"
complexity: "medium"
tags: "router, intent, orchestration, discovery, meta, front-door"
triggers:
keywords: [auto, "do this", "figure out", "just make", "get it to", "i want", "help me with", "not sure which", "what should i", "can you make"]
examples:
- "get coverage above 90%"
- "why isn't the build green"
- "just make the login page work"
- "I want the API faster"
anti-triggers: ["/ork:help", "list skills", "what skills exist"]
---
# auto — Intent Router
The front door to OrchestKit. **You describe a goal in plain English; the router classifies it and hands off to the right specialist.** One entry point, many execution paths.
> **Why this exists:** OrchestKit has 116 skills, but usage telemetry shows users fire only the handful they can name by memory (10 distinct skills across thousands of sessions). The dominant cause of "dead" skills is **no front door** — not low quality. This router turns "you must know the exact `/ork:<name>`" into "describe what you want."
**Core principle:** routing is a *deterministic workflow*, not an autonomous agent (Anthropic, *Building Effective Agents*). Classify → confirm → hand off. The router never does the work itself — it picks who does.
## When to use
**By default, for any goal-shaped request.** An unambiguous goal is a 1-step
route: auto classifies, confirms in one line, and hands off — no extra hops,
so there is no "too obvious for auto".
| Use `auto` for… | Skip only when… |
|---|---|
| Any goal description ("fix X", "get Y to Z") | Already executing inside another skill (no recursion) |
| The right skill isn't obvious | Chaining a known multi-skill workflow you're mid-way through |
| You think you know the skill — auto confirms & short-circuits | |
> **Design note (2026-07-12):** this table previously said "Go direct when you
> already know the skill / the request maps unambiguously to one". That inverted
> instruction made the front door structurally unreachable — a competent model
> always believes it knows the target, so the router recorded near-zero
> invocations across thousands of sessions (the exact dead-skill problem the
> "Why this exists" note above describes). Routers must be framed as the
> default path, not an escape hatch for confusion.
## Intent categories → OrchestKit skill
| intent | signal words | routes to |
|---|---|---|
| **fix** | fix, debug, broken, failing, error, crash, regression | `fix-issue` |
| **diagnose** | why, why isn't, why does, why can't, investigate | `fix-issue` (investigation-first) |
| **optimize** | faster, reduce, latency, bundle, minimize, below N ms | a **`/goal` optimization loop** (see Gaps) |
| **cover** | coverage, untested, get to N% | `cover --target N` |
| **e2e** | e2e, in the browser, browser test, playwright | `expect` (run on the diff); `cover` when no e2e tests exist yet |
| **design** | design, architect, how should we, explore, idea | `/ork:brainstorm` |
| **build** | build, implement, create, add feature, from ticket | `implement` |
| **review** | review, PR, MR, pull request, #N | `review-pr` |
| **verify** | verify, check, make sure, passes, green | `verify` |
| **improve-skill** | improve the skill, optimize the prompt, SKILL.md | the **holdout-promotion gate** (see Gaps) |
| **setup** | set up OrchestKit, onboard this repo, which skills fit this project, rescan the stack | `/ork:setup` |
| **migrate** | across all repos, every repo, org-wide, roll out to N repos, bump in each consumer | `/ork:swarm-migrate` |
| **(fallback)** | no confident category | clarify with ONE question |
Full per-category parameter extraction + edge cases: `references/routing-rules.md`.
## Model weight (orthogonal second dimension)
Intent picks **who** does the work. Weight picks **how expensive that worker should be**. A route is `{intent} @ {weight}`. Weight never changes the intent and never replaces it. The taxonomy above and the 7 disambiguation rules are untouched by it.
Tiers are the ones already declared in each agent's `model:` frontmatter (`haiku` 3 · `sonnet` 23 · `opus` 6 · `inherit` 4). No parallel taxonomy.
| weight | tier | the task is… |
|---|---|---|
| **Light** | `haiku` | mechanical or IO-bound, single file, deterministic output, trivially revertible |
| **Standard** | `sonnet` | the default: bounded judgment, known pattern |
| **Heavy** | `opus` | adversarial, security, safety, architecture, cross-cutting, or ambiguous |
**Resolution is asymmetric:** ANY heavy signal ⇒ Heavy; Light requires ALL light signals; everything else is Standard. Under-powering a security review yields a confident wrong answer nobody catches; over-powering a rename only wastes money.
Weight is **per leg, not per route**. A PR review can be a Heavy security leg plus a Light lint leg. Full signal table, per-intent defaults, and the honest limits of this lever: `references/routing-rules.md`.
> **This is the selector, and the only cost control.** OrchestKit ships no spawn cap: the old `team-size-gate` hook was removed in #3839. Choosing the tier here is what keeps a premium model off routine work.
## The flow
```
CLASSIFY -> CONFIRM -> HAND OFF
| | |
intent show the invoke the
+ weight route target skill;
one line + nod follow ITS phases
```
### 1. Classify
Name the route and the one signal that decided it in a single short line. Example: *"'get latency under 200ms' names a metric + a direction, so optimize, not fix."*
Apply the disambiguation rules (most specific wins; explicit verb beats inferred intent). **The load-bearing one: explicit verb wins** — "Fix the slow query" → `fix`, not `optimize`. For the full ordered ruleset (all 7, including the truly-ambiguous fallback), `references/routing-rules.md` is canonical.
Then classify **weight in the same pass**, naming the signal that decided it: *"touches auth and models an attacker → Heavy."* Intent first, weight second; a weight call never rewrites the intent you just committed to.
**A `route:` line is a prior, not a verdict.** When the prompt context carries one line of the shape `route: <class> -> /ork:<skill> (conf 0.xx)` or `route: <class> -> Agent(<name>) (conf 0.xx)`, it came from the Jev routing seam (`ORK_ROUTE_JEV=steer`, off by default, #4233): one typed judgment of the capability class, taken before you read this table. Treat it as the prior for this step, state in one sentence whether you agree and why, and then classify as above. Your reasoning still decides; a confident prior you disagree with is worth a sentence, never a silent override in either direction. The confirm step is unchanged; the hand-off tool follows the target: a `/ork:` skill goes through the Skill tool, an `Agent(...)` target through the Agent tool.
### 2. Confirm (low ceremony)
Show the chosen route in one line and get a nod before handing off:
```
Goal: "{original goal}"
Intent: {category}
Weight: {Light|Standard|Heavy} ({tier}), decided by: {signal}
Route: {skill or loop} {extracted args}
[run] · [adjust] · [cancel]
```
For low-risk single-pass routes (`verify`, `review`), an inline "routing you to verify — ok?" is enough. Never hand off without a nod.
**Premium spend is never silent.** Routing down (Light/Standard) needs no approval, because spending less is not a decision the user has to make. Routing **up to Heavy** is premium spend and gets its own line the user must accept:
```
⚠️ Heavy route: {N} opus-tier leg(s), triggered by: {heavy signal}
[approve premium] · [run Standard instead] · [cancel]
```
If they decline, run Standard and say plainly which check is weakened. Never upgrade mid-handoff or inside a spawned agent the user did not see.
### 3. Hand off
Invoke the target skill with the extracted parameters and **follow that skill's own phases and guardrails** — do not override them. The router's job ends at the handoff; the specialist owns execution and its own report.
**A hand-off is a Skill-tool invocation, not a recommendation.** The failure mode that motivated M170 (#3127): telemetry traced 43 router hand-offs and found ZERO reached an executor skill (`implement`, `cover`, `fix-issue`, `review-pr`) — the route was named in chat, then the work happened inline in the main loop, so the executors' specialist wiring (implement → backend-system-architect, cover → test-generator) never activated. Therefore:
- Once the user nods, the SAME turn must contain the Skill-tool call for the routed skill. Never end the routing turn with only a description of what will run.
- Doing the routed work inline "because it's faster" is a routing failure, not a shortcut — the executor's parallel specialists and guardrails are the point of routing.
- If the routed skill genuinely cannot run (missing prerequisite, wrong repo state), say exactly that and stop; do not silently absorb the work into the main loop.
## Fallback + honest gaps
- **Fallback category.** If no category clears a confident threshold, ask exactly ONE clarifying question rather than guessing. A rising fallback rate is the leading indicator that the taxonomy needs work — surface it, don't bury it.
- **`optimize` has no dedicated skill (yet).** OrchestKit's metric-driven optimization runs as a **`/goal` loop** using the loop recipe library (`prd-to-goal/references/recipe-library.md`). Route `optimize` there and say so plainly — don't pretend a `experiment` skill exists.
- **`improve-skill` routes to the evolution gate.** Self-optimizing a `SKILL.md` goes through the champion/challenger **holdout-promotion gate** (in an OrchestKit source checkout, `npm run eval:skill -- --holdout-promote <skill>`; an installed plugin has no runner, so score both versions with `assess` on held-out cases and let the user decide), not a one-shot edit. It requires a benchmark + holdout set first.
## Stacked invocation
`/skill-a /skill-b <goal>` loads all leading skills (up to 5) into context at once; the trailing args belong to the whole stack. So `auto brainstorm <goal>` pre-loads the specialist alongside the router — useful when the user already knows part of the route. The router still owns classification and handoff; a pre-loaded specialist does not bypass the confirm step.
## Guardrails
- **No recursion.** `auto` must not route to itself, directly or via a spawned agent.
- **No bypass.** Routing does not skip the target skill's guardrails, readonly enforcement, or confirmation steps.
- **A pronoun target is yours to resolve.** Pass a concrete target, not `this` or `them`: read it back from the conversation and announce it in one line. If a routed skill returns `TARGET_UNRESOLVED: <word>`, resolve `<word>` the same way and invoke the skill again; never relay the sentinel to the user (`Read("../../shared/rules/target-resolution.md")`).
- **Classification quality is the whole job.** A misroute that fails silently is worse than a fallback question. When two categories are equally plausible, ask — don't gamble.
- **No silent upgrade.** A Heavy (opus/fable) leg is premium spend and requires an explicit nod on its own line. Downgrades stay silent.
- **A gate denial is not a re-route trigger.** If a gate denies a spawn (a Fable spend prompt, a permission refusal), do NOT relabel a Heavy leg as Standard to get past it. Report the denial and let the user decide.
- **Weight is a hint, not an override.** The router cannot change an agent's declared `model:`. It selects skills and agents, and sets the caller's model that the 4 `inherit` agents adopt. It never overrides a target skill's own agent selection.
## Validation
Routing accuracy is gateable, not vibes. `routing-benchmark.json` holds 78 labeled `goal → category` pairs (easy + genuinely ambiguous). Validate after any change to the category table or disambiguation rules:
```bash
# isolated classification check: /ork:bare-eval grades router output against routing-benchmark.json
/ork:bare-eval
```
Target ≥95% category accuracy; track the fallback rate as a degradation alarm as the skill library grows.
## References
- `references/routing-rules.md` — per-category parameter extraction, edge cases, disambiguation
- `routing-benchmark.json` — 78 labeled goal→category pairs for accuracy validation
## Quality Bar
Done means all of these hold:
- Classification reasoning is stated out loud BEFORE a route is committed, naming the chosen intent category and the signal words that triggered it.
- Weight is classified in the same pass as intent, naming the signal that decided it, and resolves asymmetrically (ANY heavy signal ⇒ Heavy; Light needs ALL light signals; else Standard).
- The confirm block names one of the taxonomy's intent categories, its target skill or `/goal` loop, and the extracted args — on one line.
- Every Heavy (opus/fable) leg is surfaced for explicit approval before handoff; no premium spend is silent, and declining it runs Standard with the weakened check named.
- Adversarial, security, safety, architecture, and cross-cutting work is never routed below opus tier; mechanical single-file IO-bound work is not routed above haiku tier.
- The router does not count spawns, and never downgrades a Heavy leg to evade a gate denial.
- No target skill is invoked without an explicit nod (or `-y`); handoff never precedes confirmation.
- When two categories are equally plausible, exactly ONE clarifying question is asked — the fallback is never silently guessed.
- `optimize` routes to a `/goal` loop and `improve-skill` to the evolution gate; neither claims a dedicated skill that does not exist.
- The router does none of the target work itself and never routes to `auto` (no recursion).
## Related skills
- `help` — static categorized directory (browse, don't route)
- `prd-to-goal` — decompose a spec into a `/goal` line (the `optimize` route's engine)
- `fix-issue` · `cover` · `expect` · `brainstorm` · `implement` · `review-pr` · `verify` · `setup` · `swarm-migrate`: the route targets
- `assess` — champion/challenger holdout gate (the `improve-skill` route)
Pliki w paczce (4)
- SKILL.md 14 KB
- routing-benchmark.json 11 KB
- test-cases.json 2 KB
- references/routing-rules.md 14 KB
Wersje
| Repozytorium | Wynik | Licencja |
|---|---|---|
| Ta strona · yonatangross/orchestkit | 100 | MIT |
| anilcancakir/claude-code | 100 | MIT |
| JoDi-27/JoDi-SDD | 100 | MIT |
| anilcancakir/claude-code | 100 | MIT |
| yonatangross/orchestkit | 100 | MIT |
| q00/ouroboros | 100 | MIT |
| alienfast/claude | 100 | MIT |
| thesun4sky/jobstack | 100 | MIT |
| samiashi/agent-plugins | 96 | MIT |
Migawka bazy z 13.11.2026 · wersja paczki 0252d045e99c (skrót SHA-256 całej paczki)
Pobrania w ostatnich 30 dniach: 0 · ranking
Zgłoś problem z tym skillem: szkodliwa treść, błędny opis albo prośba autora o usunięcie.
Podobne skille
- 90adev:work
Przyjmuje nową pracę, klasyfikuje ją, czyta stan projektu i kieruje do właściwego skilla cyklu życia. - 100using-n8n-skills-official
Ładuje protokół pluginu n8n-skills na starcie sesji: kieruje do właściwego skilla, streszcza narzędzia n8n MCP i podaje reguły obowiązujące przy każdej pracy z workflow n8n. - 90guide
Kieruje od prośby do właściwego skilla katalogu vd: i kolejnego kroku przekazania, żeby agenci i ludzie nie musieli pamiętać całego katalogu. - 90grim-terface-help
Wyjaśnia, co zawiera Tome Grimoire, i kieruje do właściwego skilla, członka rady lub dokumentu, gdy użytkownik pyta o pomoc albo o możliwości Tome. - 100goal-writer
Pomaga napisać jeden lub kilka dobrze określonych celów /goal, z dowodem ukończenia, granicami i regułami zatrzymania. - 100eazypromptin
Odczytuje intencję krótkich lub niejasnych próśb i zamienia je w precyzyjne prompty oraz briefy projektów w trybie rozmowy.