tool-routing

Decision guide for choosing the right tool when operating websites, browsers, and desktop software. Consult when the task involves web interaction, website automation, or desktop app control.

1,592 stars

Best use case

tool-routing is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Decision guide for choosing the right tool when operating websites, browsers, and desktop software. Consult when the task involves web interaction, website automation, or desktop app control.

Teams using tool-routing should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/tool-routing/SKILL.md --create-dirs "https://raw.githubusercontent.com/openakita/openakita/main/skills/system/tool-routing/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/tool-routing/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How tool-routing Compares

Feature / Agenttool-routingStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Decision guide for choosing the right tool when operating websites, browsers, and desktop software. Consult when the task involves web interaction, website automation, or desktop app control.

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

Related Guides

SKILL.md Source

# 工具选择路由指南

当任务涉及操作网站、浏览器或桌面软件时,使用此指南选择最可靠的工具路径。

## 网站 & 浏览器操作

```
需要操作网站?
│
├─ 只需读取内容(文章、文档、API)
│   └─ web_fetch(最快,无需浏览器)
│
├─ 只需搜索信息
│   └─ web_search(DuckDuckGo 直接搜索)
│
├─ 需要交互(点击、填表、登录)
│   │
│   ├─ 目标网站有 opencli adapter?
│   │   └─ YES → opencli_run(最可靠,复用 Chrome 登录态)
│   │
│   ├─ 需要复杂多步交互?
│   │   └─ browser_task(自动规划步骤)
│   │       └─ 失败?→ 手动组合 browser_navigate + browser_click + browser_type
│   │
│   └─ 需要单步精确操作?
│       └─ browser_navigate / browser_click / browser_type 等
│
└─ 需要截图验证?
    └─ browser_screenshot → view_image
```

## 桌面软件操作

```
需要控制桌面软件?
│
├─ 有 cli-anything CLI?(cli_anything_discover 检查)
│   └─ YES → cli_anything_run(最可靠,调用真实后端)
│
├─ Windows 系统?
│   └─ desktop_* 工具(UIA/pyautogui GUI 自动化)
│
└─ 有命令行工具?
    └─ run_shell(直接执行)
```

## 可靠性排序

### 网站操作(从高到低)
1. **opencli_run** — 确定性命令 + JSON 输出 + 登录态
2. **web_fetch** — 简单 HTTP 获取(仅读取)
3. **browser_navigate + browser_click/type** — 手动精确控制
4. **browser_task** — AI 自主操作(可能不稳定)
5. **call_mcp_tool("chrome-devtools")** — 需要额外配置

### 桌面软件操作(从高到低)
1. **cli_anything_run** — CLI 调用真实后端
2. **run_shell** — 系统命令行工具
3. **desktop_* 工具** — GUI 自动化(仅 Windows,脆弱)

## 关键原则

- **browser_task 失败不要反复重试** — 失败 1 次就切换到手动 browser_click/type 组合
- **搜索类任务不要用 browser_task** — 直接用 browser_navigate 拼 URL 参数更可靠
- **有 opencli adapter 时总是优先使用** — 比让 LLM 猜测页面操作可靠得多
- **有 cli-anything CLI 时优先使用** — 比 GUI 自动化可靠 100 倍

Related Skills

get-tool-info

1592
from openakita/openakita

Get system tool detailed parameter definition (Level 2 disclosure). When you need to understand unfamiliar tool usage, check tool parameters, or learn tool examples. Call before using unfamiliar tools.

call-mcp-tool

1592
from openakita/openakita

Call MCP server tool for extended capabilities. Check 'MCP Servers' section in system prompt for available servers and tools. When you need to use external service or access specialized functionality.

openakita/skills@douyin-tool

1592
from openakita/openakita

Douyin (TikTok China) content toolkit for video script writing, short video optimization, BGM recommendations, caption generation, trending topic analysis, and video download/info extraction workflows.

openakita/skills@datetime-tool

1592
from openakita/openakita

Get current time, format dates, calculate date differences, and convert timezones. Use this skill when the user asks about time, dates, timezone conversions, weekdays, or needs date calculations and formatting in any locale.

openakita/skills@yuque-skills

1592
from openakita/openakita

Manage Yuque (语雀) knowledge bases, documents, and team collaboration through API integration. Supports personal search, weekly reports, knowledge base management, document CRUD, and group collaboration workflows. Based on yuque/yuque-skills.

openakita/skills@youtube-summarizer

1592
from openakita/openakita

Summarize YouTube videos by extracting transcripts and generating structured notes. Use when the user wants to summarize a YouTube video, extract key points from a talk, create study notes from a lecture, or get timestamps for important moments. Supports multiple URL formats and languages.

openakita/skills@xlsx

1592
from openakita/openakita

Use this skill any time a spreadsheet file is the primary input or output. This means any task where the user wants to: open, read, edit, or fix an existing .xlsx, .xlsm, .csv, or .tsv file (e.g., adding columns, computing formulas, formatting, charting, cleaning messy data); create a new spreadsheet from scratch or from other data sources; or convert between tabular file formats. Trigger especially when the user references a spreadsheet file by name or path — even casually (like "the xlsx in my downloads") — and wants something done to it or produced from it. Also trigger for cleaning or restructuring messy tabular data files (malformed rows, misplaced headers, junk data) into proper spreadsheets. The deliverable must be a spreadsheet file. Do NOT trigger when the primary deliverable is a Word document, HTML report, standalone Python script, database pipeline, or Google Sheets API integration, even if tabular data is involved.

openakita/skills@xiaohongshu-creator

1592
from openakita/openakita

Create engaging Xiaohongshu (RED/小红书) content including titles, body text, hashtags, and image style recommendations. Supports multiple content types such as product reviews, tutorials, lifestyle sharing, and shopping guides with platform-specific optimization.

openakita/skills@wechat-article

1592
from openakita/openakita

Create and format WeChat Official Account (公众号) articles with proper Markdown-to-WeChat HTML conversion, rich formatting, cover image guidance, and both API and manual publishing workflows.

openakita/skills@webapp-testing

1592
from openakita/openakita

Toolkit for interacting with and testing local web applications using Playwright. Supports verifying frontend functionality, debugging UI behavior, capturing browser screenshots, and viewing browser logs.

openakita/skills@web-artifacts-builder

1592
from openakita/openakita

Suite of tools for creating elaborate, multi-component interactive HTML artifacts using modern frontend web technologies (React, Tailwind CSS, shadcn/ui). Use for complex artifacts requiring state management, routing, or shadcn/ui components - not for simple single-file HTML/JSX artifacts.

openakita/skills@video-downloader

1592
from openakita/openakita

Download YouTube videos with customizable quality and format options. Use this skill when the user asks to download, save, or grab YouTube videos. Supports various quality settings (best, 1080p, 720p, 480p, 360p), multiple formats (mp4, webm, mkv), and audio-only downloads as MP3.