Back to skills
SkillHub ClubAnalyze Data & AIFull StackData / AI

cc-changelog-monitor

Monitor Claude Code releases and get Telegram alerts when new versions ship. Zero AI credits — pure bash monitoring.

Packaged view

This page reorganizes the original catalog entry around fit, installability, and workflow context first. The original raw source lives below.

Stars
3,084
Hot score
99
Updated
March 20, 2026
Overall rating
C0.0
Composite score
0.0
Best-practice grade
C60.0

Install command

npx @skill-hub/cli install openclaw-skills-cc-changelog-monitor

Repository

openclaw/skills

Skill path: skills/assistant-design/cc-changelog-monitor

Monitor Claude Code releases and get Telegram alerts when new versions ship. Zero AI credits — pure bash monitoring.

Open repository

Best for

Primary workflow: Analyze Data & AI.

Technical facets: Full Stack, Data / AI.

Target audience: everyone.

License: Unknown.

Original source

Catalog source: SkillHub Club.

Repository owner: openclaw.

This is still a mirrored public skill entry. Review the repository before installing into production workflows.

What it helps with

  • Install cc-changelog-monitor into Claude Code, Codex CLI, Gemini CLI, or OpenCode workflows
  • Review https://github.com/openclaw/skills before adding cc-changelog-monitor to shared team environments
  • Use cc-changelog-monitor for development workflows

Works across

Claude CodeCodex CLIGemini CLIOpenCode

Favorites: 0.

Sub-skills: 0.

Aggregator: No.

Original source / Raw SKILL.md

---
name: cc-changelog-monitor
description: Monitor Claude Code releases and get Telegram alerts when new versions ship. Zero AI credits — pure bash monitoring.
---

# cc-changelog-monitor

Monitors `@anthropic-ai/claude-code` on npm and sends Telegram alerts when a new version is detected, including a diff summary of what changed between versions.

**Zero AI credits used during monitoring** — pure bash + curl + jq.

## Quick Start

### 1. Setup (one-time)

```bash
bash ~/clawd/skills/cc-changelog-monitor/scripts/setup.sh
```

This will:
- Auto-detect your Telegram bot token from OpenClaw config
- Ask for your Telegram chat ID (defaults to your personal ID)
- Initialize the version tracker at the current Claude Code version
- Make scripts executable

### 2. Manual run

```bash
bash ~/clawd/skills/cc-changelog-monitor/scripts/monitor.sh
```

Output when no new version:
```
✓ Claude Code is at v2.1.69 — no change.
```

Output when new version detected:
```
🔔 New version detected: v2.1.69 → v2.1.70
📦 Downloading @anthropic-ai/[email protected]...
✅ Telegram alert sent!
✅ Saved v2.1.70 as current version.
```

### 3. Add to OpenClaw Cron

See `cron-payload.md` for the exact payload to set up automatic monitoring every 2 hours.

## How It Works

1. **Polls npm registry** — `curl https://registry.npmjs.org/@anthropic-ai/claude-code/latest`
2. **Compares** with `~/.cc-changelog-version` (stored version)
3. **If new version**: downloads the tarball, extracts it, diffs against previous
4. **Sends Telegram alert** with version info + diff summary
5. **Saves new version** to disk

## Config

Credentials stored in `~/.cc-changelog-config`:

```bash
TELEGRAM_BOT_TOKEN="your-bot-token"
TELEGRAM_CHAT_ID="your-chat-id"
```

## Files Created by Monitor

- `~/.cc-changelog-version` — tracks the last seen version
- `~/.cc-changelog-config` — Telegram credentials
- `~/clawd/projects/cc-changelog/{version}/` — extracted npm packages for diffing

## Force Test Alert

```bash
# Reset version to trigger an alert
echo "0.0.0" > ~/.cc-changelog-version
bash ~/clawd/skills/cc-changelog-monitor/scripts/monitor.sh
```

## Skill Invocation (from OpenClaw chat)

You can ask OpenClaw to run the monitor manually:

> "Check if there's a new Claude Code version"

OpenClaw will run `monitor.sh` and report the result.


---

## Skill Companion Files

> Additional files collected from the skill directory layout.

### README.md

```markdown
# cc-changelog-monitor

> 🤖 Get Telegram alerts the moment Claude Code ships a new version — with a diff of what changed.

**Zero AI credits used during monitoring.** Pure bash + curl + jq. Runs as an OpenClaw cron job every 2 hours.

---

## What It Does

- Polls the npm registry for `@anthropic-ai/claude-code` every 2 hours
- Detects new versions by comparing with the last seen version
- Downloads the npm tarball and diffs it against the previous version
- Sends a Telegram alert with:
  - Old vs new version numbers
  - Count of changed/new files
  - Brief diff summary
  - Link to npm package page

**Example alert:**

```
🤖 Claude Code v2.1.70 released!

📌 Previous: v2.1.69
📝 Changed files: 3
✨ New files: 1
🕐 Published: 2026-03-06T10:23:11.000Z
🔗 https://www.npmjs.com/package/@anthropic-ai/claude-code

Diff summary:
Files dist/common/utils.js and dist/common/utils.js differ
Only in v2.1.70: dist/new-feature.js

_Monitored by OpenClaw cc-changelog-monitor_
```

---

## Prerequisites

- [OpenClaw](https://openclaw.ai) installed (for cron scheduling)
- A Telegram bot token (create one via [@BotFather](https://t.me/BotFather))
- `curl`, `jq`, `npm` installed on your machine

---

## Quick Start

**1. Clone/install the skill:**

```bash
# If using ClawdHub
clawdhub install cc-changelog-monitor

# Or clone directly
git clone https://github.com/antoinersx/cc-changelog-monitor ~/clawd/skills/cc-changelog-monitor
```

**2. Run setup:**

```bash
bash ~/clawd/skills/cc-changelog-monitor/scripts/setup.sh
```

The setup script will:
- Auto-detect your Telegram bot token from OpenClaw config (if available)
- Ask for your Telegram chat ID
- Initialize the version tracker at the current Claude Code version
- Print instructions for adding the cron job

**3. Add the cron in OpenClaw:**

See [`cron-payload.md`](./cron-payload.md) for the exact payload to paste into OpenClaw.

---

## How It Works (No AI Credits)

Most monitoring tools use LLMs to summarize changes — this one doesn't.

```
Every 2 hours:
  1. curl https://registry.npmjs.org/@anthropic-ai/claude-code/latest
  2. Compare version with ~/.cc-changelog-version
  3. If same → exit silently (costs: 0 credits, ~50ms)
  4. If new → npm pack + tar extract + diff -rq
  5. Send Telegram message via bot API
  6. Write new version to ~/.cc-changelog-version
```

The entire monitor loop runs in ~2 seconds on a new version, ~50ms when nothing changed.

---

## Configuration

Credentials are stored in `~/.cc-changelog-config`:

```bash
TELEGRAM_BOT_TOKEN="8587009442:AAE..."
TELEGRAM_CHAT_ID="223310915"
```

The setup script writes this automatically. You can also set these as environment variables.

---

## Manual Testing

```bash
# Normal run (silent if no new version)
bash ~/clawd/skills/cc-changelog-monitor/scripts/monitor.sh

# Force an alert (reset version)
echo "0.0.0" > ~/.cc-changelog-version
bash ~/clawd/skills/cc-changelog-monitor/scripts/monitor.sh
```

---

## File Structure

```
cc-changelog-monitor/
├── SKILL.md              # OpenClaw skill descriptor
├── README.md             # This file
├── package.json          # npm metadata
├── cron-payload.md       # OpenClaw cron setup instructions
└── scripts/
    ├── setup.sh          # One-time setup
    └── monitor.sh        # Main monitor (zero AI credits)
```

Output files (created at runtime):
```
~/.cc-changelog-version          # Last seen version
~/.cc-changelog-config           # Telegram credentials
~/clawd/projects/cc-changelog/   # Extracted packages for diffing
```

---

## Screenshot

*(Telegram alert example)*

![Telegram alert showing new Claude Code version with diff summary](./assets/telegram-alert-example.png)

---

## Powered by OpenClaw

This skill is designed for the [OpenClaw](https://openclaw.ai) agent platform. It uses OpenClaw's cron scheduling to run automatically — no server required, runs on your Mac.

---

## License

MIT — Antoine Rousseaux (@antoinersx)

```

### _meta.json

```json
{
  "owner": "assistant-design",
  "slug": "cc-changelog-monitor",
  "displayName": "Claude Code Changelog Monitor",
  "latest": {
    "version": "1.0.0",
    "publishedAt": 1772717119405,
    "commit": "https://github.com/openclaw/skills/commit/553029439a53f803d92ed62e62af53ee0f6baa99"
  },
  "history": []
}

```

### scripts/monitor.sh

```bash
#!/bin/bash
# cc-changelog-monitor.sh - Zero AI credits Claude Code version monitor
# Monitors @anthropic-ai/claude-code on npm and sends Telegram alerts

set -e

# Config
STORED_FILE=~/.cc-changelog-version
OUTDIR=~/clawd/projects/cc-changelog
TELEGRAM_BOT_TOKEN="${TELEGRAM_BOT_TOKEN:-8587009442:AAE9gvBicxM2T2NMmqNGDE9yXPQy3pB8pP8}"
TELEGRAM_CHAT_ID="${TELEGRAM_CHAT_ID:--1002381931352}"

# Colors
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
NC='\033[0m'

log_info() { echo -e "${GREEN}[INFO]${NC} $1"; }
log_warn() { echo -e "${YELLOW}[WARN]${NC} $1"; }
log_error() { echo -e "${RED}[ERROR]${NC} $1"; }

# 1. Check npm for latest version
log_info "Checking npm for latest Claude Code version..."
LATEST=$(curl -s https://registry.npmjs.org/@anthropic-ai/claude-code/latest | jq -r .version 2>/dev/null) || {
    log_error "Failed to fetch npm version"
    exit 1
}

if [ -z "$LATEST" ] || [ "$LATEST" = "null" ]; then
    log_error "Invalid version from npm"
    exit 1
fi

log_info "Latest version: $LATEST"

# 2. Get stored version
STORED=$(cat $STORED_FILE 2>/dev/null || echo "0.0.0")
log_info "Stored version: $STORED"

# 3. If same version, exit silently
if [ "$LATEST" = "$STORED" ]; then
    log_info "No new version. Exiting."
    exit 0
fi

log_warn "New version detected: $STORED -> $LATEST"

# 4. Get version details from npm
VERSION_INFO=$(curl -s "https://registry.npmjs.org/@anthropic-ai/claude-code/$LATEST" 2>/dev/null)
PUBLISHED=$(echo "$VERSION_INFO" | jq -r '.time.published' 2>/dev/null | cut -d'T' -f1)
 tarball=$(echo "$VERSION_INFO" | jq -r '.dist.tarball' 2>/dev/null)

# 5. Build changelog-style comparison (from npm registry - no AI needed)
CHANGES="• Version: $LATEST (was $STORED)
• Published: $PUBLISHED
• Tarball: $(echo $tarball | cut -d'/' -f5- | cut -c1-50)..."

# 6. Try to get release notes from GitHub (if available)
RELEASE_NOTES=""
if command -v curl &> /dev/null; then
    GITHUB_JSON=$(curl -s "https://api.github.com/repos/anthropics/claude-code/releases/tags/v${LATEST}" 2>/dev/null || echo "{}")
    BODY=$(echo "$GITHUB_JSON" | jq -r '.body[0:500]' 2>/dev/null || echo "")
    if [ -n "$BODY" ] && [ "$BODY" != "null" ]; then
        RELEASE_NOTES="
Release notes (first 500 chars):
$BODY..."
    fi
fi

# 7. Send Telegram alert
MESSAGE="🤖 *Claude Code v${LATEST}* released!

Previous: v${STORED}
Published: ${PUBLISHED:-unknown}

${CHANGES}${RELEASE_NOTES}

_Monitored by OpenClaw_"

log_info "Sending Telegram alert..."
curl -s -X POST "https://api.telegram.org/bot${TELEGRAM_BOT_TOKEN}/sendMessage" \
    -H "Content-Type: application/json" \
    -d "{
        \"chat_id\": \"${TELEGRAM_CHAT_ID}\",
        \"text\": $(echo "$MESSAGE" | jq -Rs .),
        \"parse_mode\": \"Markdown\"
    }" > /dev/null 2>&1 && log_info "Alert sent!" || log_error "Failed to send alert"

# 8. Save new version
echo "$LATEST" > $STORED_FILE
log_info "Version saved to $STORED_FILE"

# 9. Optionally download and extract for future diffs
if [ ! -d "$OUTDIR/$LATEST" ]; then
    log_info "Downloading package for future diffs..."
    mkdir -p "$OUTDIR/$LATEST"
    TMP_TARBALL="/tmp/claude-code-${LATEST}.tgz"
    curl -sL "$tarball" -o "$TMP_TARBALL" 2>/dev/null && \
        tar -xzf "$TMP_TARBALL" -C "$OUTDIR/$LATEST" 2>/dev/null && \
        rm -f "$TMP_TARBALL" && \
        log_info "Package extracted to $OUTDIR/$LATEST" || \
        log_warn "Failed to extract package (non-critical)"
fi

echo "✅ Claude Code $LATEST alert complete"

```

### scripts/setup.sh

```bash
#!/bin/bash
# cc-changelog-monitor setup.sh - One-time setup

set -e

echo "🔧 Setting up cc-changelog-monitor..."

# Create directories
mkdir -p ~/clawd/projects/cc-changelog
mkdir -p ~/clawd/skills/cc-changelog-monitor/scripts

# Create version file if not exists
if [ ! -f ~/.cc-changelog-version ]; then
    echo "0.0.0" > ~/.cc-changelog-version
    echo "✅ Created version tracking file"
fi

# Make scripts executable
chmod +x ~/clawd/skills/cc-changelog-monitor/scripts/monitor.sh

# Run once to initialize
echo ""
echo "🚀 Running initial check..."
bash ~/clawd/skills/cc-changelog-monitor/scripts/monitor.sh

echo ""
echo "✅ Setup complete!"
echo ""
echo "To add to OpenClaw cron:"
echo "1. Open OpenClaw dashboard"
echo "2. Add cron job with schedule: every 2 hours"
echo "3. Payload: bash ~/clawd/skills/cc-changelog-monitor/scripts/monitor.sh"
echo ""
echo "Or use the cron-payload.md file for the exact OpenClaw cron configuration."

```

cc-changelog-monitor | SkillHub