smart-search
Original:🇨🇳 Chinese
Translated
An intelligent search router based on the opencli command. This skill must be used when users want to search, query, look up or research information, especially when it involves specified websites, social media, technical materials, news, shopping, travel, job hunting, finance or Chinese content.
27installs
Sourcejackwener/opencli
Added on
NPX Install
npx skill4agent add jackwener/opencli smart-searchTags
Translated version includes tags in frontmatterSKILL.md Content (Chinese)
View Translation Comparison →Intelligent Search Router
Route queries to the optimal 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 real-time help by itself through to avoid document drift.
opencliMandatory Pre-check
The following two steps must be completed before each use:
- Run
opencli list -f yaml - Use the live registry to confirm whether the candidate site exists, and check ,
strategy,browserdomain
After selecting the site, the following two steps must be completed:
- Run to view the subcommands available for the site
opencli <site> -h - If a subcommand has been locked, run to view parameters, output columns, and policies
opencli <site> <command> -h
Do not hardcode parameters or assume command signatures in the skill documentation; take the real-time output of as the standard.
opencli ... -hMain Routing Rules
Only use this set of rules, no multiple priority systems are maintained anymore:
- When the user clearly specifies a website, platform or data source, use the corresponding website directly.
- When the user does not specify a website, prefer to select only one AI source: choose one from ,
grok,doubao.gemini - When the content returned by AI is insufficient, lacks original data, requires authoritative proof or needs vertical results, supplement 1-2 dedicated sources.
Single Query Budget and Rate Limiting
Understand a "single user question" as one problem solving under the same intent link; follow-up questions, clarifications, supplementary conditions in the same round, if the core problem remains unchanged, still count as the same question.
First create a site call ledger. Update it immediately after each actual execution of the search command:
sitequerycountstatus
Counting rules:
- ,
opencli list -f yaml,opencli <site> -hbelong to pre-check and help operations, and are not counted in the number of searchesopencli <site> <command> -h - One actual execution of search/query counts as 1 call to the site
opencli <site> ... - Failure of the same site due to error, timeout, captcha, anti-crawling, abnormal login status also counts as 1 call, do not retry infinitely
Rate limit:
- Hard limit for AI sites: within the same question, each AI site can be called at most 1 time
- The default policy is still to select only 1 AI site, do not string multiple AI sites into the regular process
- Only when the user explicitly requires comparison of multiple AI sites, you can call other AI sites additionally; but each named AI site can still be called at most 1 time
- Non-AI sites are allowed to be called at most 2 times by default
- The second call to a non-AI site must have a clear reason, for example, the first result is too broad, and time, region, category, sorting or keyword restriction is needed
- Do not make the third call to non-AI sites; if the information is still insufficient, stop expanding the search and clearly explain the gap
Processing after triggering rate limit:
- Record: "Skipped: <site> has reached the rate limit"
- Prefer to switch to other similar sites
- If there is no suitable alternative source, answer directly based on the collected information, and explain the coverage and gaps
Query End Report
After each query, a short "search summary" must be added at the end of the answer, including at least the following three items:
- What websites were used for search
- What keywords were searched on each website
- How many times each website was searched
If there are sites skipped due to rate limit, they should also be clearly written.
It is recommended to use the following fixed format:
md
搜索摘要
- 网站:<site1> | 查询词:<term1> | 次数:<n>
- 网站:<site2> | 查询词:<term2>;<term3> | 次数:<n>
- 已跳过:<site3>,原因:达到频率上限AI Source Selection
- Suitable for real-time discussions, English Internet public opinion, Twitter/X context, hot topic tracking.
grok - Suitable for Chinese context, ByteDance Douyin ecosystem, lifestyle content, Chinese hot topics and pan-Chinese Q&A.
doubao - Suitable for global web pages, English materials, general information retrieval, background overview.
gemini
If the user does not specify a website, first judge the language and context by default, and then select only one from these three.
Once an AI site has executed a real query once, do not call the AI site again after rewriting keywords in the same question. If the answer is insufficient, prefer to supplement dedicated sources, do not repeatedly call the same AI site.
AI Query Keyword Suggestions
When using AI sources, do not just use an overly short keyword. Prioritize constructing a query of "topic + goal + limiting conditions".
- Topic The object, event, product, person, company, technical term that the user actually wants to query.
- Goal What kind of result is wanted, such as summary, comparison, reason, trend, recommendation, original clue.
- Limiting conditions Language, region, time range, platform range, audience, price range, job location, whether to cite original sources.
Prioritize using the following expressions:
<topic> + <the question you want to answer><topic> + <time range/region/language><topic> + <platform or source range><topic> + <output requirement>
Avoid entering only:
- Single noun
- Hot issue without time range
- Shopping, job hunting, travel issues without regional restrictions
- Social media issues without platform restrictions
Timing for Dedicated Source Supplement
Supplement dedicated sources when any of the following situations occur:
- The AI gives a summary, but you need original posts, original videos, original products or original job results
- AI coverage is insufficient, missing vertical site information
- Higher authority or stronger domain relevance is required
- The user explicitly requires "find from a certain platform"
A single query is usually controlled at 1 AI source + 1 to 2 dedicated sources to avoid result overload.
Handling Unavailable Sources
When the site is unavailable:
- Do not abort the entire search due to the failure of a single source
- Record: "Skipped: <site> is unavailable"
- Fall back to other similar sites, or fall back to an AI source
- Always take the actual results of and
opencli list -f yamlas the standardopencli <site> -h
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 Documents
Read the corresponding files as needed:
- — Default AI sources
references/sources-ai.md - — Technology / Academic
references/sources-tech.md - — Social media
references/sources-social.md - — Media / Entertainment
references/sources-media.md - — Information / Knowledge
references/sources-info.md - — Shopping
references/sources-shopping.md - — Travel
references/sources-travel.md - — Other vertical sources
references/sources-other.md
Only read files related to the current query, no need to load all.