tool-routing
$
npx mdskill add openakita/openakita/tool-routingRoute agents to reliable tools for web and desktop automation.
- Selects precise tools for website interaction or desktop control.
- Prioritizes opencli_run and cli_anything_run for deterministic results.
- Switches to manual browser commands after browser_task failures.
- Outputs clear decision paths for web and software operations.
SKILL.md
.github/skills/tool-routingView on GitHub ↗
---
name: tool-routing
description: 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.
system: true
category: System
priority: high
---
# 工具选择路由指南
当任务涉及操作网站、浏览器或桌面软件时,使用此指南选择最可靠的工具路径。
## 网站 & 浏览器操作
```
需要操作网站?
│
├─ 只需读取内容(文章、文档、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 倍
More from openakita/openakita
- add-memoryRecord important information to long-term memory for learning user preferences, successful patterns, and error lessons. When you need to remember user preferences, save successful patterns, or record lessons from errors.
- algorithmic-artCreating algorithmic art using p5.js with seeded randomness and interactive parameter exploration. Use this when users request creating art using code, generative art, algorithmic art, flow fields, or particle systems. Create original algorithmic art rather than copying existing artists' work to avoid copyright violations.
- apify-scraperWeb data extraction using 55+ Apify Actors for AI-driven scraping. Supports Instagram, Facebook, TikTok, YouTube, Google, and more. Auto-selects best Actor for the task. Structured output in JSON/CSV with rate limiting and ethical scraping guidelines.
- baoyu-article-illustratorAnalyzes article structure, identifies positions requiring visual aids, generates illustrations with Type × Style two-dimension approach. Use when user asks to "illustrate article", "add images", "generate images for article", or "为文章配图".
- baoyu-cover-imageGenerates article cover images with 5 dimensions (type, palette, rendering, text, mood) combining 9 color palettes and 6 rendering styles. Supports cinematic (2.35:1), widescreen (16:9), and square (1:1) aspects. Use when user asks to "generate cover image", "create article cover", or "make cover".
- baoyu-format-markdownFormats plain text or markdown files with frontmatter, titles, summaries, headings, bold, lists, and code blocks. Use when user asks to "format markdown", "beautify article", "add formatting", or improve article layout. Outputs to {filename}-formatted.md.
- baoyu-image-genGenerate AI images using multiple providers (OpenAI DALL-E, Google Imagen, DashScope/Tongyi Wanxiang, Replicate). Supports various aspect ratios, quality presets, batch generation, and provider-specific prompt engineering techniques.
- baoyu-slide-deckGenerates professional slide deck images from content. Creates outlines with style instructions, then generates individual slide images. Use when user asks to "create slides", "make a presentation", "generate deck", "slide deck", or "PPT".
- baoyu-url-to-markdownFetch any URL and convert to markdown using Chrome CDP. Supports two modes - auto-capture on page load, or wait for user signal (for pages requiring login). Use when user wants to save a webpage as markdown.
- bilibili-watcherExtract subtitles and transcripts from Bilibili and YouTube videos. Use when the user wants to get subtitles from B站 (Bilibili) or YouTube, extract Chinese/Japanese video transcripts, watch member-only Bilibili content, or perform Q&A on video content. Supports dual-platform subtitle extraction with yt-dlp.