tracking-updates
Skill3 starsChanged 18 days agoMITView on GitHub
Digests Hermes releases and docs, proposes each change. Use when builder-watch wakes or the user asks what changed upstream.
In this repository11 other files it gives its agents.
- AGENTS.mdAGENTS.md
- llms.txtllms.txt
- assigning-modelsSkill
- authoring-skillsSkill
- changing-botsSkill
- contributing-upstreamSkill
- designing-squadsSkill
- finding-capabilitiesSkill
- hermes-platformSkill
- installing-squadsSkill
- managing-projectsSkill
The file
We split this skill into the rules it gives an agent
5 rules. About 0 are common, 2 are distinctive, and 3 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈2
Distinctive · estimate
This author's own choices. Worth a look.
3
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 29
Read only what the context lists:
- Very specific: line 70
Read every digest item with status: open and propose them one by one with clarify ("Hermes vX.Y.Z changes X.
- Very specific: line 98
Verify every wrong and high item in the source yourself: children are self-reports.
- Very specific: line 100
Write local/state/audits/<date>.json, then run Apply mode on the items.
- Distinctive: line 121
No repository file changed in digest mode.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Tracking updates
When to Use
- The
builder-watchcron wakes the builder with a## Script Outputblock. - The user asks what changed in Hermes, what to apply, or for an audit of the references.
- A builder chat opens while
local/state/digests/*.jsonholds items withstatus: open. - The squads themselves are not this skill:
builder-updateapplies them with no agent (skills/installing-squadsstep 6).
Procedure
Digest mode (cron)
builder-watch (builder.yaml -> bots.builder.cron.builder-watch) runs the
gate scripts/watch_upstream.py (--help lists the three signals: releases,
local version, local docs). With --docs-ref origin/main (maintainer mode:
the overlay local/squads/builder/squad.yaml sets
bots.builder.cron.builder-watch.args) the docs signal reads Hermes main, so
a change is digested before its release. A quiet tick prints {"wakeAgent": false} and no
agent runs. On a change Hermes prepends the gate's stdout to this turn as
## Script Output; context.changed names the signals that fired.
- Read only what the context lists:
release: the files incontext.filteredandcontext.overflow(priority bullets over the cap);hermes:context.hermes(local version change);docs: the diff incontext.docs.diff(andcontext.docs.overflow).context.docs.referencesnames theskills/hermes-platform/references/files the changed docs feed (*= all);new_pagesare docs no reference maps yet.
- For each docs change, compare the diff with the named reference and keep only changes that make a reference line wrong or leave out a behavior a squad depends on. Formatting and wording changes are no item.
- Write
local/state/digests/<date>.json:
{
"date": "YYYY-MM-DD",
"tags": ["vX.Y.Z"],
"items": [
{
"area": "profiles | skills | kanban | cron | plugins | mcp | connectors | desktop | projects | gateways | other",
"change": "one line, dated facts only",
"evidence": "path or URL the change was read from",
"reference": "references/<file>.md the change makes stale, or none",
"affects": "which installed squad or bot this touches, or none",
"action": "update-reference | new-capability | deprecation | config-change | none",
"confidence": "high | medium | low",
"status": "open | applied | declined"
}
]
}- Reply with at most 5 lines in the user's language (cron delivers them to
bot-chat:builder): one line peropenitem with action other thannone, naming the installed squad it touches ("your web squad: ..."), and whether it needshermes update. Edit nothing else. When the gate output is unreadable or a listed file is missing, reply with[CRON_FAILURE]as the first line and the cause on the next line: the run is recorded as failed and alerts once.
Apply mode (builder)
- Read every digest item with
status: openand propose them one by one withclarify("Hermes vX.Y.Z changes X; your web squad uses it for Y; apply?"). Apply only after an explicit yes; setstatustoappliedordeclinedso it is never proposed twice. In maintainer mode a generic fix (reference, script, plugin) is a bug fix: apply it to the squads repo (skills/contributing-upstreammaintainer mode) and report after. - A Hermes fact (
update-reference): verify it in the live Hermes first (--help, the source). The references are distribution-owned, so a local edit is overwritten by the next update: record it inskills/hermes-local-notes/SKILL.md(skills/hermes-platformstep 3) and send the reference fix upstream (skills/contributing-upstream). When a release rewrites a reference, bumpverified_againstinscripts/data/doc-sources.jsonwith it. - A squad change: write the overlay (
skills/changing-bots), thenplan, user OK,apply. - A new Hermes release: tell the user to run
hermes update(it moves release to release;hermes update --set-channel mainfollows every commit). Never run it from a bot: it restarts every gateway. After it, the nextbuilder-updatebrings every bot's SOUL and toolsets to the new Hermes, and the nextbuilder-watchdiffs the new docs.
Audit mode (each minor release, or on request)
The docs signal sees only the mapped docs. Once per minor release:
- Fan out read-only
delegate_taskchildren, 2-4 references each, with the paths fromscripts/data/doc-sources.json. Each returns items{kind: wrong|stale|missing, claim, fact, evidence, priority}. - Verify every
wrongandhighitem in the source yourself: children are self-reports. - Write
local/state/audits/<date>.json, then run Apply mode on the items. A docs page an item cites that the map lacks goes into the map.
Pitfalls
- Acting on a
confidence: lowitem: research it first or drop it. - Skipping the digest file: a change stays pending until
local/state/digests/<date>.jsonis newer than the wake, so the next tick wakes again with the same diff. - Editing
skills/hermes-platform/references/in the installed profile:builder-updatereplaces it (a backup is kept); fixes go upstream. - A
main-only change (maintainer mode) is not in the user's Hermes yet: ship code that works on both sides (try the new key, fall back to the old) and say "after<last release>" in the reference. - Docs describe intent; the source wins when they disagree (example: a
documented flag the CLI lacks). Record such a gap as
wrong.
Verification
- The digest file matches the JSON shape and every
evidencepoints at a real file or URL. - No repository file changed in digest mode.
- Applied items appear in the overlay,
skills/hermes-local-notes/or an upstream PR after the user's yes.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

