# Send Release Tracker to your agent
Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.
## Fast path
- Download the package from Yavira.
- Extract it into a folder your agent can access.
- Paste one of the prompts below and point your agent at the extracted folder.
## Suggested prompts
### New install

```text
I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete.
```
### Upgrade existing

```text
I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run.
```
## Machine-readable fields
```json
{
  "schemaVersion": "1.0",
  "item": {
    "slug": "release-tracker",
    "name": "Release Tracker",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/jo9900/release-tracker",
    "canonicalUrl": "https://clawhub.ai/jo9900/release-tracker",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadUrl": "/downloads/release-tracker",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=release-tracker",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "packageFormat": "ZIP package",
    "primaryDoc": "SKILL.md",
    "includedAssets": [
      "SKILL.md",
      "references/config-examples.md",
      "scripts/setup.sh"
    ],
    "downloadMode": "redirect",
    "sourceHealth": {
      "source": "tencent",
      "slug": "release-tracker",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-05-08T03:42:38.147Z",
      "expiresAt": "2026-05-15T03:42:38.147Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=release-tracker",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=release-tracker",
        "contentDisposition": "attachment; filename=\"release-tracker-1.1.0.zip\"",
        "redirectLocation": null,
        "bodySnippet": null,
        "slug": "release-tracker"
      },
      "scope": "item",
      "summary": "Item download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this item.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/release-tracker"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    }
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/release-tracker",
    "downloadUrl": "https://openagent3.xyz/downloads/release-tracker",
    "agentUrl": "https://openagent3.xyz/skills/release-tracker/agent",
    "manifestUrl": "https://openagent3.xyz/skills/release-tracker/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/release-tracker/agent.md"
  }
}
```
## Documentation

### Release Tracker

Monitor one or more GitHub repositories for new releases, generate prioritized summaries, and deliver them to configured channels.

### Prerequisites

gh CLI installed and authenticated (gh auth status)
For Discord delivery: Discord channel configured in OpenClaw

### Single Repo Setup

Set up tracking for one repo with a cron job:

1. Create a config file at <workspace>/release-tracker.json (see Configuration)
2. Create a cron job (isolated, daily) that runs the check
3. The cron reads config, checks GitHub, compares versions, posts if new

### Multi-Repo Setup

Add multiple repos to the repos array in config. Each repo has independent version tracking and priority rules.

### Configuration

Store config at <workspace>/release-tracker.json:

{
  "repos": [
    {
      "owner": "openclaw",
      "repo": "openclaw",
      "displayName": "OpenClaw",
      "priorities": ["discord", "voice", "telegram", "cron", "agent"],
      "outputChannel": "<your-discord-channel-id>",
      "outputFormat": "discord-forum",
      "language": "en",
      "includePrerelease": false
    }
  ],
  "versionStore": "release-tracker-state.json",
  "schedule": "0 10 * * *",
  "timezone": "UTC"
}

### Config Fields

repos[].owner / repos[].repo — GitHub owner/repo
repos[].displayName — friendly name for output header
repos[].priorities — keywords to sort higher in summary (matched against changelog text)
repos[].outputChannel — Discord channel/forum ID for delivery
repos[].outputFormat — discord-forum | discord-channel | telegram | slack | text

discord-forum: create a new forum post per release
discord-channel: send a message to a Discord channel
telegram: send a message to a Telegram chat/channel/group
slack: send a message to a Slack channel
text: return plain text (for piping to other tools)


repos[].language — zh | en (summary language)
repos[].includePrerelease — track pre-release/RC versions
repos[].filter — optional, stable | all (default: stable)
versionStore — filename for tracking last-seen versions (relative to workspace)
schedule — cron expression for check frequency
timezone — timezone for cron schedule

### Check for New Releases

Read config from release-tracker.json
Read version state from <versionStore>
For each repo:
gh release list --repo <owner>/<repo> --limit 5 --json tagName,publishedAt,isPrerelease


Compare latest tag against stored version
If new version found, proceed to summarize

### Generate Summary

Fetch release content:
gh release view <tag> --repo <owner>/<repo> --json body


If release body is sparse, also check local CHANGELOG if the package is installed:
cat /opt/homebrew/lib/node_modules/<package>/CHANGELOG.md


Parse and categorize changes into sections:

Priority items — lines matching any priorities keywords, shown first
Features — new capabilities
Breaking changes — marked with ⚠️
Fixes — bug fixes relevant to user (skip internal/CI fixes)
Security — collapsed at bottom unless critical
Skip: CI/test-only changes, dependency bumps, internal refactors

### Prioritization Rules

Sort entries within each section:

Lines matching priorities keywords → top
User-facing changes → middle
Internal/infrastructure → bottom
Omit: trivial fixes, test-only changes, doc typos

### Format Output

Discord Forum (discord-forum)

Title: 📦 v{version}

Body:
## {displayName} v{version}

### ⭐ Key Features
{priority matches + features, formatted as bold headers with descriptions}

### ⚠️ Breaking Changes
{breaking changes with migration notes}

### 🔧 Fixes
{relevant fixes, grouped by area}

### 🛡️ Security
{security fixes, brief}

Discord Channel (discord-channel)

Compact single-message format, max 2000 chars.

Telegram (telegram)

Same structure as Discord Channel but respects Telegram formatting (markdown v2). Max 4096 chars.

Slack (slack)

Same structure, uses Slack mrkdwn formatting. Max 3000 chars.

Text (text)

Plain markdown, no emoji headers.

### Deliver

Based on outputFormat:

discord-forum: message(action=thread-create, channelId=<outputChannel>, threadName=<title>, message=<body>)
discord-channel: message(action=send, channel=discord, target=<outputChannel>, message=<body>)
telegram: message(action=send, channel=telegram, target=<outputChannel>, message=<body>)
slack: message(action=send, channel=slack, target=<outputChannel>, message=<body>)
text: return as tool result

### Update State

After successful delivery, update version store:

{
  "openclaw/openclaw": {
    "lastVersion": "2026.2.22-2",
    "lastCheckedAt": "2026-02-24T10:00:00+09:00",
    "lastPublishedAt": "2026-02-22T..."
  }
}

### Cron Setup

Create the cron job for automated checking:

Name: release-tracker
Schedule: {config.schedule} with tz {config.timezone}
Session: isolated
Payload: agentTurn with message referencing this skill
Delivery: none (skill handles its own delivery)

The cron message should instruct the agent to:

Read release-tracker.json for config
Read release-tracker-state.json for last versions
Check each repo via gh release list
If new releases found, generate summaries and deliver
Update state file

### Manual Check

User can trigger manually: "check for new releases" or "any updates on openclaw?"

The agent should:

Load config
Run the check workflow
Report findings conversationally (not necessarily in forum format)
## Trust
- Source: tencent
- Verification: Indexed source record
- Publisher: jo9900
- Version: 1.1.0
## Source health
- Status: healthy
- Item download looks usable.
- Yavira can redirect you to the upstream package for this item.
- Health scope: item
- Reason: direct_download_ok
- Checked at: 2026-05-08T03:42:38.147Z
- Expires at: 2026-05-15T03:42:38.147Z
- Recommended action: Download for OpenClaw
## Links
- [Detail page](https://openagent3.xyz/skills/release-tracker)
- [Send to Agent page](https://openagent3.xyz/skills/release-tracker/agent)
- [JSON manifest](https://openagent3.xyz/skills/release-tracker/agent.json)
- [Markdown brief](https://openagent3.xyz/skills/release-tracker/agent.md)
- [Download page](https://openagent3.xyz/downloads/release-tracker)