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.
Install command
npx @skill-hub/cli install openclaw-skills-cc-changelog-monitor
Repository
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 repositoryBest 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
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)*  --- ## 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." ```