{
  "schemaVersion": "1.0",
  "item": {
    "slug": "friday-router",
    "name": "Friday Router",
    "source": "tencent",
    "type": "skill",
    "category": "AI 智能",
    "sourceUrl": "https://clawhub.ai/RuneweaverStudios/friday-router",
    "canonicalUrl": "https://clawhub.ai/RuneweaverStudios/friday-router",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/friday-router",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=friday-router",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "_meta.json",
      "config.json",
      "REVIEW-name-conformity.md",
      "README.md",
      "scripts/router.py",
      "SKILL.md"
    ],
    "primaryDoc": "SKILL.md",
    "quickSetup": [
      "Download the package from Yavira.",
      "Extract the archive and review SKILL.md first.",
      "Import or place the package into your OpenClaw setup."
    ],
    "agentAssist": {
      "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
      "steps": [
        "Download the package from Yavira.",
        "Extract it into a folder your agent can access.",
        "Paste one of the prompts below and point your agent at the extracted folder."
      ],
      "prompts": [
        {
          "label": "New install",
          "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Then review README.md for any prerequisites, environment setup, or post-install checks. Tell me what you changed and call out any manual steps you could not complete."
        },
        {
          "label": "Upgrade existing",
          "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Then review README.md for any prerequisites, environment setup, or post-install checks. Summarize what changed and any follow-up checks I should run."
        }
      ]
    },
    "sourceHealth": {
      "source": "tencent",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-04-30T16:55:25.780Z",
      "expiresAt": "2026-05-07T16:55:25.780Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
        "contentDisposition": "attachment; filename=\"network-1.0.0.zip\"",
        "redirectLocation": null,
        "bodySnippet": null
      },
      "scope": "source",
      "summary": "Source download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this source.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/friday-router"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    },
    "downloadPageUrl": "https://openagent3.xyz/downloads/friday-router",
    "agentPageUrl": "https://openagent3.xyz/skills/friday-router/agent",
    "manifestUrl": "https://openagent3.xyz/skills/friday-router/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/friday-router/agent.md"
  },
  "agentAssist": {
    "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
    "steps": [
      "Download the package from Yavira.",
      "Extract it into a folder your agent can access.",
      "Paste one of the prompts below and point your agent at the extracted folder."
    ],
    "prompts": [
      {
        "label": "New install",
        "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Then review README.md for any prerequisites, environment setup, or post-install checks. Tell me what you changed and call out any manual steps you could not complete."
      },
      {
        "label": "Upgrade existing",
        "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Then review README.md for any prerequisites, environment setup, or post-install checks. Summarize what changed and any follow-up checks I should run."
      }
    ]
  },
  "documentation": {
    "source": "clawhub",
    "primaryDoc": "SKILL.md",
    "sections": [
      {
        "title": "IntentRouter",
        "body": "Your AI's Smart Traffic Director: Precisely Matching Your OpenClaw Tasks to the Perfect LLM.\n\nv1.7.0 — Security-focused release. COMPLEX tier, absolute paths. Tested and working with OpenClaw TUI delegation. Removed gateway auth secret exposure and gateway management for improved security.\n\nIntentRouter analyzes your tasks and directs them to the best LLM—MiniMax 2.5 for code, Kimi k2.5 for creative, Grok Fast for research. Eliminate guesswork; route with purpose.\n\nSecurity improvements in v1.7.0: Removed gateway auth token/password from router output. Gateway management removed - use gateway-guard skill separately. FACEPALM integration removed - use FACEPALM skill separately.\n\nRequirements: OpenRouter — All model IDs use the openrouter/... prefix. Configure OpenClaw with an OpenRouter API key so one auth profile covers every tier.\n\nConfig access: This skill reads ONLY its own config.json file (located in the skill directory) for model configuration and routing rules. It does NOT read openclaw.json, does NOT access gateway tokens/passwords, and does NOT perform any gateway management operations. Router output contains only: task, model, sessionTarget, and optional label — no secrets or credentials.\n\nDefault / orchestrator model: Gemini 2.5 Flash (openrouter/google/gemini-2.5-flash) — fast, cheap, reliable at tool-calling. The router delegates tasks to tier-specific sub-agents (Kimi for creative, MiniMax 2.5 for code, etc.)."
      },
      {
        "title": "Orchestrator flow (mandatory for task requests)",
        "body": "When you are the main agent (Gemini 2.5 Flash) and the user gives you a task (code, research, write, create, design, poem, story, fix, build, etc.), you must delegate it. You do not perform the task yourself; a sub-agent does.\n\nSteps (all three required):\n\nRun IntentRouter to get spawn params:\npython3 workspace/skills/friday-router/scripts/router.py spawn --json \"<user message>\"\n\nExample output: {\"task\":\"write a poem about Mai\",\"model\":\"openrouter/moonshotai/kimi-k2.5\",\"sessionTarget\":\"isolated\"}\n\n\nImmediately call sessions_spawn with the router's output. Use the exact model from the JSON. Example:\nsessions_spawn(task=\"write a poem about Mai\", model=\"openrouter/moonshotai/kimi-k2.5\", sessionTarget=\"isolated\")\n\nDo not change the model value. If the router said openrouter/moonshotai/kimi-k2.5, pass exactly that.\n\n\nForward the sub-agent's reply to the user. That reply IS the task output. Say \"Using: Kimi k2.5\" (the model that actually ran). Never say \"Using: Claude Sonnet 4\" or any model that didn't run. Output hygiene: If the sub-agent result contains internal text (\"A subagent task … completed\", \"Findings:\", \"Stats:\", \"sessionKey\", \"Summarize this naturally\"), strip that block and show only the final user-facing content to the user.\n\nIf sessions_spawn returns an error (e.g. device_token_mismatch): tell the user delegation failed and suggest checking gateway status or using the gateway-guard skill. Do not do the task yourself.\n\nHard-stop rule: If sessions_spawn fails or is skipped, return only the delegation error and next-step fix. Do not write the requested output directly.\n\nNo-classify execution rule: For real user tasks, do not execute via classify. classify is diagnostics only. Execution must use spawn --json -> sessions_spawn.\n\nLabel gate: Only print Using: <model> after successful spawn. If no successful spawn, do not print a Using: label.\n\nOutput hygiene: Never return internal orchestration metadata to the user (no session keys/IDs, transcript paths, runtime/token stats, or internal \"summarize this\" instructions). Forward only clean user-facing content.\n\nException: Meta-questions (\"what model are you?\", \"how does routing work?\") you answer yourself.\n\nSecurity note: This skill does NOT expose gateway auth secrets (tokens/passwords) in its output. Gateway management functionality has been removed. Use the separate gateway-guard skill if gateway auth management is needed."
      },
      {
        "title": "Model Selection (Austin's Prefs)",
        "body": "Use CasePrimary (OpenRouter)FallbackDefault / orchestratorGemini 2.5 Flash—Fast/cheapGemini 2.5 FlashGemini 1.5 Flash, HaikuReasoningGLM-5Minimax 2.5Creative/FrontendKimi k2.5—ResearchGrok Fast—Code/EngineeringMiniMax 2.5Qwen2.5-CoderQuality/ComplexGLM 4.7 FlashGLM 4.7, Sonnet 4, GPT-4oVision/ImagesGPT-4o—\n\nAll model IDs use openrouter/ prefix (e.g. openrouter/moonshotai/kimi-k2.5)."
      },
      {
        "title": "CLI",
        "body": "python scripts/router.py default                          # Show default model\npython scripts/router.py classify \"fix lint errors\"        # Classify → tier + model\npython scripts/router.py spawn --json \"write a poem\"       # JSON for sessions_spawn (no gateway secrets)\npython scripts/router.py models                            # List all models\n\nNote: Gateway auth management is not included. Use gateway-guard skill separately if needed."
      },
      {
        "title": "sessions_spawn examples",
        "body": "Creative task (poem):\n\nrouter output: {\"task\":\"write a poem\",\"model\":\"openrouter/moonshotai/kimi-k2.5\",\"sessionTarget\":\"isolated\"}\n→ sessions_spawn(task=\"write a poem\", model=\"openrouter/moonshotai/kimi-k2.5\", sessionTarget=\"isolated\")\n\nCode task (bug fix):\n\nrouter output: {\"task\":\"fix the login bug\",\"model\":\"openrouter/minimax/minimax-m2.5\",\"sessionTarget\":\"isolated\"}\n→ sessions_spawn(task=\"fix the login bug\", model=\"openrouter/minimax/minimax-m2.5\", sessionTarget=\"isolated\")\n\nResearch task:\n\nrouter output: {\"task\":\"research best LLMs\",\"model\":\"openrouter/x-ai/grok-4.1-fast\",\"sessionTarget\":\"isolated\"}\n→ sessions_spawn(task=\"research best LLMs\", model=\"openrouter/x-ai/grok-4.1-fast\", sessionTarget=\"isolated\")"
      },
      {
        "title": "Tier Detection",
        "body": "FAST: check, get, list, show, status, monitor, fetch, simple\nREASONING: prove, logic, analyze, derive, math, step by step\nCREATIVE: creative, write, story, design, UI, UX, frontend, website (website/frontend/landing projects → Kimi k2.5 only; do not use CODE tier)\nRESEARCH: research, find, search, lookup, web, information\nCODE: code, function, debug, fix, implement, refactor, test, React, JWT (code/API only; not website builds)\nQUALITY: complex, architecture, design, system, comprehensive\nVISION: image, picture, photo, screenshot, visual"
      },
      {
        "title": "What Changed from Original",
        "body": "BugFixSimple indicators inverted (high match = complex)Now correctly: high simple keyword match = FAST tierAgentic tasks not bumping tierMulti-step tasks now properly bump to CODE tierVision tasks misclassifiedVision keywords now take priority over other classificationsCode keywords not detectedAdded React, JWT, API, and other common code termsConfidence always lowNow varies appropriately based on keyword match strength"
      }
    ],
    "body": "IntentRouter\n\nYour AI's Smart Traffic Director: Precisely Matching Your OpenClaw Tasks to the Perfect LLM.\n\nv1.7.0 — Security-focused release. COMPLEX tier, absolute paths. Tested and working with OpenClaw TUI delegation. Removed gateway auth secret exposure and gateway management for improved security.\n\nIntentRouter analyzes your tasks and directs them to the best LLM—MiniMax 2.5 for code, Kimi k2.5 for creative, Grok Fast for research. Eliminate guesswork; route with purpose.\n\nSecurity improvements in v1.7.0: Removed gateway auth token/password from router output. Gateway management removed - use gateway-guard skill separately. FACEPALM integration removed - use FACEPALM skill separately.\n\nRequirements: OpenRouter — All model IDs use the openrouter/... prefix. Configure OpenClaw with an OpenRouter API key so one auth profile covers every tier.\n\nConfig access: This skill reads ONLY its own config.json file (located in the skill directory) for model configuration and routing rules. It does NOT read openclaw.json, does NOT access gateway tokens/passwords, and does NOT perform any gateway management operations. Router output contains only: task, model, sessionTarget, and optional label — no secrets or credentials.\n\nDefault / orchestrator model: Gemini 2.5 Flash (openrouter/google/gemini-2.5-flash) — fast, cheap, reliable at tool-calling. The router delegates tasks to tier-specific sub-agents (Kimi for creative, MiniMax 2.5 for code, etc.).\n\nOrchestrator flow (mandatory for task requests)\n\nWhen you are the main agent (Gemini 2.5 Flash) and the user gives you a task (code, research, write, create, design, poem, story, fix, build, etc.), you must delegate it. You do not perform the task yourself; a sub-agent does.\n\nSteps (all three required):\n\nRun IntentRouter to get spawn params:\n\npython3 workspace/skills/friday-router/scripts/router.py spawn --json \"<user message>\"\n\n\nExample output: {\"task\":\"write a poem about Mai\",\"model\":\"openrouter/moonshotai/kimi-k2.5\",\"sessionTarget\":\"isolated\"}\n\nImmediately call sessions_spawn with the router's output. Use the exact model from the JSON. Example:\n\nsessions_spawn(task=\"write a poem about Mai\", model=\"openrouter/moonshotai/kimi-k2.5\", sessionTarget=\"isolated\")\n\n\nDo not change the model value. If the router said openrouter/moonshotai/kimi-k2.5, pass exactly that.\n\nForward the sub-agent's reply to the user. That reply IS the task output. Say \"Using: Kimi k2.5\" (the model that actually ran). Never say \"Using: Claude Sonnet 4\" or any model that didn't run. Output hygiene: If the sub-agent result contains internal text (\"A subagent task … completed\", \"Findings:\", \"Stats:\", \"sessionKey\", \"Summarize this naturally\"), strip that block and show only the final user-facing content to the user.\n\nIf sessions_spawn returns an error (e.g. device_token_mismatch): tell the user delegation failed and suggest checking gateway status or using the gateway-guard skill. Do not do the task yourself.\n\nHard-stop rule: If sessions_spawn fails or is skipped, return only the delegation error and next-step fix. Do not write the requested output directly.\n\nNo-classify execution rule: For real user tasks, do not execute via classify. classify is diagnostics only. Execution must use spawn --json -> sessions_spawn.\n\nLabel gate: Only print Using: <model> after successful spawn. If no successful spawn, do not print a Using: label.\n\nOutput hygiene: Never return internal orchestration metadata to the user (no session keys/IDs, transcript paths, runtime/token stats, or internal \"summarize this\" instructions). Forward only clean user-facing content.\n\nException: Meta-questions (\"what model are you?\", \"how does routing work?\") you answer yourself.\n\nSecurity note: This skill does NOT expose gateway auth secrets (tokens/passwords) in its output. Gateway management functionality has been removed. Use the separate gateway-guard skill if gateway auth management is needed.\n\nModel Selection (Austin's Prefs)\nUse Case\tPrimary (OpenRouter)\tFallback\nDefault / orchestrator\tGemini 2.5 Flash\t—\nFast/cheap\tGemini 2.5 Flash\tGemini 1.5 Flash, Haiku\nReasoning\tGLM-5\tMinimax 2.5\nCreative/Frontend\tKimi k2.5\t—\nResearch\tGrok Fast\t—\nCode/Engineering\tMiniMax 2.5\tQwen2.5-Coder\nQuality/Complex\tGLM 4.7 Flash\tGLM 4.7, Sonnet 4, GPT-4o\nVision/Images\tGPT-4o\t—\n\nAll model IDs use openrouter/ prefix (e.g. openrouter/moonshotai/kimi-k2.5).\n\nUsage\nCLI\npython scripts/router.py default                          # Show default model\npython scripts/router.py classify \"fix lint errors\"        # Classify → tier + model\npython scripts/router.py spawn --json \"write a poem\"       # JSON for sessions_spawn (no gateway secrets)\npython scripts/router.py models                            # List all models\n\n\nNote: Gateway auth management is not included. Use gateway-guard skill separately if needed.\n\nsessions_spawn examples\n\nCreative task (poem):\n\nrouter output: {\"task\":\"write a poem\",\"model\":\"openrouter/moonshotai/kimi-k2.5\",\"sessionTarget\":\"isolated\"}\n→ sessions_spawn(task=\"write a poem\", model=\"openrouter/moonshotai/kimi-k2.5\", sessionTarget=\"isolated\")\n\n\nCode task (bug fix):\n\nrouter output: {\"task\":\"fix the login bug\",\"model\":\"openrouter/minimax/minimax-m2.5\",\"sessionTarget\":\"isolated\"}\n→ sessions_spawn(task=\"fix the login bug\", model=\"openrouter/minimax/minimax-m2.5\", sessionTarget=\"isolated\")\n\n\nResearch task:\n\nrouter output: {\"task\":\"research best LLMs\",\"model\":\"openrouter/x-ai/grok-4.1-fast\",\"sessionTarget\":\"isolated\"}\n→ sessions_spawn(task=\"research best LLMs\", model=\"openrouter/x-ai/grok-4.1-fast\", sessionTarget=\"isolated\")\n\nTier Detection\nFAST: check, get, list, show, status, monitor, fetch, simple\nREASONING: prove, logic, analyze, derive, math, step by step\nCREATIVE: creative, write, story, design, UI, UX, frontend, website (website/frontend/landing projects → Kimi k2.5 only; do not use CODE tier)\nRESEARCH: research, find, search, lookup, web, information\nCODE: code, function, debug, fix, implement, refactor, test, React, JWT (code/API only; not website builds)\nQUALITY: complex, architecture, design, system, comprehensive\nVISION: image, picture, photo, screenshot, visual\nWhat Changed from Original\nBug\tFix\nSimple indicators inverted (high match = complex)\tNow correctly: high simple keyword match = FAST tier\nAgentic tasks not bumping tier\tMulti-step tasks now properly bump to CODE tier\nVision tasks misclassified\tVision keywords now take priority over other classifications\nCode keywords not detected\tAdded React, JWT, API, and other common code terms\nConfidence always low\tNow varies appropriately based on keyword match strength"
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/RuneweaverStudios/friday-router",
    "publisherUrl": "https://clawhub.ai/RuneweaverStudios/friday-router",
    "owner": "RuneweaverStudios",
    "version": "1.6.2",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/friday-router",
    "downloadUrl": "https://openagent3.xyz/downloads/friday-router",
    "agentUrl": "https://openagent3.xyz/skills/friday-router/agent",
    "manifestUrl": "https://openagent3.xyz/skills/friday-router/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/friday-router/agent.md"
  }
}