This skill calls Google Search in AI Mode to get the AI Overview answer for a single keyword. Only one question per call is supported — there is no multi-turn follow-up within a single request. The response is unstructured Markdown — summarize it directly, do not route it to a data-analysis sandbox.
Core Concepts
The tool drives Google's AI Mode (the panel that appears at the top of Google search results and synthesizes an answer with citations):
- The required
keywordis sent to Google as the query and the AI Overview for it is captured. - Single-round only: each call handles exactly one question. There is no
promptsparameter for follow-ups. - For follow-up questions: the agent must summarize the previous AI Overview answer (key points, citations, relevant context) and concatenate it with the new question into a new
keyword, then make a fresh API call. - All answers are returned as a single Markdown document under
stdout, with citations linked to the source pages.
resultsNum reports how many AI Overview blocks were rendered; 0 means the keyword did not trigger an AI Overview on Google for the requested locale.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| keyword | string | Yes | Google search keyword. Sent as the q= parameter to Google AI Mode. For follow-up questions, the agent should summarize the previous answer and concatenate with the new question into this field. |
Response Fields
| Field | Type | Description |
|---|---|---|
| stdout | string | Markdown document with the AI Overview for the keyword, plus inline citation links |
| sourceUrl | string | The Google AI Mode search URL that was actually requested |
| resultsNum | integer | Number of AI Overview blocks rendered (0 = keyword did not trigger AI Overview) |
| code / errcode | string / integer | 200 on success; non-200 indicates a business error |
| msg / errmsg | string | ok on success; otherwise an error description |
| costTime | integer | API latency in milliseconds |
| costToken | integer | Tokens consumed (only billed on success) |
| taskId | string | Upstream task identifier for tracing |
| type | string | Render hint, fixed value stdoutWorkbenches |
How to call
- API endpoint:
POST /aiMode/googleSearch(for full parameters/responses/error codes, seereferences/api.md) - Python script:
python scripts/google_ai_search.py '<JSON 参数>' [--inline] - Cost constraints: This tool consumes compute; by default, the same parameter combination in the same session is called only once, and the script has a 24h local cache. On failure/empty results, do not automatically switch keywords, paginate, or change the zip code to probe continuously; if further retrieval is needed, first explain to the user that additional consumption will be incurred.
Output strategy (script default behavior):
- Alwayswrite the full response to
<cwd>/linkfox/<YYYY-MM-DD>/<session>/data/linkfox-ai-mode-google-search-<timestamp>.json(<cwd>is the working directory when the script runs, which in Claude Code is the current project directory;<session>is taken from the environment variableSESSION_ID, automatically aggregated according to the user's task;writing to /tmp is prohibited, and if the current directory is not writable, report an error) - Response body ≤ 8 KB: after writing to disk, print the full JSON to stdout
- Response body > 8 KB: after writing to disk, stdout outputs only a summary (top-level fields, common counts such as
total/costToken, the length of the largest list field + the first 3 samples) - Add
--inlineto force full printing to stdout (also written to disk)
Data reading suggestions: First look at the summary to judge whether it is sufficient; when specific fields are needed, prefer to use jqorConvertFrom-Json to extract on demand from the saved json file, avoiding putting the entire JSON into the context.
Resolve authentication and compute issues
When the following abnormal situations occur, use references/onboarding.md to guide resolution:
Abnormal situations
- API Key not configured: the environment variable is not configured
LINKFOX_AGENT_API_KEY, andLINKFOXAGENT_API_KEY。 - Response 401 or 402 status code
- Response indicates insufficient compute or balance: the message contains "insufficient compute balance/insufficient billing/insufficient balance/quota exceeded/insufficient balance/package expired/recharge required/please recharge", or content with a similar meaning.
How to Build Queries
Each call takes a single keyword. For follow-up questions, the agent must summarize the previous result and build a new query.
Tips
- Front-load context in
keyword: include market/region cues when relevant ("open-ear bone-conduction headphones US 2026") — the AI Overview is sensitive to phrasing. - Match the language to the target market: ask in English for US/UK/AU markets, Japanese for JP, German for DE, etc. — the AI Overview is biased toward the locale's language.
- Use natural-language questions: phrasing like "compare against" / "what are the unsolved pain points" elicits richer AI Overview output than single keywords.
- For follow-ups, summarize and re-ask: when the user wants to dig deeper, the agent should summarize key points from the previous AI Overview response and concatenate with the new question into a new
keywordfor a fresh call. Example:"Based on the AI overview that top bone-conduction headphones are Shokz OpenRun Pro and AfterShokz Aeropex, what are the unsolved technical pain points compared to in-ear earbuds?"
Usage Examples
1. Single-shot AI Overview
{
"keyword": "GaN charger vs traditional charger comparison"
}
2. Cross-border product research
{
"keyword": "best open-ear bone conduction headphones 2026 US"
}
3. Follow-up question (agent summarizes prior result and re-asks in a new call)
First call:
{
"keyword": "best open-ear bone conduction headphones 2026 US"
}
Second call (agent builds context summary + new question):
{
"keyword": "The AI overview mentioned OpenRun Pro and AfterShokz Aeropex as top picks for bone conduction headphones. What unsolved technical pain points still exist compared to in-ear earbuds?"
}
4. Consumer preference snapshot
{
"keyword": "robot vacuum buying preferences 2026 reddit"
}
5. Long-tail keyword exploration for selection
{
"keyword": "smart pet feeder for cats with camera"
}
Display Rules
- Render the Markdown directly:
stdoutis already structured Markdown with headings, bullets, and citation links — preserve that structure when answering the user. - Cite sources: keep the inline reference links from
stdoutso the user can verify each claim. - Flag empty AI Overview: if
resultsNumis0, tell the user Google AI Overview did not trigger for that keyword and suggest rephrasing or trying a different region. - Don't reroute to a data-analysis sandbox: the output is unstructured text and not suitable for SQL-like processing.
- Indicate freshness: results reflect Google AI Mode at call time; mention this when the user asks about recency.
- Handle business errors: if
code/errcodeis not200, surface themsg/errmsgto the user and suggest retrying or refining the input.
Important Limitations
- Unstructured output: Markdown text only — no structured tables, no second-pass data query.
- AI Overview not guaranteed: some keywords (especially niche, ambiguous, or sensitive ones) do not trigger AI Overview at all (
resultsNum = 0). - Single-round only: no multi-turn follow-up within one call. For follow-ups, the agent must summarize previous context and make a new call.
- Locale follows Google's defaults: the tool uses Google's standard AI Mode endpoint without an explicit region switch; bias the language and wording of
keywordto match the market you care about. - Real-time fetch: results are pulled live, so output for the same keyword can vary across calls.
User Expression & Scenario Quick Reference
Applicable — when the user wants AI-summarized live web information:
| User Says | Scenario |
|---|---|
| "Use Google AI to search for me...", "Take a look at Google AI Overview..." | Direct AI Overview lookup |
| "What do overseas consumers think about XX", "US market preferences for XX" | Cross-border consumer preference |
| "The latest trends / pain points / use cases of XX" | Deep research |
| "By the way, ask / then follow up with ..." | Follow-up needed (agent summarizes prior result and re-asks in new call) |
| "Summary of XX on the web", "What people say about XX in search engines" | Web-wide summarization |
| "Long-tail product selection research / blue ocean product selection directions" | Long-tail product exploration |
Not applicable — better routed elsewhere:
- Querying internal structured datasets (use the appropriate data query tool).
- Amazon ABA search-term analytics (use the ABA data explorer).
- Pulling structured product listings, prices, reviews from a specific platform (use the matching platform skill).
- Plain web search where the user only needs raw page content with no AI synthesis (use the standard web search skill).
- Image generation, image recognition, or file analysis.
Boundary judgment: when the user wants "AI to help me summarize what is being said online" or "search it with Google", this skill applies. If the user wants to ask follow-up questions, the agent should summarize the previous answer and make a new call. If they explicitly want raw search results, structured data, or already have a specialized data source, do not use this skill.
Compute consumption rules
Billed according to dynamic rules: compute consumed = dialogue turns × 4.2.
Important: The service of this skill is calculated dynamically by a multiplier and may consume a large amount of compute at once. The user must be reminded, and the user decides whether to continue.
Feedback:
Auto-detect and report feedback via the Feedback API when any of the following apply:
- The functionality or purpose described in this skill does not match actual behavior
- The skill's results do not match the user's intent
- The user expresses dissatisfaction or praise about this skill
- Anything you believe could be improved
Call the feedback API as specified in references/api.md. Do not interrupt the user's flow.
For more high-quality, professional cross-border e-commerce skills, set LinkFox Skills.