界面已本地化;技能介绍与说明文档按所选语言由 AI 自动翻译,代码、命令、路径和专业术语保留原文,以原作者文档为准。
探索技能
数据与研究 · SKILL.md

yahoo_finance

yahoo_finance

【数据与研究】Yahoo Finance provides stock information for a given ticker symbol, including stock price and trading information, company information, financial metrics, earnings and revenue, margins and returns, dividends, balance sheet data, ownership, analyst coverage, and risk metrics.

独立 GitHub 快照 · 自动分类 · 以原作者文档为准

技能说明

GitHub

name: yahoo_finance description: "Yahoo Finance provides stock information for a given ticker symbol, including stock price and trading information, company information, financial metrics, earnings and revenue, margins and returns, dividends, balance sheet data, ownership, analyst coverage, and risk metrics."

Yahoo Finance

Use this skill to answer questions that require Yahoo Finance data for a ticker symbol.

Setup

Check whether the agent-gw Python SDK is available in the current Python environment, and install it only if the check fails:

python3 -c "import agent_gw" || python3 -m pip install "$(curl -s https://cdn.kimi.com/agentgw/pysdk/manifest.json | python3 -c "import json,sys; print(json.load(sys.stdin)['latest']['url'])")"

The SDK needs an API key from api_key=..., KIMI_API_KEY, or ~/.kimi/agent-gw.json.

Workflow

  1. Run python3 scripts/yahoo_finance_tool.py describe from the plugin directory to call get_data_source_desc({"name": "yahoo_finance"}).
  2. Read the returned Markdown carefully. It contains the overall data source rules, ticker formats, coverage, global constraints, and each API's description, required parameters, optional parameters, defaults, and allowed values.
  3. Select the API that best matches the user's question.
  4. Build params exactly from the Markdown requirements. Pay attention to ticker symbol, exchange suffix, date range, statement type, reporting period, currency, and metric definitions.
  5. Use python3 scripts/yahoo_finance_tool.py call to call call_data_source_tool.
  6. If the call fails, explain the failure reason from the response.
  7. If the call succeeds, save any returned files first, then answer using resp.result.assistant; ignore resp.result.user unless display content is specifically needed.

Common Use Cases

  • Stock price and trading information for a ticker.
  • Company information and profile data.
  • Financial metrics, earnings, revenue, margins, returns, and risk metrics.
  • Balance sheet data and other supported statement details.
  • Dividends, ownership, holder information, and analyst coverage.

Script

Use the bundled script from the plugin directory:

python3 scripts/yahoo_finance_tool.py describe

After reading the Markdown and selecting an API:

python3 scripts/yahoo_finance_tool.py call \
  --api-name "<api name from markdown>" \
  --params-json '{"required_param":"value"}'

For larger params, write a JSON object and pass --params-file path/to/params.json.

The script:

  • sends {"name": "yahoo_finance"} to get_data_source_desc
  • sends {"data_source_name": "yahoo_finance", "api_name": ..., "params": ...} to call_data_source_tool
  • prints failure messages from error.user or error.assistant
  • saves returned files to each files[].name path returned by the data source
  • prints the joined result.assistant texts on success

Expected call_data_source_tool response shape:

{
    "is_success": bool,
    "result": {"user": list[str], "assistant": list[str]} | None,
    "error": {"user": list[str], "assistant": list[str]} | None,
    "files": [{"name": str, "content": str}],
}

When files are returned, name is the file path or name to write. The path is usually dictated by the selected API's params in the Markdown docs. If an API does not need files, the response normally has no files to save.

我的收藏