用途
CLI Router 用于把终端任务路由到与任务最匹配的窄用途命令行工具,避免使用通用 shell 模式处理本可由专用工具更可靠完成的工作。技能主体文件保持精简,只有在需要时才读取 references/ 下对应工具的参考文档。
主要能力
技能以“选择工具”为核心,按任务类型给出工具与适用/不适用边界:
- fd:快速文件与路径发现;当需要匹配文件内容时不适用。
- rg:跨文件快速文本搜索;当需要结构化或语法感知匹配时不适用。
- sd:简单的字面量或正则替换;当改动依赖代码结构或超出正则处理能力的多行上下文时不适用。
- comby:跨语言的轻量结构化改写;当需要完整语法解析保证时不适用。
- ast-grep:AST 感知的代码搜索、lint 与重写;当需要类型感知或语义分析时不适用。
- jq:查询与转换 JSON;当数据源以 YAML 为主时不适用。
- yq:查询与编辑 YAML、转换结构化格式;当需要精确保留注释或假定与 jq 完全对等时不适用。
- wget:非交互式下载、重试、断点续传、镜像;当需要浏览器自动化或交互式登录流程时不适用。
- head:快速非交互式采样;当需要交互式搜索、分页或跟随模式时不适用。
- less:交互式分页、搜索与跟随;当流程必须无人值守时不适用。
- fzf:面向人的交互式模糊选择;当智能体必须无头或确定性运行时不适适用。
- difftastic:面向人工审阅的语法感知差异;当需要可应用的补丁或机器稳定的 diff 格式时不适用。
- shellcheck:Shell 脚本 lint 与安全检查;当需要格式化而非诊断时不适用。
- scc:仓库语言清单、代码行数与粗略复杂度;当需要语义代码审查或性能剖析时不适用。
使用方式
技能给出有意的升级路径:
- 先用 fd 找路径,再用 rg 搜文本。
- 简单替换用 sd;正则变得脆弱时用 comby;需要语法精度时用 ast-grep。
- JSON 用 jq;YAML 优先的编辑或格式转换用 yq。
- 快速采样用 head;仅当需要人工分页或搜索时才切换到 less。
- 除非任务明确受益于交互式审阅,否则把 fzf、less、difftastic 视为面向人的工具。
按需加载更多细节:
- 读取 references/api-surface.md 了解整套工具的命令/参数选择。
- 读取 references/common-use-cases.md 获取现成的任务模式。
- 读取 references/troubleshooting-workarounds.md 了解常见失败模式。
- 读取具体工具的参考文档以获取示例、注意事项与升级边界。
适用场景
适用于需要在终端中完成文件查找、文本搜索、文本替换、结构化改写、代码 AST 搜索与重写、JSON/YAML 处理、下载、采样、分页、模糊选择、差异审阅、Shell 检查以及仓库统计等任务,并希望按任务选择最窄工具而非通用 shell 模式的场景。
限制
技能本身未提供具体命令示例、参数细节与失败处理内容,这些内容位于其引用的 references/ 文档中;本介绍未展开这些未提供的细节。各工具的不适用边界已在上文列出,超出边界时应按升级路径改用更合适的工具。