suite-update
Skill2 starsChanged 57 days agoMITView on GitHub
Use when checking the canvas-scanner repo for updates.
In this repository16 other files it gives its agents.
- canvas-course-syncSkill
- categorizerSkill
- course-knowledge-baseSkill
- course-study-sessionSkill
- email-draftingSkill
- exam-prepSkill
- grade-calculatorSkill
- homework-checklistSkill
- meetings-and-clubsSkill
- note-formatting-rulesSkill
- photos-to-pdfSkill
- roadmapSkill
- school-advisorSkill
- study-notes-workflowSkill
- verification-before-completionSkill
- writing-for-agentsSkill
The file
We split this skill into the rules it gives an agent
6 rules. About 0 are common, 4 are distinctive, and 2 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈4
Distinctive · estimate
This author's own choices. Worth a look.
2
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 13
When the user says "check for updates", "pull the suite", "is there a new version"
- Distinctive: line 14
After the user edits files in this suite that deserve publishing (see below)
- Very specific: line 40
Do NOT compare the parent's latest commit SHA against the local VERSION git_sha line: the parent's HEAD is always the "stamp VERSION" …
- Very specific: line 74
If newer: re-download the repo zip (https://github.com/Runtime-3rr0r/canvas-scanner/archive/refs/heads/main.zip), swap the folders, then …
- Distinctive: line 85
Never publish secrets. If a scan of the suite finds credentials, redact first.
- Distinctive: line 92
After pulling new skills, they appear in the catalog next session (session cache).
≈ “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
Suite Update (auto-sync from the parent repo)
The parent repo canvas-scanner (https://github.com/Runtime-3rr0r/canvas-scanner) is the single source of truth for this suite: skills, scripts, docs, README. Users do NOT need their own GitHub account or repo; the parent is checked anonymously (public repo).
When to Use
- On session start (or weekly), unless the user opts out
- When the user says "check for updates", "pull the suite", "is there a new version"
- After the user edits files in this suite that deserve publishing (see below)
Where the local VERSION lives
- Git-clone install:
VERSIONat the clone root. - Zip/folder install:
VERSIONat the unzipped folder root. - setup.sh install: copied to
$HERMES_HOME/canvas-scanner-version(~/.hermeson macOS/Linux,%LOCALAPPDATA%\hermeson Windows).
Check procedure (no login required)
First determine the install type: does the suite folder contain a .git directory?
Git-clone installs
The clone knows its own position relative to the parent branch; no API call needed:
git -C <suite dir> fetch origin
git -C <suite dir> rev-list --count HEAD..origin/main0→ up to date (report the local version).> 0→ update available; apply withgit -C <suite dir> pull --ff-only, then read what changed:git -C <suite dir> log --oneline HEAD@{1}..HEAD.
Do NOT compare the parent's latest commit SHA against the local VERSION
git_sha line: the parent's HEAD is always the "stamp VERSION" commit, which
sits one commit AFTER the content commit that git_sha records. Comparing
SHAs therefore reports a phantom update on every check, even when current.
git_sha is provenance only; updates are decided by branch position or
version number.
Zip/folder installs
Compare version NUMBERS, local vs parent. The parent's VERSION is served as a raw file, so this uses no GitHub API quota:
grep '^version:' "$HERMES_HOME/canvas-scanner-version" 2>/dev/null \
|| grep '^version:' <suite dir>/VERSION # local
curl -s https://raw.githubusercontent.com/Runtime-3rr0r/canvas-scanner/main/VERSION | grep '^version:' # parentCompare the two version: x.y.z values numerically (three dotted ints):
python3 - <<'EOF'
import re, urllib.request
def ver(t):
m = re.search(r"version:\s*([\d.]+)", t)
return [int(x) for x in m.group(1).split(".")[:3]]
local = ver(open("<suite dir>/VERSION", encoding="utf-8").read())
parent = ver(urllib.request.urlopen(
"https://raw.githubusercontent.com/Runtime-3rr0r/canvas-scanner/main/VERSION"
).read().decode())
print("update available" if parent > local else "up to date")
EOFIf newer: re-download the repo zip
(https://github.com/Runtime-3rr0r/canvas-scanner/archive/refs/heads/main.zip),
swap the folders, then re-run bash scripts/setup.sh --no-install (re-copies
skills + templates + refreshes the version file), or re-clone.
Report: version before → after, what changed, and whether any new skill needs the next-session catalog refresh.
Publishing from a fresh machine (only if the user HAS a GitHub account + wants to contribute)
- The parent repo is the origin's; changes are contributions. Prompt the user for GitHub setup ONLY if they ask to publish:
gh auth login(or a PAT with repo scope), fork → PR, or request collaborator access. - Never publish secrets. If a scan of the suite finds credentials, redact first.
Pitfalls
git pullrequires the suite to BE a git clone. Folder installs update by swapping the folder + re-running setup; they do not need git.- Local edits to suite files will conflict on pull;
git stashor ask the user which copy wins. - The parent HEAD is always the "stamp VERSION" commit; never decide updates from it for folder installs (see above).
- After pulling new skills, they appear in the catalog next session (session cache).
raw.githubusercontent.comis not the GitHub API, so it is not rate-limited like the API (60 req/hr anonymous); daily checks are fine.
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.

