{
  "schemaVersion": "1.0",
  "item": {
    "slug": "mupeng-skill-router",
    "name": "skill-router",
    "source": "tencent",
    "type": "skill",
    "category": "AI 智能",
    "sourceUrl": "https://clawhub.ai/mupengi-bot/mupeng-skill-router",
    "canonicalUrl": "https://clawhub.ai/mupengi-bot/mupeng-skill-router",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/mupeng-skill-router",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=mupeng-skill-router",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "SKILL.md",
      "chains.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. 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. 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/mupeng-skill-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/mupeng-skill-router",
    "agentPageUrl": "https://openagent3.xyz/skills/mupeng-skill-router/agent",
    "manifestUrl": "https://openagent3.xyz/skills/mupeng-skill-router/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/mupeng-skill-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. 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. Summarize what changed and any follow-up checks I should run."
      }
    ]
  },
  "documentation": {
    "source": "clawhub",
    "primaryDoc": "SKILL.md",
    "sections": [
      {
        "title": "Skill Router",
        "body": "Meta system that analyzes natural language input to auto-select appropriate skill(s), determine order, and chain execution."
      },
      {
        "title": "Execution Flow",
        "body": "1. Scan only skills/*/SKILL.md frontmatter (trigger matching)\n   - Quick match with description + trigger fields\n   - No full body reading → 83% token savings\n   \n2. Check run field of matched skill for script path\n   - run: \"./run.sh\" → skills/{name}/run.sh\n   - run: \"./run.js\" → skills/{name}/run.js\n   \n3. Direct script execution with exec\n   WORKSPACE=$HOME/.openclaw/workspace \\\n   EVENTS_DIR=$WORKSPACE/events \\\n   MEMORY_DIR=$WORKSPACE/memory \\\n   bash $WORKSPACE/skills/{name}/run.sh [args]\n   \n4. Agent processes stdout result\n   - Parse if JSON\n   - Pass through if text\n   - Check stderr on error\n   \n5. Generate events based on events_out\n   - Create events/{type}-{date}.json file\n   - Subsequent skills consume via events_in\n   \n6. Check hooks → trigger subsequent skills\n   - post: [\"skill-a\", \"skill-b\"] → auto-execute\n   - on_error: [\"notification-hub\"] → notify on error"
      },
      {
        "title": "Skill Metadata Scan",
        "body": "# Extract only frontmatter from all skills\nfor skill in skills/*/SKILL.md; do\n  yq eval '.name, .description, .trigger, .run' \"$skill\"\ndone"
      },
      {
        "title": "Execution Example",
        "body": "# User: \"daily report\"\n# → trigger match: daily-report\n# → Execute:\ncd $HOME/.openclaw/workspace\nWORKSPACE=$PWD \\\nEVENTS_DIR=$PWD/events \\\nMEMORY_DIR=$PWD/memory \\\nbash skills/daily-report/run.sh today\n\n# Agent formats stdout result and delivers to user"
      },
      {
        "title": "Token Savings Effect",
        "body": "Before: SKILL.md 3000 chars × 40 = 120KB (~30K tokens)\nv2: SKILL.md 500 chars × 40 = 20KB (~5K tokens)\nSavings: 83% token reduction"
      },
      {
        "title": "Core Concept",
        "body": "OpenClaw already selects 1 skill via description matching, but this skill:\n\nDetect complex intent: \"Analyze competitors and make card news\" → competitor-watch + copywriting + cardnews + insta-post\nContext-based auto-hooks: Auto-determine subsequent skills when a skill executes\nSkill chain templates: Pre-define frequently used combinations"
      },
      {
        "title": "Single Skill Mapping (1:1)",
        "body": "\"commit/push/git\" → git-auto\n\"DM/instagram message\" → auto-reply\n\"cost/tokens/how much\" → tokenmeter\n\"translate/to English\" → translate\n\"invoice/quote\" → invoice-gen\n\"code review/PR\" → code-review\n\"system status/health\" → health-monitor\n\"trends\" → trend-radar\n\"performance/reactions/likes\" → performance-tracker\n\"daily report\" → daily-report\n\"SEO audit\" → seo-audit\n\"brand tone\" → brand-voice"
      },
      {
        "title": "Complex Skill Chains (1:N) — Core Pipelines",
        "body": "Trigger PatternSkill ChainDescription\"create content/post\"seo-content-planner → copywriting → cardnews → insta-postFull content pipeline\"analyze competitors and report\"competitor-watch → daily-report → mailResearch→report\"summarize this video as card news\"yt-digest → content-recycler → cardnews → insta-postVideo→content conversion\"weekly review\"self-eval + tokenmeter + performance-tracker → daily-reportComprehensive review\"recycle content\"performance-tracker → content-recycler → cardnewsRepackage successful content\"review idea and execute\"think-tank(brainstorm) → decision-log → skill-composerIdeation→decision→execution\"market research\"competitor-watch + trend-radar + data-scraper → daily-reportFull research\"release\"code-review → git-auto → release-disciplineSafe deployment\"morning routine\"health-monitor → tokenmeter → notification-hub → daily-reportMorning auto-check"
      },
      {
        "title": "Context-based Auto-chain Rules",
        "body": "Skill A execution complete → analyze results → auto-determine next skill:\n\nAuto-chain Rules (if → then)\n\nIF competitor-watch detects important change → THEN notification-hub(urgent) + include in daily-report\nIF tokenmeter exceeds $500/month → THEN notification-hub(urgent)\nIF code-review detects HIGH severity → THEN block commit + notification-hub\nIF think-tank conclusion has \"immediate execution\" action → THEN auto-record in decision-log\nIF cardnews generation complete → THEN confirm \"post with insta-post?\" (approval required)\nIF self-eval detects repeated mistake → THEN trigger learning-engine\nIF performance-tracker finds successful content → THEN suggest content-recycler\nIF trend-radar detects hot trend → THEN auto-suggest seo-content-planner\nIF mail detects important email → THEN notification-hub(important)\nIF health-monitor detects anomaly → THEN attempt auto-recovery + notification-hub(urgent)"
      },
      {
        "title": "Execution Engine Protocol",
        "body": "1. Receive user input\n2. Classify intent (single vs complex)\n3. If single → execute skill immediately\n4. If complex → compose skill chain\n   a. Skills without dependencies execute in parallel (sessions_spawn)\n   b. Skills with dependencies execute sequentially (pass previous results via events/)\n5. Check auto-chain rules on each skill completion\n6. Auto-trigger additional skills if needed (or request approval)\n7. Synthesize final results and respond"
      },
      {
        "title": "Auto-hook Registration",
        "body": "When skill-router activates, for all skills:\n\npre-hook: Input validation + security check\npost-hook: Generate events/ event + check chain rules\non-error: Error log + notification-hub"
      },
      {
        "title": "Skill Dependency Graph",
        "body": "[User Input]\n    ↓\n[skill-router] ← Intent classification\n    ↓\n┌─────────────────────────────────────────┐\n│  TIER 1: Data Collection                │\n│  competitor-watch, data-scraper,        │\n│  trend-radar, tokenmeter, yt-digest     │\n└─────────────┬───────────────────────────┘\n              ↓ events/\n┌─────────────────────────────────────────┐\n│  TIER 2: Analysis/Thinking              │\n│  think-tank, self-eval, seo-audit,      │\n│  code-review, performance-tracker       │\n└─────────────┬───────────────────────────┘\n              ↓ events/\n┌─────────────────────────────────────────┐\n│  TIER 3: Production                     │\n│  copywriting, cardnews, content-recycler,│\n│  translate, invoice-gen                  │\n└─────────────┬───────────────────────────┘\n              ↓ events/\n┌─────────────────────────────────────────┐\n│  TIER 4: Deployment/Execution           │\n│  insta-post, mail, git-auto,            │\n│  release-discipline                     │\n└─────────────┬───────────────────────────┘\n              ↓ events/\n┌─────────────────────────────────────────┐\n│  TIER 5: Tracking/Learning              │\n│  daily-report, decision-log,            │\n│  learning-engine, notification-hub      │\n└─────────────────────────────────────────┘"
      },
      {
        "title": "Safety Mechanisms",
        "body": "Always require approval before external actions (email send, SNS post, payment)\nPrevent infinite loops: Stop after same skill chain repeats 3 times\nCost limit: Max 5 subagents per chain\nGraceful stop on error + save partial results\n\n🐧 Built by 무펭이 — Mupengism ecosystem skill"
      }
    ],
    "body": "Skill Router\n\nMeta system that analyzes natural language input to auto-select appropriate skill(s), determine order, and chain execution.\n\n🚀 v2 Architecture: Low-level Call Protocol\nExecution Flow\n1. Scan only skills/*/SKILL.md frontmatter (trigger matching)\n   - Quick match with description + trigger fields\n   - No full body reading → 83% token savings\n   \n2. Check run field of matched skill for script path\n   - run: \"./run.sh\" → skills/{name}/run.sh\n   - run: \"./run.js\" → skills/{name}/run.js\n   \n3. Direct script execution with exec\n   WORKSPACE=$HOME/.openclaw/workspace \\\n   EVENTS_DIR=$WORKSPACE/events \\\n   MEMORY_DIR=$WORKSPACE/memory \\\n   bash $WORKSPACE/skills/{name}/run.sh [args]\n   \n4. Agent processes stdout result\n   - Parse if JSON\n   - Pass through if text\n   - Check stderr on error\n   \n5. Generate events based on events_out\n   - Create events/{type}-{date}.json file\n   - Subsequent skills consume via events_in\n   \n6. Check hooks → trigger subsequent skills\n   - post: [\"skill-a\", \"skill-b\"] → auto-execute\n   - on_error: [\"notification-hub\"] → notify on error\n\nSkill Metadata Scan\n# Extract only frontmatter from all skills\nfor skill in skills/*/SKILL.md; do\n  yq eval '.name, .description, .trigger, .run' \"$skill\"\ndone\n\nExecution Example\n# User: \"daily report\"\n# → trigger match: daily-report\n# → Execute:\ncd $HOME/.openclaw/workspace\nWORKSPACE=$PWD \\\nEVENTS_DIR=$PWD/events \\\nMEMORY_DIR=$PWD/memory \\\nbash skills/daily-report/run.sh today\n\n# Agent formats stdout result and delivers to user\n\nToken Savings Effect\nBefore: SKILL.md 3000 chars × 40 = 120KB (~30K tokens)\nv2: SKILL.md 500 chars × 40 = 20KB (~5K tokens)\nSavings: 83% token reduction\nCore Concept\n\nOpenClaw already selects 1 skill via description matching, but this skill:\n\nDetect complex intent: \"Analyze competitors and make card news\" → competitor-watch + copywriting + cardnews + insta-post\nContext-based auto-hooks: Auto-determine subsequent skills when a skill executes\nSkill chain templates: Pre-define frequently used combinations\nIntent Classification Matrix\nSingle Skill Mapping (1:1)\n\"commit/push/git\" → git-auto\n\"DM/instagram message\" → auto-reply\n\"cost/tokens/how much\" → tokenmeter\n\"translate/to English\" → translate\n\"invoice/quote\" → invoice-gen\n\"code review/PR\" → code-review\n\"system status/health\" → health-monitor\n\"trends\" → trend-radar\n\"performance/reactions/likes\" → performance-tracker\n\"daily report\" → daily-report\n\"SEO audit\" → seo-audit\n\"brand tone\" → brand-voice\nComplex Skill Chains (1:N) — Core Pipelines\nTrigger Pattern\tSkill Chain\tDescription\n\"create content/post\"\tseo-content-planner → copywriting → cardnews → insta-post\tFull content pipeline\n\"analyze competitors and report\"\tcompetitor-watch → daily-report → mail\tResearch→report\n\"summarize this video as card news\"\tyt-digest → content-recycler → cardnews → insta-post\tVideo→content conversion\n\"weekly review\"\tself-eval + tokenmeter + performance-tracker → daily-report\tComprehensive review\n\"recycle content\"\tperformance-tracker → content-recycler → cardnews\tRepackage successful content\n\"review idea and execute\"\tthink-tank(brainstorm) → decision-log → skill-composer\tIdeation→decision→execution\n\"market research\"\tcompetitor-watch + trend-radar + data-scraper → daily-report\tFull research\n\"release\"\tcode-review → git-auto → release-discipline\tSafe deployment\n\"morning routine\"\thealth-monitor → tokenmeter → notification-hub → daily-report\tMorning auto-check\nContext-based Auto-chain Rules\n\nSkill A execution complete → analyze results → auto-determine next skill:\n\nAuto-chain Rules (if → then)\n\nIF competitor-watch detects important change → THEN notification-hub(urgent) + include in daily-report\nIF tokenmeter exceeds $500/month → THEN notification-hub(urgent)\nIF code-review detects HIGH severity → THEN block commit + notification-hub\nIF think-tank conclusion has \"immediate execution\" action → THEN auto-record in decision-log\nIF cardnews generation complete → THEN confirm \"post with insta-post?\" (approval required)\nIF self-eval detects repeated mistake → THEN trigger learning-engine\nIF performance-tracker finds successful content → THEN suggest content-recycler\nIF trend-radar detects hot trend → THEN auto-suggest seo-content-planner\nIF mail detects important email → THEN notification-hub(important)\nIF health-monitor detects anomaly → THEN attempt auto-recovery + notification-hub(urgent)\nExecution Engine Protocol\n1. Receive user input\n2. Classify intent (single vs complex)\n3. If single → execute skill immediately\n4. If complex → compose skill chain\n   a. Skills without dependencies execute in parallel (sessions_spawn)\n   b. Skills with dependencies execute sequentially (pass previous results via events/)\n5. Check auto-chain rules on each skill completion\n6. Auto-trigger additional skills if needed (or request approval)\n7. Synthesize final results and respond\n\nAuto-hook Registration\n\nWhen skill-router activates, for all skills:\n\npre-hook: Input validation + security check\npost-hook: Generate events/ event + check chain rules\non-error: Error log + notification-hub\nSkill Dependency Graph\n[User Input]\n    ↓\n[skill-router] ← Intent classification\n    ↓\n┌─────────────────────────────────────────┐\n│  TIER 1: Data Collection                │\n│  competitor-watch, data-scraper,        │\n│  trend-radar, tokenmeter, yt-digest     │\n└─────────────┬───────────────────────────┘\n              ↓ events/\n┌─────────────────────────────────────────┐\n│  TIER 2: Analysis/Thinking              │\n│  think-tank, self-eval, seo-audit,      │\n│  code-review, performance-tracker       │\n└─────────────┬───────────────────────────┘\n              ↓ events/\n┌─────────────────────────────────────────┐\n│  TIER 3: Production                     │\n│  copywriting, cardnews, content-recycler,│\n│  translate, invoice-gen                  │\n└─────────────┬───────────────────────────┘\n              ↓ events/\n┌─────────────────────────────────────────┐\n│  TIER 4: Deployment/Execution           │\n│  insta-post, mail, git-auto,            │\n│  release-discipline                     │\n└─────────────┬───────────────────────────┘\n              ↓ events/\n┌─────────────────────────────────────────┐\n│  TIER 5: Tracking/Learning              │\n│  daily-report, decision-log,            │\n│  learning-engine, notification-hub      │\n└─────────────────────────────────────────┘\n\nSafety Mechanisms\nAlways require approval before external actions (email send, SNS post, payment)\nPrevent infinite loops: Stop after same skill chain repeats 3 times\nCost limit: Max 5 subagents per chain\nGraceful stop on error + save partial results\n\n🐧 Built by 무펭이 — Mupengism ecosystem skill"
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/mupengi-bot/mupeng-skill-router",
    "publisherUrl": "https://clawhub.ai/mupengi-bot/mupeng-skill-router",
    "owner": "mupengi-bot",
    "version": "1.0.0",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/mupeng-skill-router",
    "downloadUrl": "https://openagent3.xyz/downloads/mupeng-skill-router",
    "agentUrl": "https://openagent3.xyz/skills/mupeng-skill-router/agent",
    "manifestUrl": "https://openagent3.xyz/skills/mupeng-skill-router/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/mupeng-skill-router/agent.md"
  }
}