Skip to content
Development
Skill

/upstream-check

检查 Claude Code / Codex 上游版本变更,对比本地版本,识别协议/工具/用法相关更新并追加 TODO 提醒

From plugin
ccx
4k4 skills

Claude Code

$ npx -y skills add BenedictKing/ccx --skill upstream-check --agent claude-code

SKILL.md

upstream-check.SKILL.md
name: upstream-check
description: 检查 Claude Code / Codex 上游版本变更,对比本地版本,识别协议/工具/用法相关更新并追加 TODO 提醒
version: 1.0.0
author: https://github.com/BenedictKing/ccx/
allowed-tools: Bash, Read, Write, Edit

上游版本检查技能

当用户输入包含以下关键词时,自动触发上游版本检查流程:

触发条件

  • "检查上游版本"、"上游检查"、"检查更新"、"upstream check"、"check upstream"

执行步骤

1. 运行检查脚本

bash .claude/skills/upstream-check/scripts/upstream-check.sh

2. 读取当前状态

cat .claude/skills/upstream-check/scripts/upstream-state.json

3. AI 判断协议变更

**重要**:脚本的关键词匹配(`matched_keywords`)仅作为初步筛选,存在误报风险(如 "system clipboard" 误报为 `system` 协议变更)。

必须通过 AI 二次判断:

1. 读取脚本输出的 `release_body_snippet`(前 800 字符) 2. 如果 `matched_keywords` 非空,分析每个关键词的上下文:

  • 是否涉及**协议格式变更**(如消息结构、字段定义、请求/响应格式)
  • 是否涉及**新工具/能力引入**(如新的 API 端点、工具类型、功能模块)
  • 是否涉及**核心用法变化**(如参数行为调整、默认值改变、废弃警告)

3. 排除以下情况的误报:

  • Bug 修复中的偶然关键词(如 "system clipboard"、"session's model")
  • UI/UX 改进(如 "environment variables" 在设置说明中)
  • 性能优化、日志调整、错误提示改进

4. 输出最终判断:`真实协议变更` 或 `误报(仅 bug 修复/体验改进)`

**判断标准**:

  • ✅ **真实变更**:影响 CCX 代理层协议转换、请求构造、响应解析的变更
  • ❌ **误报**:仅影响 Claude Code/Codex 客户端内部行为,不影响 API 协议的变更

4. 升级建议逻辑

| 条件 | 输出 | |------|------| | `up_to_date: true` 且 `protocol_changes: false` | "✅ 已是最新版本,无需关注。" | | `up_to_date: true` 且 `protocol_changes: true` | "✅ 版本已是最新。以下版本发布说明涉及协议/工具/用法变更,值得阅读了解:[关键字列表]" | | `up_to_date: false` 且 `protocol_changes: false` | "⬆️ 有新版本 [remote_version] 可用(本地: [local_version])。非紧急,可在方便时升级。" | | `up_to_date: false` 且 `protocol_changes: true` | "⬆️ 有新版本 [remote_version] 可用(本地: [local_version]),涉及协议/工具/用法变更:[关键字列表]。**建议关注并评估对 ccx 的影响。**" |

5. 更新 TODO.md

**仅当 AI 判断为"真实协议变更"且远程 tag 不在 `seen_tags` 中时**,追加 TODO 条目。

**去重检查(必须)**:

1. 读取 `.claude/skills/upstream-check/scripts/upstream-state.json`,检查远程 tag 是否已在 `seen_tags` 中 2. 如已在,跳过 TODO 追加 3. 追加后,将 tag 加入 `seen_tags`(上限 5 条,超出时删除最早的)

**TODO.md 更新**:

  • 检查 TODO.md 是否已有 `---` 分隔线 + `> 上游版本变更` 引用块标题,如无则追加
  • 追加格式必须遵循仓库 TODO 规范:**每个待办项前面都要有 `[ ]`**
  • 待办项统一使用 `## [ ]` 二级标题,与 TODO.md 其他条目保持一致
  • 分组标识使用分隔线 + 引用块,不使用 `##` 标题,避免与待办项层级冲突
  • 推荐追加格式:
---

> **上游版本变更**

## [ ] Claude Code vX.Y.Z 上游协议/工具变更评估

发现协议/工具/用法变更:keyword1, keyword2。请评估对 ccx Messages 渠道的影响。

## [ ] Codex rust-vX.Y.Z 上游协议/工具变更评估

发现协议/工具/用法变更:keyword1, keyword2。请评估对 ccx Responses 渠道的影响。

6. 更新状态文件

将新的远程 tag 追加到 `.claude/skills/upstream-check/scripts/upstream-state.json` 的 `seen_tags` 数组中:

{
  "last_checked_at": "2026-06-07T12:00:00Z",
  "claude_code": {
    "remote_tag": "v2.1.168",
    "local_version": "2.1.168",
    "seen_tags": ["v2.1.168"]
  },
  "codex": {
    "remote_tag": "rust-v0.137.0",
    "local_version": "0.137.0",
    "seen_tags": ["rust-v0.137.0"]
  }
}

7. 输出摘要报告

格式示例:

📋 上游版本检查结果

## Claude Code
- 本地版本: 2.1.168
- 远程版本: 2.1.168
- 状态: ✅ 已是最新
- 协议/工具变更: 无

## Codex
- 本地版本: 0.137.0
- 远程版本: 0.138.0
- 状态: ⬆️ 有新版本可用
- 协议/工具变更: 发现变更 - multi-agent, skills, plugins, web search

**重要**:协议/工具变更字段的逻辑:

  • **仅当 `up_to_date: false` 且 AI 判断为"真实协议变更"时**,显示"发现变更 - [变更要点简述]"
  • **其他情况(版本一致、无关键词匹配或 AI 判断为误报)**,显示"无"

8. 输出功能与体验变更报告

在摘要报告之后,追加一份面向用户的**功能与体验变更报告**:

1. 通过 `gh release view` 获取本地版本到最新远程版本之间所有中间版本的 Release Notes 2. 从每个版本的 Release Notes 中筛选**新增功能**(New Features)和**体验改进**(Improvements / 性能优化 / UX 修复等) 3. 按 Claude Code / Codex 分类,以表格和列表结构化呈现 4. 末尾附「对 CCX 的潜在影响要点」,关联到 CCX 五类渠道(Messages / Chat / Responses / Gemini / Images) 5. 语调:技术导向但易读,面向开发者

仅当存在版本差异(`up_to_date: false`)时才生成此报告;版本一致时跳过。

说明

  • 脚本只输出 JSON 到 stdout,不写磁盘
  • 状态持久化由 skill 负责
  • 脚本网络失败时(exit 1),不更新状态,仅输出错误
  • `matched_keywords` 仅作为初步筛选,最终是否为协议变更由 AI 判断
  • AI 判断时需排除 bug 修复、UI 改进中的偶然关键词匹配(如 "system clipboard"、"session's model")
Read more
@benedictking
Ships withccx

CCX is a high-performance AI API proxy and protocol translation gateway for Claude, OpenAI Chat, OpenAI Images, OpenAI Embeddings, Codex Responses, and Gemini.

Stars on GitHub

Momentum

stars in total
4.0k
Star history of BenedictKing/ccx on GitHub, a chart by star-history.com

Other skills on ccx.

model-update

model-update

新增或更新 CCX 项目中的模型注册技能。适用于 Claude 与非 Claude 模型,覆盖能力表、路由白名单、基准映射、代码生成与验证。

@benedictking@benedictkingInstall Skill
store-update

store-update

在 CCX Desktop 发布后下载 Store MSIX 并生成发布公告。用户提到 Store 上架、MSIX、从 GitHub Release 下载 store.msix、发布后同步 Windows Store、从 release…

@benedictking@benedictkingInstall Skill
version-bump

version-bump

升级项目版本号并提交git,支持patch/minor/major版本升级或指定具体版本号,自动从git log生成CHANGELOG

@benedictking@benedictkingInstall Skill

More skills from other plugins.

brainstorming
Auto-invoked

brainstorming

You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…

@obra@obraInstall Skill
ask-matt

ask-matt

Ask which skill or flow fits your situation. A router over the skills in this repo.

skills2w309k
@mattpocock@mattpocockInstall Skill
accessibility
Auto-invoked

accessibility

Design, implement, and audit accessible UI to WCAG 2.2 Level AA across Web, iOS, and Android — semantic ARIA roles and labels,…

ecc2w293k
@affaan-m@affaan-mInstall Skill
compiler-commit

compiler-commit

Use when you want to verify compiler changes and commit with the correct convention. Runs tests, lint, and format, then commits…

react5d252k
@facebook@facebookInstall Skill

Questions about upstream-check.

Which coding agents can use upstream-check?
upstream-check installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.