Learn-skills.dev generate-report

Generate weekly weather reports for Canada using Open-Meteo API (free, no API key required) and PDF generation. Use when user asks to create a weather report, generate Canada weather summary, or build weekly weather PDF.

install
source · Clone the upstream repo
git clone https://github.com/NeverSight/learn-skills.dev
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/NeverSight/learn-skills.dev "$T" && mkdir -p ~/.claude/skills && cp -r "$T/data/skills-md/aiagentwithdhruv/skills/generate-report" ~/.claude/skills/neversight-learn-skills-dev-generate-report && rm -rf "$T"
manifest: data/skills-md/aiagentwithdhruv/skills/generate-report/SKILL.md
source content

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_date
stringNoStart date for report period (defaults to current week)
cities
stringNoComma-separated list of Canadian cities

Outputs

NameTypeDescription
pdf_path
file_pathPDF report at .tmp/canada_weekly_weather_report.pdf

Cost

Free (Open-Meteo API)