agentleFS
YassimbaYassimba/loom/.agents/skills/check-for-updates/SKILL.md

check-for-updates

Skill9 starsChanged 3 months agoApache-2.0View on GitHub

Read-only briefing of stale loom TUI tools and remote skills, with merge class against local edits.

The file

We split this skill into the rules it gives an agent

2 rules. About 0 are common, 1 is distinctive, and 1 is very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈1

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 1

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Write the briefing in the write-simply register.

    line 11
  2. Very specific:

    stale: when that SHA or digest ≠ skillFolderHash.

    line 33

≈ “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.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Check for updates

This run is a briefing. Apply starts on a later turn, when the user names an item (npx skills update <name>, or loom update then mise for a TUI).

Write the briefing in the write-simply register.

1. Inventory

Build two lists. Done when every selected TUI and every remote skill is on a list, each with a name, a pin or lock, and a bin or live path.

TUI — selected in ~/.config/mise/conf.d/loom.toml, and the matching manifest/tools.json description names TUI or Terminal UI. Pin = the SELECTION line. Bin = the row's bin (or label).

Remote skill — entries in ~/.agents/.skill-lock.json and, when present, the project's skills-lock.json whose sourceType is github, git, gitlab, or well-known. Live path = npx skills ls -g --json (and npx skills ls --json in the project), following the symlink to the real folder.

2. Detect

Label each inventory item current or stale. Done when every item has one label.

TUI — GitHub pin: gh api repos/<owner>/<repo>/releases/latest (tags when the pin is a tag). npm pin: npm view <pkg> version. stale when latest ≠ pin.

Remote skill — lock field is skillFolderHash.

  • GitHub: GET /repos/<source>/git/trees/<ref>?recursive=1 (ref, or the default branch when ref is empty). Folder SHA = the tree entry for dirname(skillPath), or the root tree SHA when the skill sits at repo root.
  • git / gitlab: ls-tree the skill folder at that ref.
  • well-known: GET sourceUrl and digest the payload.

stale when that SHA or digest ≠ skillFolderHash. Clone when the API is down.

3. Brief each stale item

Done when every stale item has a brief and a merge.

brief (register):

  • What it does, one sentence from the catalog row or SKILL.md description.
  • What moved since the pin or lock: the release, commits, or SKILL.md change, named specifically.

merge — live vs lock vs upstream:

ClassMeaning
cleanlive = lock; only upstream moved. Apply is a straight take.
driftlive ≠ lock; upstream = lock. Apply overwrites local edits.
overlaplive and upstream both ≠ lock on the same region. Name each file and the colliding hunk (local edit and upstream edit).

Fetch the upstream skill folder into a temp dir (GitHub contents/raw, or the clone from detect). diff -ru live vs upstream.

  • live folder still matches the lock hash → every diff is clean
  • live folder no longer matches the lock hash → hunks both sides moved are overlap; only live moved, drift; only upstream moved, clean

Item class is the worst hunk: overlap > drift > clean.

TUI binaries have no skill tree: clean, unless the user keeps a local fork (say so).

4. Overview

One document: TUI, then remote skills.

  • current: one count line
  • stale: name, current → latest, brief, merge class, and merge detail when the class is not clean
  • Close with a pick list: the stale names

Done when every inventory item is in the document and the pick list is last.

Download now (ZIP)

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
What did you use it for? e.g. Reviewing pull requests in a Rails app

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.