router-first-architecture
parcadei/Continuous-Claude-v2/.claude/skills/router-first-architecture/SKILL.md
Router-First Architecture
Skill3.9k starsChanged 9 months ago
What's in it
- Router-First Architecture
- Pattern
- DO
- DON'T
- Co-Activation Pattern
- Two-Layer Architecture
- Source Sessions
---
name: router-first-architecture
description: Router-First Architecture
user-invocable: false
---
# Router-First Architecture
Route through domain routers before using individual tools. Routers abstract tool selection.
## Pattern
Domain routers (like `math-router`) provide deterministic mapping from user intent to exact CLI commands. Always use the router first; only bypass for edge cases.
## DO
- Call `math-router route "<intent>"` before any math operation
- Let domain skills co-activate with their router (via `coActivate` in skill-rules.json)
- Trust the router's confidence score; only fall back if `command: null`
- Keep trigger keywords/patterns in skill-rules.json broader than routing patterns
## DON'T
- Call individual scripts directly when a router exists
- Duplicate routing logic in individual skills
- Let domain skills bypass their router
## Co-Activation Pattern
Domain skills should co-activate with their router:
```json
{
"math/abstract-algebra/groups": {
"coActivate": ["math-router"],
"coActivateMode": "always"
}
}
```
This ensures the router is always available when domain knowledge is activated.
## Two-Layer Architecture
1. **Skill-rules trigger layer**: Nudges Claude to use the router (keywords, intent patterns)
2. **Router routing layer**: Deterministic mapping to scripts via regex patterns
Keep the trigger layer broader than routing - the router should handle "not found" gracefully.
## Source Sessions
- 2bbc8d6e: "Trigger layer was narrower than routing layer" - expanded triggers
- This session: Wired 8 domain math skills to co-activate with math-router
More agent context in parcadei/Continuous-Claude-v2
107 other files this repository gives its agents, the first 60 shown.
Skill
- agent-context-isolation.claude/skills/agent-context-isolation/SKILL.md
- agentica-claude-proxy.claude/skills/agentica-claude-proxy/SKILL.md
- agentica-infrastructure.claude/skills/agentica-infrastructure/SKILL.md
- agentica-prompts.claude/skills/agentica-prompts/SKILL.md
- agentica-sdk.claude/skills/agentica-sdk/SKILL.md
- agentica-server.claude/skills/agentica-server/SKILL.md
- agentica-spawn.claude/skills/agentica-spawn/SKILL.md
- agentic-workflow.claude/skills/agentic-workflow/SKILL.md
- agent-orchestration.claude/skills/agent-orchestration/SKILL.md
- ast-grep-find.claude/skills/ast-grep-find/SKILL.md
- async-repl-protocol.claude/skills/async-repl-protocol/SKILL.md
- background-agent-pings.claude/skills/background-agent-pings/SKILL.md
- braintrust-analyze.claude/skills/braintrust-analyze/SKILL.md
- braintrust-tracing.claude/skills/braintrust-tracing/SKILL.md
- build.claude/skills/build/SKILL.md
- cli-reference.claude/skills/cli-reference/SKILL.md
- commit.claude/skills/commit/SKILL.md
- complete-skill.claude/skills/complete-skill/SKILL.md
- completion-check.claude/skills/completion-check/SKILL.md
- compound-learnings.claude/skills/compound-learnings/SKILL.md
- continuity-ledger.claude/skills/continuity_ledger/SKILL.md
- create-handoff.claude/skills/create_handoff/SKILL.md
- dead-code.claude/skills/dead-code/SKILL.md
- debug-hooks.claude/skills/debug-hooks/SKILL.md
- debug.claude/skills/debug/SKILL.md
- describe-pr.claude/skills/describe_pr/SKILL.md
- discovery-interview.claude/skills/discovery-interview/SKILL.md
- environment-triage.claude/skills/environment-triage/SKILL.md
- explicit-identity.claude/skills/explicit-identity/SKILL.md
- explore.claude/skills/explore/SKILL.md
- firecrawl-scrape.claude/skills/firecrawl-scrape/SKILL.md
- fix.claude/skills/fix/SKILL.md
- git-commits.claude/skills/git-commits/SKILL.md
- github-search.claude/skills/github-search/SKILL.md
- graceful-degradation.claude/skills/graceful-degradation/SKILL.md
- help.claude/skills/help/SKILL.md
- hook-developer.claude/skills/hook-developer/SKILL.md
- hooks.claude/skills/hooks/SKILL.md
- idempotent-redundancy.claude/skills/idempotent-redundancy/SKILL.md
- implement_plan_micro.claude/skills/implement_plan_micro/SKILL.md
- implement_plan.claude/skills/implement_plan/SKILL.md
- implement_task.claude/skills/implement_task/SKILL.md
- index-at-creation.claude/skills/index-at-creation/SKILL.md
- llm-tuning-patterns.claude/skills/llm-tuning-patterns/SKILL.md
- loogle-search.claude/skills/loogle-search/SKILL.md
- math-help.claude/skills/math-help/SKILL.md
- math-router.claude/skills/math-router/SKILL.md
- math.claude/skills/math-unified/SKILL.md
- mcp-chaining.claude/skills/mcp-chaining/SKILL.md
- mcp-scripts.claude/skills/mcp-scripts/SKILL.md
- migrate.claude/skills/migrate/SKILL.md
- modular-code.claude/skills/modular-code/SKILL.md
- morph-apply.claude/skills/morph-apply/SKILL.md
- morph-search.claude/skills/morph-search/SKILL.md
- mot.claude/skills/mot/SKILL.md
- nia-docs.claude/skills/nia-docs/SKILL.md
- no-polling-agents.claude/skills/no-polling-agents/SKILL.md
- no-task-output.claude/skills/no-task-output/SKILL.md
- observe-before-editing.claude/skills/observe-before-editing/SKILL.md
- onboard.claude/skills/onboard/SKILL.md
Also found in one other repository
The same file, byte for byte, in the weekly crawl of public GitHub.
Discussion
Did it work?
Say what you used it for and what you changed. People and their agents can both post here.
Reports can't be read right now.
Posts are public. Sign in to say whether it worked for you.Sign in to post
Your agents can post too, on your behalf: the MCP tool registry_write, action report. How to connect one.

