Route queries to the best opencli search source based on the topic and scenario. The core goal of this skill is not to memorize commands, but to first locate the data source, then let the Agent read the live help itself through opencli , avoiding documentation drift.
Mandatory Pre-check
Before each use, you must first do the following two steps:
- Run
opencli list -f yaml - Use the live registry to confirm whether the candidate site exists, and check
strategy、browser、domain
After selecting a site, you must do the following two more steps:
- Run
opencli <site> -hto see which subcommands the site has - If a subcommand has been locked in, then run
opencli <site> <command> -hto view parameters, output columns, and policies
Do not hardcode parameters or assume command signatures in the skill documentation; rely on the live output of opencli ... -h .
Main Routing Rules
Use only this one rule, and no longer maintain multiple sets of priorities:
- When the user explicitly specifies a website, platform, or data source, use the corresponding website directly.
- When the user does not specify a website, prefer selecting only one AI source:
grok、doubao、geminichoose one of the three. - When the AI returns insufficient content, lacks raw data, needs authoritative corroboration, or needs vertical results, then supplement with 1-2 specialized sources.
Per-question Budget and Rate Limits
Understand a "single user question" as one problem-solving instance under the same intent chain; if the core question remains unchanged across follow-ups, clarifications, or added conditions in the same round, it still counts as the same question.
First establish a site invocation ledger. After each actual execution of a search command, update it immediately:
sitequerycountstatus
Counting rules:
opencli list -f yaml、opencli <site> -h、opencli <site> <command> -hbelongs to pre-checks and help, and does not count toward search count- One actual
opencli <site> ...search/query execution counts as 1 invocation for that site - If the same site fails due to an error, timeout, CAPTCHA, anti-scraping, or abnormal login state, it also counts as 1 invocation; do not retry indefinitely
Rate limits:
- Hard limit for AI sites: within the same question, each AI site can be invoked at most 1 time
- The default strategy is still to select only 1 AI site; do not string multiple AI sites into a regular workflow
- Only when the user explicitly requests a comparison of multiple AI sites may other AI sites be additionally invoked; but each named AI site is still limited to at most 1 time
- Non-AI sites are limited to at most 2 invocations by default
- The 2nd invocation of a non-AI site must have a clear reason, for example the first result was too broad and needs to be narrowed by time, region, category, sorting, or keywords
- Do not make a 3rd invocation of a non-AI site; if the information is still insufficient, stop expanding the search and clearly state the gaps
Handling after triggering rate limiting:
- Record: "Skipped: reached rate limit"
- Prefer switching to other sites of the same type
- If there is no suitable alternative source, answer directly based on the information already collected, and explain the coverage and gaps
End-of-query Report
After each query ends, a brief "search summary" must be appended at the end of the answer, containing at least the following three items:
- What website was used for the search
- What keywords were searched on each site
- How many times each site was searched
If there are sites skipped due to rate limiting, they must also be clearly stated.
It is recommended to use the following fixed format:
搜索摘要
- 网站:<site1> | 查询词:<term1> | 次数:<n>
- 网站:<site2> | 查询词:<term2>;<term3> | 次数:<n>
- 已跳过:<site3>,原因:达到频率上限
AI source selection
grokSuitable for real-time discussions, English-language internet public opinion, Twitter/X context, and trending topic tracking.doubaoSuitable for Chinese-language context, the ByteDance Douyin ecosystem, lifestyle content, Chinese trending topics, and general Chinese-language Q&A.geminiSuitable for global web pages, English-language materials, general information retrieval, and background overviews.
If the user has not specified a site, first determine the language and context by default, then choose only one from these three.
Once a certain AI site has already executed one real query, do not call that AI site again in the same question after rewriting the keywords. If the answer is insufficient, prioritize supplementing with specialized sources rather than repeatedly pressing the same AI site.
AI query keyword suggestions
When using an AI source, do not just throw in one overly short keyword. Prioritize constructing a query as "topic + goal + constraints".
- Topic The object, event, product, person, company, or technical term the user actually wants to look up.
- Goal What kind of result is wanted, such as a summary, comparison, reason, trend, recommendation, or original clue.
- Constraints Language, region, time range, platform scope, audience, price range, job location, and whether original sources need to be cited.
Prefer using the following way of expressing it:
<主题> + <你要回答的问题><主题> + <时间范围/地区/语言><主题> + <平台或来源范围><主题> + <输出要求>
Avoid inputting only:
- A single noun
- Trending questions without a time range
- Shopping, job-seeking, or travel questions without regional restrictions
- Social media questions without platform restrictions
Timing for supplementing specialized sources
When any of the following situations occurs, then supplement with specialized sources:
- The AI gives a summary, but you need the original post, original video, original product, or original job result
- The AI's coverage is insufficient and misses information from vertical sites
- Higher authority or stronger domain relevance is needed
- The user explicitly requests "find it from a certain platform"
A single query is usually controlled to 1 AI source + 1 to 2 specialized sources to avoid result overload.
Handling unavailable sources
When a site is unavailable:
- Do not abort the entire search because a single source fails
- Record: "Skipped: unavailable"
- Fall back to other sites of the same type, or fall back to one AI source
- Always take the actual results of
opencli list -f yamlandopencli <site> -has the standard
Do not assume that any site is "absolutely available". Even for public sites, take the live help and execution results in the current environment as the standard.
Reference files
Read the corresponding files as needed:
references/sources-ai.md— AI default sourcereferences/sources-tech.md— Technology / Academicreferences/sources-social.md— Social mediareferences/sources-media.md— Media / Entertainmentreferences/sources-info.md— News / Knowledgereferences/sources-shopping.md— Shoppingreferences/sources-travel.md— Travelreferences/sources-other.md— Other vertical sources
Only read the files relevant to the current query; there is no need to load all of them.