AgentSkillsCN

financial-data-template-populator

为指定公司填充财务数据(股票价格、市场趋势、股权结构)的Excel模板。读取需求文件,从Yahoo Finance获取数据,分析模板结构,格式化数据,写入Excel,并重命名输出文件。

SKILL.md
--- frontmatter
name: financial-data-template-populator
description: Populates an Excel template with financial data (stock prices, market trends, ownership) for a specified company. Reads requirement files, fetches data from Yahoo Finance, analyzes template structure, formats data, writes to Excel, and renames the output file.

Instructions

1. Understand the Request & Locate Files

The user will request to populate an Excel template with financial data for a specific company (e.g., NVIDIA/NVDA). They will provide:

  • An Excel template file (e.g., results_template.xlsx).
  • A data requirements file (e.g., data.txt).
  • A formatting instructions file (e.g., tips.txt).
  • A final output filename (e.g., results.xlsx).

First, read the requirement files to understand the exact data needed and formatting rules.

Tool Calls:

  • Use filesystem-read_multiple_files to read data.txt and tips.txt.

2. Analyze the Excel Template Structure

Examine the provided Excel template to understand its sheets, headers, and data ranges.

Tool Calls:

  1. Use excel-get_workbook_metadata on the template file to list its sheets.
  2. Use excel-read_data_from_excel on each sheet to see the column headers and empty data cells.

3. Fetch Required Financial Data

Based on the requirements (data.txt), fetch the necessary data. Common requirements include:

  • Stock Info & Fundamentals: Use yahoo-finance-get_stock_info.
  • Major Holders Summary: Use yahoo-finance-get_holder_info with holder_type: "major_holders".
  • Institutional Holders Details: Use yahoo-finance-get_holder_info with holder_type: "institutional_holders".
  • Historical Stock Prices: Use yahoo-finance-get_historical_stock_prices for a date range, or yahoo-finance-get_stock_price_by_date for specific quarter-end dates.

Key Data Processing:

  • Identify quarter-end dates (e.g., 2024-09-30 for Q3 2024).
  • Calculate Market Cap = Stock Price * Shares Outstanding.
  • Convert units as required (e.g., shares to millions, value to billions).

4. Format Data According to Rules

Strictly apply the formatting rules from tips.txt (e.g., "Round all numbers to two decimal places", "If the data is unavailable, fill in NaN").

5. Populate the Excel Template

Write the formatted data into the correct cells of the template.

Tool Calls:

  • Use excel-write_data_to_excel for each sheet, specifying the start_cell (e.g., "B2" for data below headers).

6. Finalize and Rename the File

After populating all sheets, rename the file to the user's requested output name (e.g., from results_template.xlsx to results.xlsx).

Tool Calls:

  • Use filesystem-move_file.

7. Verify Completion

Optionally, list the directory contents to confirm the final file exists and read back a sample of the data to ensure correctness.

Tool Calls:

  • Use filesystem-list_directory.
  • Use excel-read_data_from_excel on the final file.