claude-code-router
Skill32 starsChanged 15 days agoMITView on GitHub
Pont entre Cowork (interface utilisateur) et tk-orchestrator (moteur d'exécution CLI/Temporal). Quand une tâche dépasse les capacités de Cowork (subprocess, accès fichiers système, Docker, npm), ce skill prépare et route vers tk-orchestrator via le protocole MCP workspace. Ce skill évite à l'utilisateur de basculer manuellement vers Claude Code pour chaque opération système. Classifier la demande selon les critères de routage : Construire la commande selon le type : CLI goat direct : Connector hub : tk-orchestrator : Toujours simuler avec --dry-run…
In this repository20 other files it gives its agents.
- AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- open-source-jp-scraperSkill
- vault-token-optimizerSkill
- agent-config-auditSkill
- code-correctorSkill
- consolidate-memorySkill
- dev-protocolSkill
- docmancerSkill
- doc-to-skillSkill
- god-modeSkill
- rtkSkill
- session-memorySkill
- skill-creatorSkill
- skill-managerSkill
- subtitle-fixSkill
- tk-bootSkill
- tk-grillSkill
- tk-orchestratorSkill
- token-saviorSkill
The file
Files
SKILL : claude-code-router
Version : 0.1.0 Trigger : "lance tk-orchestrator", "exécute une commande TricorderKit", "router vers tk", "tk:dispatch", "délègue à Claude Code", "claude-code-router"
Rôle
Pont entre Cowork (interface utilisateur) et tk-orchestrator (moteur d'exécution CLI/Temporal). Quand une tâche dépasse les capacités de Cowork (subprocess, accès fichiers système, Docker, npm), ce skill prépare et route vers tk-orchestrator via le protocole MCP workspace.
Ce skill évite à l'utilisateur de basculer manuellement vers Claude Code pour chaque opération système.
Séquence de routage
1. Analyser la demande
Classifier la demande selon les critères de routage :
| Type de demande | Route vers |
| Lecture/écriture fichier workspace | Cowork direct (Read/Write/Edit tools) |
| Subprocess Python/Node local | mcp__workspace__bash |
| Workflow Temporal (source-watch, etc.) | connector_hub.py dispatch --temporal |
| CLI goat (obsidian-goat, github-goat…) | mcp__workspace__bash + chemin goat |
| Tâche > 10 steps ou multi-fichiers | tk-orchestrator via bash |
| Accès Obsidian vault | MCP obsidian-claude-vault ou obsidian-my-domain-project |
2. Construire la commande
Construire la commande selon le type :
CLI goat direct :
python3 {REPO_ROOT}/tools/obsidian-goat/obsidian_goat.py {command} --vault {vault} [--dry-run]Connector hub :
python3 {REPO_ROOT}/plugins/connector-hub/connector_hub.py dispatch --source {source} [--temporal] [--dry-run]tk-orchestrator :
python3 {REPO_ROOT}/plugins/cli-forge/generated/tk-orchestrator/tk_orchestrator.py route --task "{task}" [--dry-run]3. Dry-run obligatoire (R3)
Toujours simuler avec --dry-run avant exécution réelle, sauf si :
- L'utilisateur a explicitement dit "exécute sans simulation"
- La commande est en lecture seule (list, status, check)
Présenter le résultat dry-run et demander confirmation pour les actions destructives.
4. Exécuter
Via mcp__workspace__bash :
result = subprocess.run(
cmd, capture_output=True, text=True, timeout=30,
cwd=REPO_ROOT, env={**os.environ, "PYTHONUTF8": "1"}
)5. Retourner le résultat
Format de sortie R15 :
{
"status": "success|error|dry_run",
"route": "goat|connector_hub|temporal|orchestrator",
"command": ["python3", "..."],
"output": {...},
"next_action": "..."
}Table de routage détaillée
Requêtes Obsidian
- "lis la note X" →
obsidian-goat read-note - "écris/crée une note" →
obsidian-goat write-note(+ dry-run) - "mets à jour le hot cache" →
obsidian-goat update-hot-cache - "ajoute au log" →
obsidian-goat append-log
Requêtes ingestion de sources
- "lance la veille GitHub" →
connector_hub dispatch --source github [--temporal] - "surveille toutes les sources" →
connector_hub dispatch --all --temporal - "statut des sources" →
connector_hub status
Requêtes deep-research
- "recherche approfondie sur X" → skill
rtk+deep-research-core - "génère une fiche Obsidian" → skill
docmancer
Requêtes Temporal
- "démarre le workflow source-watch" →
dispatch_temporal.py dispatch --workflow source-watch - "vérifie le statut du workflow" →
dispatch_temporal.py status {workflow_id}
Requêtes orchestration complexe
- Tâches multi-étapes, enchaînement de CLIs → déléguer à
tk-orchestrator
Gardes-fous
- Jamais d'appel réseau direct depuis ce skill — passer par les CLIs goat ou les MCP
- Jamais de modification Obsidian sans
check-notepréalable (règle R7 anti-doublon) - Jamais de déclenchement Temporal sans dry-run validé en cas de
--interval> 0 - Budget tokens : si > 70%, activer token-savior lite avant de construire la commande
Dépendances
mcp__workspace__bash— exécution subprocesstools/obsidian-goat/obsidian_goat.py— opérations Obsidianplugins/connector-hub/connector_hub.py— ingestion sourcesplugins/connector-hub/scripts/dispatch_temporal.py— Temporal- Skills :
rtk,docmancer,token-savior AGENTS.md— règles R1 (CLI avant LLM), R3 (dry-run), R7 (anti-doublon), R15 (caveman)
Exemple complet
Requête : "lance la veille GitHub en mode Temporal"
[claude-code-router] Route: connector_hub → temporal
Dry-run d'abord :
$ python3 plugins/connector-hub/connector_hub.py dispatch --source github --temporal --dry-run --format json
{
"mode": "temporal",
"sources": ["github"],
"temporal_result": {
"status": "dry_run",
"workflow_id": "tricorderkit-source-watch-20260518",
"message": "Dry-run: aucun workflow déclenché"
}
}
Confirmer l'exécution réelle ? (oui/non)Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

