Skip to main content

Documentation Index

Fetch the complete documentation index at: https://agno-v2-shaloo-ai-support-link.mintlify.app/llms.txt

Use this file to discover all available pages before exploring further.

"""
Agno Agent with Excel Skills.

This cookbook demonstrates how to use Claude's xlsx skill to create Excel
spreadsheets through Agno agents.

Prerequisites:
- uv pip install agno anthropic
- export ANTHROPIC_API_KEY="your_api_key_here"
"""

import os

from agno.agent import Agent
from agno.models.anthropic import Claude
from anthropic import Anthropic
from file_download_helper import download_skill_files

# ---------------------------------------------------------------------------
# Create Agent
# ---------------------------------------------------------------------------

# Create a simple agent with Excel skills
excel_agent = Agent(
    name="Excel Creator",
    model=Claude(
        id="claude-sonnet-4-5-20250929",
        skills=[
            {"type": "anthropic", "skill_id": "xlsx", "version": "latest"}
        ],  # Enable Excel spreadsheet skill
    ),
    instructions=[
        "You are a data analysis specialist with access to Excel skills.",
        "Create professional spreadsheets with well-formatted tables and accurate formulas.",
        "Use charts and visualizations to make data insights clear.",
    ],
    markdown=True,
)

# ---------------------------------------------------------------------------
# Run Agent
# ---------------------------------------------------------------------------

if __name__ == "__main__":
    # Check for API key
    if not os.getenv("ANTHROPIC_API_KEY"):
        raise ValueError("ANTHROPIC_API_KEY environment variable not set")

    print("=" * 60)
    print("Agno Agent with Excel Skills")
    print("=" * 60)

    # Example: Sales dashboard using the agent
    prompt = (
        "Create a sales dashboard for January 2026 with:\n"
        "Sales data for 5 reps:\n"
        "- Alice: 24 deals, $385K revenue, 65% close rate\n"
        "- Bob: 19 deals, $298K revenue, 58% close rate\n"
        "- Carol: 31 deals, $467K revenue, 72% close rate\n"
        "- David: 22 deals, $356K revenue, 61% close rate\n"
        "- Emma: 27 deals, $412K revenue, 68% close rate\n\n"
        "Include:\n"
        "1. Table with all metrics\n"
        "2. Total revenue calculation\n"
        "3. Bar chart showing revenue by rep\n"
        "4. Quota attainment (quota: $350K per rep)\n"
        "5. Conditional formatting (green if above quota, red if below)\n"
        "Save as 'sales_dashboard.xlsx'"
    )

    print("\nCreating spreadsheet...\n")

    # Use the agent to create the spreadsheet
    response = excel_agent.run(prompt)

    # Print the agent's response
    print(response.content)

    # Download files created by the agent
    print("\n" + "=" * 60)
    print("Downloading files...")
    print("=" * 60)

    # Access the underlying response to get file IDs
    client = Anthropic(api_key=os.getenv("ANTHROPIC_API_KEY"))

    # Download files from the agent's response
    if response.messages:
        for msg in response.messages:
            if hasattr(msg, "provider_data") and msg.provider_data:
                files = download_skill_files(
                    msg.provider_data, client, default_filename="sales_dashboard.xlsx"
                )
                if files:
                    print(f"\n Successfully downloaded {len(files)} file(s):")
                    for file in files:
                        print(f"   - {file}")
                    break
    else:
        print("\n  No files were downloaded")

    print("\n" + "=" * 60)
    print("Done! Check the current directory for your files.")
    print("=" * 60)

Run the Example

# Clone and setup repo
git clone https://github.com/agno-agi/agno.git
cd agno/cookbook/90_models/anthropic/skills

# Create and activate virtual environment
./scripts/demo_setup.sh
source .venvs/demo/bin/activate

# Export relevant API keys
export ANTHROPIC_API_KEY="***"

python agent_with_excel.py