mcpField
G
generate-report

generate-report

github.com/aiagentwithdhruvDocuments2043 installsUpdated 15w ago
Repository

About generate-report

generate-report is a skill for creating weekly weather reports for Canadian cities as styled PDFs. It fetches forecast data from Open-Meteo and supports a custom period start and city list.

Key features

  1. 01Fetches Open-Meteo weather data
  2. 02Supports custom cities and dates
  3. 03Creates styled PDF reports
  4. 04Includes regional comparisons
  5. 05Reports forecasts and active alerts

Use cases

  1. 01Prepare a weekly weather briefing for Canada
  2. 02Compare forecasts across selected Canadian cities

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/aiagentwithdhruv/skills --skill generate-report

After installing, type/generate-reportin Claude Code to confirm it loaded.

Bundled filesscripts/fetch_weather.pyscripts/generate_report_pdf.py

Details

From the project README

Canada Weekly Weather Report Generator

Goal

Generate a professional PDF weather report for Canada using real-time data from Open-Meteo API (free, no API key required). The report uses the "Orange and Black Modern Annual Report" template style.

Inputs

  • Week Start Date (optional): Start date for the report period (defaults to current week)
  • Cities (optional): List of Canadian cities to include (defaults to major cities)

Default Canadian Cities

The report covers these major cities by default:

  • West Coast: Vancouver, Victoria
  • Prairies: Calgary, Edmonton, Winnipeg
  • Central: Toronto, Ottawa, Montreal
  • Atlantic: Halifax, St. John's
  • North: Whitehorse, Yellowknife

Scripts

All scripts are in ./scripts/:

  • fetch_weather.py - Fetches weather data from Open-Meteo API (no API key needed)
  • generate_report_pdf.py - Generates the styled PDF report

Process

1. Fetch Weather Data
python3 ./scripts/fetch_weather.py --output .tmp/canada_weather.json

Optional parameters:

  • --cities "Vancouver,Toronto,Montreal" - Custom city list
  • --days 7 - Number of forecast days (default: 7, max: 16)
2. Generate PDF Report
python3 ./scripts/generate_report_pdf.py \
  --input .tmp/canada_weather.json \
  --output .tmp/canada_weekly_weather_report.pdf \
  --template ".tmp/Orange and Black Modern Annual Report.pdf"
3. Review and Deliver
  • Open .tmp/canada_weekly_weather_report.pdf to verify
  • Upload to Google Drive or send via email if requested

Report Structure (Matching Template)

  1. Cover Page: "Canada Weekly Weather Report" with date range
  2. Table of Contents: Regional sections listed
  3. National Overview: Summary of weather patterns across Canada
  4. Regional Highlights: Key metrics (avg temp, precipitation, extremes)
  5. West Coast Weather: Vancouver, Victoria details
  6. Prairies Weather: Calgary, Edmonton, Winnipeg details
  7. Central Canada Weather: Toronto, Ottawa, Montreal details
  8. Atlantic Weather: Halifax, St. John's details
  9. Northern Territories: Whitehorse, Yellowknife details
  10. 7-Day Outlook: Forecast summary with trends
  11. Weather Alerts: Any active warnings/advisories
  12. Data Sources: Open-Meteo attribution

Output

Primary deliverable: PDF report at .tmp/canada_weekly_weather_report.pdf

The report includes:

  • Current conditions for each city
  • 7-day forecast with highs/lows
  • Precipitation amounts
  • Regional comparisons

Error Handling

  • City not found: Skip city, log warning, continue
  • Network error: Retry up to 3 times with backoff
  • Missing data: Use "N/A" placeholders

Environment

No API key required! Open-Meteo is free and open-source.

Data source: https://open-meteo.com/


Schema

Inputs
NameTypeRequiredDescription
week_start_datestringNoStart date for report period (defaults to current week)
citiesstringNoComma-separated list of Canadian cities
Outputs
NameTypeDescription
pdf_pathfile_pathPDF report at .tmp/canada_weekly_weather_report.pdf
Cost

Free (Open-Meteo API)

Comments

Markdown supported