关于 pp-opensnow
pp-opensnow 是面向滑雪行程规划 Agent 的 OpenSnow 命令行技能,可查询山地天气、降雪和雪场运营情况,并提供粉雪评分及气象专家摘要。
主要功能
- 01查询天气与昼夜降雪预报
- 02按粉雪潜力评分和排名雪场
- 03追踪风暴进程与夜间降雪
- 04查看雪场状态变化和历史趋势
- 05获取 Daily Snow 气象摘要
适用场景
- 01比较雪场并选择周末滑雪地点
- 02判断一周内最适合滑雪的日期
- 03追踪风暴到达和结束时间
- 04查看收藏雪场的夜间降雪
MCP 相关
README 提供安装 opensnow-pp-mcp 并注册到 Claude Code 的说明。
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ mvanhorn/ printing-press-library --skill pp-opensnow安装后在 Claude Code 中输入/pp-opensnow确认已加载。
详细介绍
OpenSnow — Printing Press CLI
前置条件:安装 CLI
此技能由 opensnow-pp-cli 二进制文件驱动。**调用此技能中的任何命令前,必须先确认 CLI 已安装。**如果尚未安装,请先安装:
- 通过 Printing Press 安装程序安装。在 macOS/Linux 上,默认将二进制文件安装到
$HOME/.local/bin;在 Windows 上,安装到%LOCALAPPDATA%\Programs\PrintingPress\bin:npx -y @mvanhorn/printing-press-library install opensnow --cli-only - 验证:
opensnow-pp-cli --version - 确保报告的安装目录已添加到将调用此技能的 Agent/运行时的
$PATH中。
如果 npx 安装失败(没有 Node、处于离线状态等),请改用直接 Go 安装(需要 Go 1.26.6 或更高版本):
go install github.com/mvanhorn/printing-press-library/library/productivity/opensnow/cmd/opensnow-pp-cli@latest
如果安装后 --version 报告“command not found”,则运行时无法在 $PATH 中找到二进制文件目录。验证成功前,请勿执行技能命令。
何时使用此 CLI
当你需要包含积雪专项细节的山区天气预报时,请使用 OpenSnow CLI,例如昼夜降雪量细分、粉雪质量和雪场运营状态。它非常适合需要比较雪场、追踪风暴或回答“这个周末我该去哪里滑雪?”的行程规划 Agent。Daily Snow 天气简报提供通用天气 API 无法提供的专业气象分析。
何时不使用此 CLI
对于需要创建、更新、删除、发布、评论、点赞、邀请、下单、发送消息、预订、购买或更改远程状态的请求,请勿启用此 CLI。此打印 CLI 仅提供用于查看、导出、同步和分析的只读命令。
独特功能
这些功能是此 API 的其他工具所不具备的。
粉雪情报
-
powder-score— 综合预报降雪量、风力、温度和历史平均值,对未来 1-10 天的粉雪质量评分当 Agent 需要推荐本周最适合滑雪的一天时,此命令会给出评分排名,而非原始预报数据
opensnow-pp-cli powder-score alta --days 5 --agent -
powder-rank— 根据预期降雪量、积雪深度和地形开放情况,对所有已同步雪场的粉雪潜力进行排名当 Agent 需要回答“这个周末我该去科罗拉多州哪里滑雪?”时,此命令会提供带评分的排名列表
opensnow-pp-cli powder-rank --slugs alta,steamboat,telluride --agent -
storm-track— 通过关联一段时间内滚动更新的逐小时预报,展示风暴发展过程——降雪何时开始、达到峰值以及结束围绕风暴规划行程时,此命令会准确显示何时抵达以及风暴窗口何时关闭
opensnow-pp-cli storm-track telluride --agent -
overnight— 查看收藏雪场夜间时段的半日预报——这是粉雪猎人的晨间例行事项每位滑雪者首先会问:“昨夜下了多少雪?”此命令一次调用即可回答所有收藏雪场的情况
opensnow-pp-cli overnight --agent
可累积的本地状态
-
dashboard— 一条命令即可查看所有收藏地点的当前气温、24 小时降雪量、5 天累计降雪量和运营状态无需再打开 OpenSnow 应用——一条命令即可显示 Agent 了解用户偏好雪场所需的一切信息
opensnow-pp-cli dashboard --agent -
diff— 将当前雪况报告与上次同步的版本进行比较,查看变化:新降雪、缆车开放或关闭、状态变化监控雪场状况的 Agent 无需解析原始报告,即可发现重要变化
opensnow-pp-cli diff alta --agent -
history— 根据缓存的报告快照,查看降雪趋势、雪季累计量与平均值的对比,以及积雪深度变化提前数周规划行程时,历史背景信息有助于了解山地雪况是在改善还是恶化
opensnow-pp-cli history steamboat --days 30 --agent
原生 Agent 支持
-
digest— 获取收藏地区的所有 Daily Snow 帖子,将 HTML 转换为纯文本,并显示摘要简报OpenSnow 气象学家的专业预报以适合 Agent 和终端的形式呈现,无需打开浏览器
opensnow-pp-cli digest --region colorado,tahoe --agent
命令参考
daily-reads — 管理每日阅读
forecast — 管理预报
opensnow-pp-cli forecast get-by-point— 获取地球上任意经纬度点(陆地)的预报。返回当前天气状况、逐小时详情、白天/夜间……opensnow-pp-cli forecast get-detail— 获取任意 OpenSnow 命名地点的 5 天预报。返回当前、逐小时和每日预报,以及……opensnow-pp-cli forecast get-snow-detail— 获取任意 OpenSnow 命名地点的 5 天白天 + 夜间降雪预报。时段分为白天(早上 6 点至下午 6 点)和……
snow-report — 管理雪况报告
opensnow-pp-cli snow-report <id_or_slug>— 获取最新的雪况报告——雪场报告的降雪量、雪基深度、运营状态和状况……
查找合适的命令
如果你知道要做什么,但不确定该用哪个命令,可以直接向 CLI 提问:
opensnow-pp-cli which "<capability in your own words>"
which 会根据自然语言能力查询,从此 CLI 精选的功能索引中找出最匹配的命令。退出代码 0 表示至少有一个匹配项;退出代码 2 表示没有把握较大的匹配项——请改用 --help 或使用范围更窄的查询。
使用示例
本周最佳粉雪日
opensnow-pp-cli powder-rank --slugs alta,steamboat,telluride --agent --select resort,score,expected_snow,conditions
按未来 5 天的粉雪潜力为所有已同步的科罗拉多州雪场排名,仅返回供 Agent 使用的关键字段
早间雪况检查
opensnow-pp-cli overnight --agent --select name,precip_snow,conditions_label
快速查看所有已收藏雪场夜间的降雪情况——粉雪爱好者的晨间例行事项
比较两个雪场
opensnow-pp-cli compare alta steamboat --agent
并排比较预报和状况,为行程规划提供参考
专家预报摘要
opensnow-pp-cli digest --region colorado --agent
以适合终端阅读的格式查看 OpenSnow 气象学家的今日 Daily Snow
风暴追踪
opensnow-pp-cli storm-track telluride --agent --select period,precip_snow,wind_speed
追踪 Telluride 下一场风暴的开始、峰值和结束时间,并缩减字段以适配 Agent 上下文
身份验证设置
OpenSnow API 仅向合作伙伴开放。使用 opensnow-pp-cli config set-token <key> 设置 API 密钥。密钥会保存在本地,并作为查询参数随每个请求传递。访问级别 5 支持基于位置点的预报;级别 10 可解锁命名地点、雪况报告和 Daily Snow。
运行 opensnow-pp-cli doctor 验证设置。
Agent 模式
在任意命令中添加 --agent。它会展开为:--json --compact --no-input --no-color --yes。
-
可管道传输 — JSON 输出到 stdout,错误输出到 stderr
-
可筛选 —
--select保留字段子集。点分隔路径可深入嵌套结构;数组会逐元素遍历。对于内容冗长的 API,此功能对控制上下文大小至关重要:opensnow-pp-cli snow-report mock-value --agent --select id,name,status -
可预览 —
--dry-run显示请求而不发送 -
适合离线使用 — 有本地 SQLite 存储时,同步/搜索命令可以使用该存储
-
非交互式 — 从不显示提示,每个输入都通过标志传入
-
只读 — 不要使用此 CLI 执行创建、更新、删除、发布、评论、点赞、邀请、下单、发送或其他会修改数据的请求
响应封装
从本地存储或 API 读取数据的命令,会将输出封装在一个来源信息对象中:
{
"meta": {"source": "live" | "local", "synced_at": "...", "reason": "..."},
"results": <data>
}
解析 .results 获取数据,并查看 .meta.source 了解数据来自实时数据还是本地数据。只有当 stdout 连接到终端时,才会将易读的 N results (live) 摘要输出到 stderr——通过管道接收的内容或 Agent 使用者在 stdout 上只会收到纯 JSON。
Agent 反馈
当你(或 Agent)发现此 CLI 有问题时,请记录下来:
opensnow-pp-cli feedback "the --since flag is inclusive but docs say exclusive"
opensnow-pp-cli feedback --stdin < notes.txt
opensnow-pp-cli feedback list --json --limit 10
记录会保存在本地的 ~/.opensnow-pp-cli/feedback.jsonl。只有在设置了 OPENSNOW_FEEDBACK_ENDPOINT,并且传入了 --send 或将 OPENSNOW_FEEDBACK_AUTO_SEND=true 时,记录才会通过 POST 发送。默认行为仅保存在本地。
写下让你感到意外的地方,而不是提交 bug 报告。简短、具体,用一行写明:这才是能不断累积价值的部分。
输出交付
每个命令都接受 --deliver <sink>。除了(或代替)stdout,输出还会发送到指定的目标,因此 Agent 无需手动管道传输即可路由命令结果。支持三种目标:
| 目标 | 效果 |
|---|---|
stdout | 默认;仅写入 stdout |
file:<path> | 将输出原子性地写入 <path>(临时文件 + 重命名) |
webhook:<url> | 将输出正文 POST 到该 URL(当使用 --compact 时,为 application/json 或 application/x-ndjson) |
不支持的方案会被拒绝,并返回一条结构化错误,列出支持的方案。Webhook 调用失败时会返回非零状态码,并在 stderr 中记录 URL 和 HTTP 状态码。
命名配置
配置文件是一组保存的标志值,可在多次调用中重复使用。当定时 Agent 每次运行都使用相同配置调用同一命令时,可使用配置文件——这就是 HeyGen 的“Beacon”模式。
opensnow-pp-cli profile save briefing --json
opensnow-pp-cli --profile briefing snow-report mock-value
opensnow-pp-cli profile list --json
opensnow-pp-cli profile show briefing
opensnow-pp-cli profile delete briefing --yes
显式标志始终优先于配置文件中的值;配置文件中的值优先于默认值。agent-context 会在 available_profiles 下列出所有可用配置文件,以便 Agent 在运行时发现它们。
退出代码
| 代码 | 含义 |
|---|---|
| 0 | 成功 |
| 2 | 用法错误(参数错误) |
| 3 | 未找到资源 |
| 4 | 需要身份验证 |
| 5 | API 错误(上游问题) |
| 7 | 受到速率限制(等待后重试) |
| 10 | 配置错误 |
参数解析
解析 $ARGUMENTS:
- 为空、
help或--help→ 显示opensnow-pp-cli --help输出 - 以
install开头 → 以mcp结尾 → 安装 MCP;否则 → 参见上文的先决条件 - 其他任何内容 → 直接使用(作为 CLI 命令执行,并带上
--agent)
安装 MCP 服务
- 安装 MCP 服务:
go install github.com/mvanhorn/printing-press-library/library/productivity/opensnow/cmd/opensnow-pp-mcp@latest - 注册到 Claude Code:
claude mcp add opensnow-pp-mcp -- opensnow-pp-mcp - 验证:
claude mcp list
直接使用
- 检查是否已安装:
which opensnow-pp-cli如果未找到,提示安装(参见本技能开头的先决条件)。 - 根据用户查询,从上文的独特功能和命令参考中选择最合适的命令。
- 使用
--agent标志执行:opensnow-pp-cli <command> [subcommand] [args] --agent - 如果存在歧义,查看子命令帮助:
opensnow-pp-cli <command> --help。