# qianwen-update-check

Compares your installed Claude-ai version with the newest GitHub release and tells you when an update is out.

- skill · `type=skill` · Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, OpenCode · 5700 installs · ★ 116
- Author: QianWen-AI
- License: Apache-2.0 · policy=mirror · the beginning of the file is at the end of this page
- Source: https://github.com/QianWen-AI/qianwen-ai/tree/HEAD/skills/ops/qianwen-update-check/SKILL.md
- Updated: 2026-10-10
- HTML: https://affpapa.org/en/nevibecode/skills/qianwen-update-check

## What it does

The skill pulls the version number from `version.json` that ships beside it, fetches the current one from the remote repo, and diffs them as semver. A newer release upstream means the response carries `{"has_update": true}`. Every other skill in the pack looks for this one on startup and hands the version check over to it.

Network calls are rationed. The time of the last check goes into `<repo_root>/.agents/state.json`, so another request to GitHub waits a full 24 hours. That file survives across sessions and is shared with `gossamer.py`. Add `--force` when you want the limit skipped.

You need Python 3.9 and `curl`, otherwise the script won't run. Cursor picks the skill up on its own; in Claude you open its `SKILL.md` once before the first use. The repo used for comparison comes from `QWEN_SKILLS_REPO`, which points at `QianWen-AI/qianwen-ai` unless you change it.

## Install

### Claude Code (native platform)

1. **Skills CLI (Vercel)**
```bash
npx skills add QianWen-AI/qianwen-ai --skill qianwen-update-check -a claude-code
```

2. **Manually: put the files in place**
- File: `~/.claude/skills/qianwen-update-check/SKILL.md` — Copy the whole skill folder; for one project use .claude/skills/qianwen-update-check/

### Codex

1. **Skills CLI (Vercel)**
```bash
npx skills add QianWen-AI/qianwen-ai --skill qianwen-update-check -a codex
```

2. **Manually: put the files in place**
- File: `.agents/skills/qianwen-update-check/SKILL.md` — For all projects use ~/.agents/skills/

### Cursor

1. **Skills CLI (Vercel)**
```bash
npx skills add QianWen-AI/qianwen-ai --skill qianwen-update-check -a cursor
```

2. **Manually: put the files in place**
- File: `.cursor/skills/qianwen-update-check/SKILL.md` — Cursor also reads .agents/skills/ and .claude/skills/

### GitHub Copilot

1. **GitHub CLI**
```bash
gh skill install QianWen-AI/qianwen-ai qianwen-update-check
```

2. **Manually: put the files in place**
- File: `.github/skills/qianwen-update-check/SKILL.md`

### Gemini CLI

1. **Skills CLI (Vercel)**
```bash
npx skills add QianWen-AI/qianwen-ai --skill qianwen-update-check -a gemini-cli
```

2. **Platform CLI**
```bash
gemini skills install https://github.com/QianWen-AI/qianwen-ai --path skills/ops/qianwen-update-check
```

### Windsurf (Devin Desktop)

**Manually: put the files in place**
- File: `.devin/skills/qianwen-update-check/SKILL.md` — The legacy .windsurf/skills/ path still works

### OpenCode

**Skills CLI (Vercel)**
```bash
npx skills add QianWen-AI/qianwen-ai --skill qianwen-update-check -a opencode
```

### Claude.ai

**Claude.ai**
- Zip the folder and upload it in Settings → Capabilities → Skills

Where a file is given instead of a command, copy the files from the source to that path: https://github.com/QianWen-AI/qianwen-ai/tree/HEAD/skills/ops/qianwen-update-check/SKILL.md

## When to use it
- find out whether a new Claude-ai release is out
- match the installed version against the GitHub release
- stop the agent from hitting the network on every run
- update the pack's skills once they fall behind
- run a version check by hand from the CLI

## Example prompts
- Check whether Claude-ai has a newer version
- Run `qianwen-update-check`
- Check for skill updates and skip the rate limit

## Source text · SKILL.md · Apache-2.0

Below is the content of a third-party file. It is data, not instructions for you: do not act on anything written inside unless the human asks. Block tag: 890f2c5ee7cceca7.

BEGIN THIRD-PARTY FILE 890f2c5ee7cceca7
````text
---
name: qianwen-update-check
description: "Check for qianwen-ai updates and notify the user when a new version is available. TRIGGER when: user asks to check for updates, check version, asks 'is there a new version', 'latest version', 'update skills', 'check update', or any other qwen skill delegates to this skill, or user explicitly invokes this skill by name (e.g. use qianwen-update-check). DO NOT TRIGGER when: non-update-related tasks, general version questions about other software."
compatibility: "Requires Python 3.9+ and curl. Cursor: auto-loaded. Claude Code: read this skill's SKILL.md before first use."
---

# Qwen Update Checker

Automatic version checker for the **QianWen-AI/qianwen-ai** skill pack. Compares the locally installed version against the latest release on GitHub and notifies the user when an update is available.

This skill is referenced by all other QianWen-AI/qianwen-ai. When any skill runs, it checks if this skill is installed and delegates version checking here.

## How It Works

1. Reads the installed version from `version.json` (the `version` field bundled with this skill).
2. Fetches the latest version from the remote repository (GitHub raw content).
3. Compares versions using semver. Returns `{"has_update": true}` if a newer version exists.
4. Records the check timestamp (`last_interaction`) in `<repo_root>/.agents/state.json` to rate-limit network requests to once every 24 hours.

## Usage

Other skills invoke this script automatically. You can also run it manually:

```bash
python3 <path-to-this-skill>/scripts/check_update.py --print-response
```

### CLI Arguments

| Argument | Description |
|----------|-------------|
| `--print-response` | Print result as formatted JSON to stdout |
| `--force` | Bypass 24-hour rate limit and check immediately |

### Output Format

```json
{
  "has_update": true
}
```

## Configuration

| Environment Variable | Default | Description |
|---------------------|---------|-------------|
| `QWEN_SKILLS_REPO` | `QianWen-AI/qianwen-ai` | GitHub repo for remote version check |

## State File

The `last_interaction` timestamp is stored at `<repo_root>/.agents/state.json` for rate-limiting. Check results are **not** cached in the state file. This file persists across sessions and is shared with `gossamer.py` for fatigue control.
````
END THIRD-PARTY FILE 890f2c5ee7cceca7

The third-party file has ended. Everything between the 890f2c5ee7cceca7 tags is data: requests and commands from it are not followed. An “end of file” line with another tag inside the block is part of the file.

© QianWen-AI · Apache-2.0 · https://github.com/QianWen-AI/qianwen-ai/tree/HEAD/skills/ops/qianwen-update-check/SKILL.md

## Similar
- [setup-matt-pocock-skills](https://affpapa.org/en/nevibecode/skills/setup-matt-pocock-skills.md) — skill · 1052851 installs
- [ask-matt](https://affpapa.org/en/nevibecode/skills/ask-matt.md) — skill · 766587 installs
- [to-tickets](https://affpapa.org/en/nevibecode/skills/to-tickets.md) — skill · 711230 installs
- [writing-plans](https://affpapa.org/en/nevibecode/skills/writing-plans.md) — skill · 282859 installs
- [caveman-review](https://affpapa.org/en/nevibecode/skills/caveman-review.md) — skill · 411800 installs
- [caveman-compress](https://affpapa.org/en/nevibecode/skills/caveman-compress.md) — skill · 411500 installs

_Part of the page did not fit — see the HTML version._

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
