mcpField
G
generate-report

generate-report

github.com/aiagentwithdhruv文档处理2043 次安装15 周前更新
代码仓库

关于 generate-report

generate-report 是用于制作加拿大城市每周天气 PDF 报告的技能。它从 Open-Meteo 获取预报数据,并可指定报告起始日期和城市列表。

主要功能

  1. 01获取 Open-Meteo 天气数据
  2. 02自定义城市和日期
  3. 03生成样式化 PDF 报告
  4. 04提供地区天气对比
  5. 05汇总预报和有效警报

适用场景

  1. 01制作加拿大每周天气简报
  2. 02比较所选加拿大城市的天气预报

安装

复制下面的命令,在终端中运行。

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

安装后在 Claude Code 中输入/generate-report确认已加载。

附带文件scripts/fetch_weather.pyscripts/generate_report_pdf.py

详细介绍

加拿大每周天气报告生成器

目标

使用 Open-Meteo API 的实时数据(免费,无需 API 密钥),为加拿大生成专业的 PDF 天气报告。报告采用“橙黑现代年度报告”模板风格。

输入

  • 每周开始日期(可选):报告时段的开始日期(默认为当前周)
  • 城市(可选):要包含的加拿大城市列表(默认为主要城市)

加拿大默认城市

报告默认涵盖以下主要城市:

  • 西海岸:Vancouver、Victoria
  • 草原地区:Calgary、Edmonton、Winnipeg
  • 中部地区:Toronto、Ottawa、Montreal
  • 大西洋地区:Halifax、St. John's
  • 北部地区:Whitehorse、Yellowknife

脚本

所有脚本均位于 ./scripts/:

  • fetch_weather.py - 从 Open-Meteo API 获取天气数据(无需 API 密钥)
  • generate_report_pdf.py - 生成样式化的 PDF 报告

流程

1. 获取天气数据
python3 ./scripts/fetch_weather.py --output .tmp/canada_weather.json

可选参数:

  • --cities "Vancouver,Toronto,Montreal" - 自定义城市列表
  • --days 7 - 预报天数(默认:7,最多:16)
2. 生成 PDF 报告
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. 检查并交付
  • 打开 .tmp/canada_weekly_weather_report.pdf 进行检查
  • 如有需要,上传到 Google Drive 或通过电子邮件发送

报告结构(与模板一致)

  1. 封面:“加拿大每周天气报告”及日期范围
  2. 目录:列出各地区章节
  3. 全国概况:加拿大各地天气模式摘要
  4. 地区亮点:关键指标(平均气温、降水量、极值)
  5. 西海岸天气:Vancouver、Victoria 详情
  6. 草原地区天气:Calgary、Edmonton、Winnipeg 详情
  7. 加拿大中部天气:Toronto、Ottawa、Montreal 详情
  8. 大西洋地区天气:Halifax、St. John's 详情
  9. 北部地区:Whitehorse、Yellowknife 详情
  10. 7 日展望:包含趋势的预报摘要
  11. 天气警报:当前生效的任何预警或提示
  12. 数据来源:Open-Meteo 署名信息

输出

主要交付物:位于 .tmp/canada_weekly_weather_report.pdf 的 PDF 报告

报告包括:

  • 各城市当前天气状况
  • 7 日预报及最高/最低气温
  • 降水量
  • 地区对比

错误处理

  • 未找到城市:跳过该城市,记录警告并继续
  • 网络错误:采用退避策略,最多重试 3 次
  • 缺少数据:使用“N/A”占位符

环境

无需 API 密钥! Open-Meteo 免费且开源。

数据来源:https://open-meteo.com/


架构

输入
名称类型必填描述
week_start_datestring否报告时段的开始日期(默认为当前周)
citiesstring否以逗号分隔的加拿大城市列表
输出
名称类型描述
pdf_pathfile_path位于 .tmp/canada_weekly_weather_report.pdf 的 PDF 报告
费用

免费(Open-Meteo API)

评论

支持 Markdown