Install
openclaw skills install release-feature-watcherUse when the user wants to monitor a technical feature, bugfix, model/API update, changelog, release, package version, or PR and be notified only when a specific actionable condition is met.
openclaw skills install release-feature-watcherUse this skill to turn “tell me when this ships” into a quiet, verified, self-cleaning watcher for technical changes.
A watcher is not a reminder. A watcher is an automated readiness check. It should stay silent while nothing is actionable, alert only when the condition is met or the check is truly broken, include the next useful action, and remove itself after success when appropriate.
This skill is deliberately broad but not generic. It watches technical dependencies, tools, APIs, models, packages, changelogs, releases, bugs, and features that matter to a user’s workflow. It is not for open-ended “watch the web for interesting stuff” monitoring.
Use when the user says things like:
Do not use for:
Every watcher needs six things:
If you cannot state the condition precisely, do not create a watcher yet. Ask one concise clarifying question or park the resource instead.
Use for GitHub PRs, issues, releases, and release assets.
Common readiness conditions:
pr_merged: PR merged_at is non-null.pr_released: PR merged and a public release was published after merged_at.issue_closed: issue state is closed.issue_fixed_in_release: issue closed or linked PR merged, then a release after the fix includes the issue/PR/feature.release_contains_phrase: release notes mention the requested feature, bug, issue number, PR number, or keyword.asset_available: a release has an installable asset for the user’s platform.Default condition for “tell me when this ships”:
PR merged + official non-draft release published after merge.
Use for product/app/API changelogs and release-note pages.
Common readiness conditions:
Avoid alerting on any page diff. Page changes are evidence, not readiness.
Use for Anthropic, OpenAI, Google/Gemini, xAI, OpenRouter, Nous, Hugging Face, local inference tools, and similar providers.
Common readiness conditions:
Default standard:
Do not alert on marketing-only announcements unless the user asked for early awareness. Prefer official docs, API model lists, pricing pages, changelogs, package releases, or provider dashboards.
Use for npm, PyPI, Homebrew, Docker, AUR, GitHub releases, crates.io, and similar package sources.
Common readiness conditions:
Use for documentation pages, API references, limit pages, and capability matrices.
Common readiness conditions:
Use for CVEs, critical bugs, exploit advisories, and fixes in tools the user runs.
Common readiness conditions:
Security watchers may justify more urgent notifications, but still need clear evidence.
Grade evidence before alerting.
Strong evidence:
Medium evidence:
Weak evidence:
Alert only when evidence is strong enough for the requested action. If the user asked to install/update/use something, require install-ready evidence unless they explicitly allow early alerts.
When the user gives a watcher request:
Default schedule: daily.
Default delivery: origin/current chat.
Default noise mode: quiet, only alert on success or persistent check failure.
Default cleanup: self-remove after success.
Default expiry:
Prefer acting with a sensible default. Ask only when ambiguity changes the implementation.
Useful Telegram-friendly question:
Watch for what?
1. Any update
2. Specific feature/fix mention
3. Official release after merge/fix
4. Installable version available
5. Model/API availability
Default for technical tools:
specific feature/fix + installable or API-usable release
Useful noise question:
How noisy?
1. Quiet: only when ready
2. Notify on major intermediate changes
3. Daily digest
Default:
Quiet: only when ready.
For LLM-backed cron jobs, make the prompt self-contained:
Watcher: <short name>
Goal: Check whether <target> is ready.
Sources:
- <primary source URL>
- <secondary source URL if needed>
Baseline at creation:
- <state/version/date/hash>
Ready only if:
1. <condition 1>
2. <condition 2>
3. <condition 3>
If not ready:
- Deliver nothing.
If transient check failure:
- Deliver nothing unless failure appears persistent or blocks the watcher completely.
If ready:
- Send a concise message with evidence and next action.
- Remove this cron job. Current job id: <job_id>.
Next action if ready:
- <install/update/test/action>
Prefer deterministic no_agent=true cron scripts for common checks. They are cheaper, quieter, and less likely to hallucinate.
Recommended pattern:
~/.hermes/watchers/.This skill includes example scripts/templates for GitHub PR-to-release checks. Treat them as examples; adapt paths and install commands to the current Hermes instance.
After creating a watcher, send a compact card:
Watcher created
Target: <project/source>
Watching for: <feature/fix/model/change>
Ready when: <condition>
Sources: <1-3 sources>
Schedule: <human time + timezone>
Quiet: yes/no
Expires: <date or rule>
Self-removes: yes/no
Job ID: <id>
When ready, send:
Ready: <feature/fix/change> appears shipped.
Evidence:
- <source fact 1>
- <source fact 2>
- <source fact 3>
Release/docs/package: <URL>
Next step: <install/update/test/action>
Watcher removed: <job_id>
If evidence is not strong enough for action, do not mark ready. Send only if the user requested intermediate updates.
Do not notify on every failed check.
Recommended policy:
For public use, keep a local registry when practical:
~/.hermes/watchers/release-feature-watchers.json
Minimum fields:
{
"id": "short-id",
"name": "Terax Markdown Preview release watcher",
"kind": "github_pr_release",
"sources": ["https://github.com/crynta/terax-ai/pull/142"],
"condition": "PR merged and public release published after merge",
"created_at": "2026-05-16T00:00:00Z",
"expires_at": "2027-05-16T00:00:00Z",
"cron_job_id": "...",
"status": "active",
"next_action": "Install/update Terax"
}
For users with an Obsidian or notes system, optionally maintain a human-readable watcher registry. Do not assume one exists.
When the watcher fires, include the best next action:
yay -Syu <pkg>.User:
Watch this PR and tell me when I should install the new version.
Condition:
PR merged + latest public release published after merge + release has installable asset.
User:
Tell me when Anthropic releases Sonnet X in the API with pricing.
Condition:
Official model/API docs list the model and official pricing page includes it.
User:
Watch the changelog until they fix the markdown preview bug.
Condition:
Official changelog includes markdown preview fix phrase in a new version after baseline.
User:
Tell me when package foo reaches 2.4 and the migration bug is fixed.
Condition:
Registry version >= 2.4.0 and changelog/release notes mention the migration fix.
Creating vague reminders. “Check this PR daily” is not enough. Define readiness.
Alerting on weak evidence. A founder tweet can be useful context, but it is not install/API-ready evidence unless the user asked for early signals.
Spamming no-change updates. Quiet is the default. No news means no message.
Forgetting self-removal. If the watcher is one-shot, include the job ID and removal instruction in the cron prompt.
Ignoring timezone. Translate the user’s requested local time into the scheduler’s timezone and report both when useful.
Using an LLM for deterministic checks. Prefer scripts for GitHub/package/version checks; use LLM judgment only for ambiguous changelogs/docs.
No install path. A watcher that says “released” without the next action is only half done.
Letting stale watchers accumulate. Add expiry or periodic cleanup.