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
Added on

NPX Install

npx skill4agent add jackwener/opencli smart-search

SKILL.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
opencli
to avoid document drift.

Mandatory 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
    ,
    browser
    ,
    domain
After selecting the site, the following two steps must be completed:
  • Run
    opencli <site> -h
    to view the subcommands available for the site
  • If a subcommand has been locked, run
    opencli <site> <command> -h
    to view parameters, output columns, and policies
Do not hardcode parameters or assume command signatures in the skill documentation; take the real-time output of
opencli ... -h
as the standard.

Main Routing Rules

Only use this set of rules, no multiple priority systems are maintained anymore:
  1. When the user clearly specifies a website, platform or data source, use the corresponding website directly.
  2. When the user does not specify a website, prefer to select only one AI source: choose one from
    grok
    ,
    doubao
    ,
    gemini
    .
  3. 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:
  • site
  • query
  • count
  • status
Counting rules:
  • opencli list -f yaml
    ,
    opencli <site> -h
    ,
    opencli <site> <command> -h
    belong to pre-check and help operations, and are not counted in the number of searches
  • One actual execution of
    opencli <site> ...
    search/query counts as 1 call to the 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

  • grok
    Suitable for real-time discussions, English Internet public opinion, Twitter/X context, hot topic tracking.
  • doubao
    Suitable for Chinese context, ByteDance Douyin ecosystem, lifestyle content, Chinese hot topics and pan-Chinese Q&A.
  • gemini
    Suitable for global web pages, English materials, general information retrieval, background overview.
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
    opencli list -f yaml
    and
    opencli <site> -h
    as 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 Documents

Read the corresponding files as needed:
  • references/sources-ai.md
    — Default AI sources
  • references/sources-tech.md
    — Technology / Academic
  • references/sources-social.md
    — Social media
  • references/sources-media.md
    — Media / Entertainment
  • references/sources-info.md
    — Information / Knowledge
  • references/sources-shopping.md
    — Shopping
  • references/sources-travel.md
    — Travel
  • references/sources-other.md
    — Other vertical sources
Only read files related to the current query, no need to load all.