Skip to content
ExamsLibraryFor agentsConnect your agent
metaMeta: working with agents·19/26

Routing table — intent → entry node

Intent → entry-node router. Name the job first, then open exactly one node — most questions have one canonical entry point into the graph.

Raw markdown On GitHub

Most wasted context comes from opening the wrong cluster. Before reading anything, classify the user's intent into one of four postures, then jump straight to the entry node for that job. One good entry beats scanning three MOCs.

The four postures

PostureThe user wants…Output shape
BuildUI produced or changedCode, using the cluster's values
JudgeExisting work assessedA table or list — never unsolicited edits
DecideA call made before buildingA yes/no or a pick, with the trade named
NameThe precise word for a thingThe term, one line, stop

Judge-posture outputs are read-only: return the review-format table or a deletion list, don't rewrite the code unless asked. Decide-posture nodes (like animation-decision-framework) must be consulted before writing code, not cited after. Name-posture lookups (design-vocabulary) answer and stop — no implementation.

The router

You want to…Open first
Understand why a screen feels flat or assembledfeeling-right
Decide whether something should animate at allanimation-decision-framework
Pick easing / duration for one animationeasing-curves, then duration-table
Build drag / swipe / momentum interactionsgesture-momentum, spring-animations
Rapid presses miss moving items; a dragged card slides under its neighbours on releaseanimated-hit-testing
An animation lands differently at 30, 60 and 120 fps, or jumps after a stalled tabframe-rate-independence
The reading position jumps when content above it loads or reflowsscroll-anchoring
A dropdown hides under the header; z-index: 9999z-index-strategy
Fix jank, stutter, or layout thrashtransform-opacity-only, then debugging-animations
Pick or fix a typeface, wrapping, trackingtypography-humanity, line-length-tracking
Build a palette, fix contrast, derive dark modecolor-monochromatic, contrast-and-color-scheme, dark-mode
Add depth — shadows, borders, radiishadows-whisper, border-radius
Build a form that behavesforms-validation
Write empty / loading / error statesempty-loading-states, states-are-the-work
Write UI copy or error messagescopy-voice
Review a UI diff before shippingreview-format + review-checklist (or spawn ui-reviewer)
Review a diff that is specifically motionmotion-auditor
Review a PR, branch or uncommitted change for what it brokechange-scoped-review; with Jakub Krehel's skills → /interface-review (interfaces-reconciliation)
Make a custom widget keyboard-operable — tabs, menu, combobox, dialogkeyboard-patterns
Toasts, "Saved", result counts or errors a screen reader never hearsscreen-reader-announcements
Is this an accessibility finding or a preference? Contrast, target size, zoom, reflow numberswcag-thresholds
Name colour tokens, split primitives from semantics, theme without touching componentscolor-token-tiers
Decide which palette steps and ramps exist; audit a palette with too many colourspalette-step-roles
A gradient goes grey in the middle, bands, or carries textgradient-interpolation
Things don't read as groups; separators everywhere; controls look like textgrouping-by-space
German breaks the button; a grid overflows; container queries; breakpointsgrowth-and-overflow
Mirror a layout for Arabic or Hebrew; mixed-direction textlogical-properties-rtl
Plurals, string concatenation, dates and currency per locale; button and link labelsstrings-and-locale
Delete, archive, revoke — undo or confirm, and the dialog's wordsdestructive-actions
Render a component under worst-case content and widths, or every state it hasstress-scenarios
"How did they build that?" — explain another site, effect or screenshotreading-others-interfaces
Audit "does this look AI-generated?"ai-default-tells (or spawn anti-pattern-scanner)
Build a marketing / landing surfacemarketing-vs-product-ui
Build a faux product UI — a hero demo, feature card, docs plate or cursor walkthroughproduct-shot-framing, then faux-ui-restraint (or /design-engineering stage); with Stageshow → stageshow-reconciliation
Script a looping product demo: beats, poster, reset, cursordemo-story-and-loops, then demo-cursor-and-touch
Plan or fix a bento grid of feature tilesbento-grids
Check an animated demo frame by frame before handing it overdemo-rehearsal
Show who is here, half here or gone in a real-time productpresence-signals
Add drawing or markup to a productdrawing-toolbar
Consume a project's DESIGN.md tokensusing-design-md (or spawn design-md-consumer)
Put the right word to a design ideadesign-vocabulary
Decide whether an interaction should make a soundsound-decision-framework
Design or generate a set of UI soundssound-palette, then sound-generation-elevenlabs or sound-generation-open-source (or spawn sound-designer)
Sync a sound to an animation, or fix one that feels latesound-motion-sync
Plan a launch film — register, beats, when the name lands, endcardlaunch-video-registers, then launch-video-structure
Time words, typed prompts, a cursor or an agent's wait in a launch filmlaunch-video-type; prompts, cursor and agent output → launch-video-ui-demo
Make launch-film motion feel alive — settles, springs, blur, holds, rhythmlaunch-video-motion
Cut a multi-scene video — seams, hard cuts, the ledgerlaunch-video-seams; hard cuts → launch-video-cuts
Score a launch video or logo reveallaunch-video-sound (pick the register); a music track or a voice → launch-video-music; derive the stem → sound-from-motion
Review a launch film, or measure a reference filmlaunch-video-review (or spawn launch-film-analyst); inside HyperFrames → hyperframes-reconciliation; in Remotion with cinetic → cinetic-reconciliation; with scenario-kinetic-film → scenario-kinetic-reconciliation
Render a film from code: motion blur, a beat grid from generated music, a 4K master that plays everywherefilm-as-function-of-time
Make a loop, a logo sting, or a 9:16 / 1:1 cut of a filmlaunch-video-formats
Design a whoosh, riser, impact, sting, ding or pop that sounds designed, not stockdesigned-sfx-anatomy
Listen to a sound or a film's soundtrack with a tool; pick or trim a recordingearshot-reconciliation
Check whether a recording or track may go in a launch film; write its creditsound-licensing
Decide which skill or companion should own a jobskill-router
Build an OKLCH palette or ramp, repair contrast by lightnesscolor-scales-oklch
Fix pinched corners, harsh borders, dark-mode cards vanishingdepth-and-nesting
Set up a type scale, leading, tracking, font loadingtype-scale-and-rhythm
Fix wrapping, truncation, underlines, casing, RTLline-behavior
Make a form behave (labels, Enter, loading, autofocus)forms-behavior
Make it work on touch, keyboard, screen readers, iOStouch-and-focus
"Feels unfinished" with nothing obviously wrongui-polish-pass
Design a component's props APIcomponent-api-design
Build a landing page, docs site, blog, changelogmarketing-surface-rules
"It's pushed to one side", "random empty space", "no clear title" — fix a page's framepage-frame
Critique a rendered page from screenshots, round by roundscreenshot-critique
Build or review a dashboard: KPIs, deltas, tables of numbersdashboard-tells
Fix jank, layout shift, slow lists (measured slowness)performance-discipline
"Looks AI-generated" — run the passunslop-pass; copy → copy-tells; code → code-tells
Create or clean up an SVGsvg-creation (or spawn svg-creator)
Animate an SVG, morph a path, vectorize a clipsvg-animation, svg-path-morphing, video-to-vector-pipeline (or spawn svg-animator)
Draw or animate a playful isometric sticker for an empty state, onboarding or a feature cardisometric-stickers; with fun-isometric installed → fun-isometric-reconciliation
Decide whether something should be a diagram, and where it lives (a figure, a canvas, a Mermaid block)diagram-decision
Draw or review an architecture, flow, sequence or chart figurediagram-craft; with diagram-design and a .design → diagram-design-reconciliation
Edit a whiteboard, a planning board, or a .tldraw / .tldr filetldraw-canvas
Explore several directions before decidingprototype-picker
Stop re-prompting; build the tool that makes the artifactbuild-a-tool; no target yet → vibe-to-generator
Write design docs an agent can followdesign-system-docs
Write or fix a skill file, or povskill-writing-rules
Measure whether a change made output betterdesign-benchmarks
Get the app ready to launch: every lane, fixed and verifiedship-check, then production-baseline; leftovers and secrets → leftovers-and-leaks; link previews, SEO, the conversion path → share-and-crawl-metadata
Remove or tone down animations without breaking anythinganimation-removal-hazards
A flick should land where it would naturally coast; rubber-band past an edgemomentum-projection, gesture-momentum
Glass, translucent sidebars, dimming behind sheetstranslucent-materials
The keyboard covers the composer; 100vh, safe areas or landscape break on a phonemobile-platform-layer, then touch-and-focus
Navigation, settings structure, tabs vs sections, search as a symptominformation-architecture
Small caps, slashed zero, stylistic sets, variable axes, stroked textopentype-features-and-axes
Colours out of sRGB, P3, migrating hex/HSL to OKLCHoklch-gamut-and-migration
React Native or Expo motionreact-native-motion
Set up or fix Sonner toastssonner-usage (principles → sonner-principles)
Steer an agent: prompts, how many passes, fixing the system not the screen, papercutsdirecting-agents

Rules

  1. Route before reading. Classify posture, pick the entry node, open it. Only widen to the MOC when the entry node's outbound links don't cover the question.
  2. One entry node per question. If you find yourself opening four nodes up front, you skipped classification.
  3. Judge posture never writes. A review request gets a table; a fix request gets code. Don't convert one into the other silently.
  4. Always end with the overrides. Whatever the route, load gotchas and pov before producing output — installer taste wins over canonical defaults.

Gotcha

The router is for entry, not coverage. Landing on easing-curves doesn't exempt you from prefers-reduced-motion — follow the entry node's own outbound links for the mandatory companions.

Sources

  • HKTITAN — routing patterns distilled from operating this graph across real sessions.
  • Related: disambiguation for the intents that blur together, stacking-chains for multi-step jobs.

metaroutingnavigation