auto-invoke-router

Scans installed skills and AGENTS.md to generate a routing config that maps conversation intents to skills. Use when you want to reduce manual skill invocation, improve intent matching across a large skill library, or when setting up OpenClaw for the first time with multiple skills installed.

Safety Notice

This listing is from the official public ClawHub registry. Review SKILL.md and referenced scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "auto-invoke-router" with this command: npx skills add ordo-tech/auto-invoke-router

What this skill does

Reads every installed skill's SKILL.md frontmatter (the description field) and any local AGENTS.md to produce a skill_routing config block. This config maps intent keywords and phrases to skill names, giving OpenClaw a structured reference for selecting the right skill based on conversation context.

The output is written into AGENTS.md as a ## Skill Routing section, or saved as a standalone router.yml. Native auto-invoke behaviour depends on your OpenClaw version — check your release notes or docs to confirm whether skill_routing in AGENTS.md is read automatically. In all versions, the config serves as a clear, human-readable routing reference that can be wired up manually or extended with custom rules.

When to use it

  • More than ~5 skills are installed and manual invocation is getting unwieldy
  • Users are triggering the wrong skill or missing relevant ones
  • Setting up a new OpenClaw instance and want smart defaults from the start
  • After installing a batch of skills and wanting to refresh the routing map
  • Whenever the available_skills block in context feels cluttered or mismatched

Usage

Step 1 — Locate installed skills

Derive the OpenClaw system skill directory from the binary location:

OPENCLAW_BIN=$(which openclaw 2>/dev/null || which claw 2>/dev/null)
OPENCLAW_SYSTEM_SKILLS=$(dirname "$OPENCLAW_BIN")/../lib/node_modules/openclaw/skills
find ~/.openclaw/skills "$OPENCLAW_SYSTEM_SKILLS" -name "SKILL.md" 2>/dev/null

If which openclaw returns nothing, also try common install locations:

find ~/.openclaw/skills \
  /opt/homebrew/lib/node_modules/openclaw/skills \
  /usr/local/lib/node_modules/openclaw/skills \
  -name "SKILL.md" 2>/dev/null

Collect the full list of SKILL.md paths. If clawhub list is available, also run:

clawhub list

to confirm installed skill names.

Step 2 — Extract descriptions

For each SKILL.md found, read the YAML frontmatter block (lines between the opening and closing ---). Extract:

  • name — the skill identifier
  • description — the full triggering description

Do not read the body of each SKILL.md; frontmatter only.

If a skill is missing a name or description field, skip it and note it in the final report as: skill-x: skipped — missing description. Do not fabricate a description.

Step 3 — Read AGENTS.md

Read AGENTS.md in the current workspace. Look for it at ./AGENTS.md relative to the workspace root, or at ~/.openclaw/workspace/AGENTS.md if no workspace context is set. Identify any existing ## Skill Routing section. If it exists, it will be fully replaced in Step 6.

Step 4 — Generate intent keywords

For each skill, derive 3–8 intent keywords or short phrases from the description. Rules:

  • Use lowercase
  • Prefer noun phrases and verb phrases that a user would naturally say (e.g. "search for skill", "install skill", "weather forecast", "github PR", "security audit")
  • Omit generic words: "use", "when", "skill", "tool", "this"
  • Include negatives if the description calls them out explicitly (e.g. "NOT for historical data")

After generating all triggers, check for conflicts: if the same keyword appears under two or more different skills, flag it in the report as ambiguous. Do not remove the keyword — leave it in both entries and let the user resolve it.

Step 5 — Produce the routing config

Output a YAML block in this format:

# auto-invoke-router — generated by auto-invoke-router skill
# Regenerate by invoking: auto-invoke-router
# WARNING: this section is fully regenerated on each run. Manual edits will be
# overwritten. To preserve custom triggers, add them above this block in AGENTS.md
# with a comment like: # custom-routing-preserve
skill_routing:
  version: "1.0"
  rules:
    - skill: clawhub
      triggers:
        - search clawhub
        - install skill
        - update skill
        - publish skill
        - clawhub list
    - skill: weather
      triggers:
        - weather
        - temperature
        - forecast
        - rain
    - skill: gh-issues
      triggers:
        - github issue
        - fix bug
        - open PR
        - pull request
        - review comments
    # ... one entry per installed skill
  fallback: null  # set to any installed skill name to invoke when no rule matches,
                  # or leave as null to take no default action

Use the actual installed skill names and generated triggers — the above is illustrative only.

Step 6 — Write output

Option A — Append to AGENTS.md (recommended):

Add a ## Skill Routing section at the end of AGENTS.md containing the full skill_routing: YAML block inside a fenced code block. If a ## Skill Routing section already exists, replace it in full — all triggers are regenerated from current descriptions. Any manual edits to the previous section will be lost; users should preserve custom triggers outside this block (see the warning comment in Step 5).

Option B — Standalone file:

Write the YAML block to router.yml in the workspace root. Inform the user to reference it in AGENTS.md if they want OpenClaw to pick it up automatically.

Step 7 — Report

After writing, output a short summary:

Router updated — N skills mapped, M skipped
Skills covered: skill-a, skill-b, skill-c, ...
Skipped (no description): skill-x, skill-y
Trigger conflicts (review manually): keyword-foo (skill-a, skill-b), keyword-bar (skill-c, skill-d)
Output: AGENTS.md § Skill Routing (or router.yml)
Note: verify your OpenClaw version supports native skill_routing before relying on auto-invoke.

Examples

Example 1: Fresh install with 6 skills

Input: 6 installed skills found via find. AGENTS.md has no routing section.

Output: ## Skill Routing appended to AGENTS.md with 6 rule entries, each containing 4–6 triggers derived from their descriptions. Summary reports "6 skills mapped, 0 skipped."

Example 2: Refresh after installing new skills

Input: AGENTS.md already has a ## Skill Routing section with 4 rules. 3 new skills were installed since last run.

Output: Existing section replaced in full with 7 rules — all triggers regenerated from current descriptions. Summary reports "7 skills mapped." Any manual trigger edits in the previous section are not preserved; the report reminds the user to re-apply them if needed.

Example 3: No AGENTS.md found

Input: Workspace has no AGENTS.md.

Output: router.yml written to workspace root. User informed to create AGENTS.md and include the routing block, or to re-run once AGENTS.md is present.

Example 4: Skills with missing descriptions

Input: 8 skills found; 2 have no description field in their frontmatter.

Output: 6 rules generated for the skills with descriptions. Report lists the 2 skipped skills by name. User can add descriptions to those skills' SKILL.md files and re-run.

Requirements

  • At least one skill installed with a valid description field (output is empty otherwise — report this clearly)
  • Read access to ~/.openclaw/skills/ and OpenClaw's system skill directories
  • Write access to AGENTS.md or workspace root for router.yml
  • bash tool available for the find and which commands in Step 1

No API keys or external accounts required. Runs entirely on local files.

Support

Issues or questions: https://clawhub.com/@ordo-tech/auto-invoke-router Publisher: @ordo-tech on ClawHub

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Automation

Keep Protocol

Signed Protobuf packets over TCP for AI agent-to-agent communication. Now with MCP tools for sub-second latency! Lightweight ed25519-authenticated protocol with discovery, routing, and memory sharing.

Registry SourceRecently Updated
2.6K2Profile unavailable
Automation

Skill Factory

Build and publish OpenClaw skills from recurring pain points. Scans .learnings/ for errors that hit 3+ recurrences, scaffolds skills from them, and publishes...

Registry SourceRecently Updated
2740Profile unavailable
Automation

Meta-Router

Automatically indexes and routes user intents to installed OpenClaw skills by scanning SKILL.md files and dynamically injecting relevant skill contexts.

Registry SourceRecently Updated
3251Profile unavailable
Automation

OpenClaw 集中配置管理系统

为 OpenClaw 构建集中化配置管理系统,告别硬编码和配置分散,实现"改一处,生效全局"的现代化运维体验。包含配置加载器、主配置融合、记忆同步、AGENTS.md 模板、memoryFlush、memorySearch、多 Agent 配置、ClawRouter 成本优化等核心功能。

Registry SourceRecently Updated
3951Profile unavailable