update-workspace
Skill0 starsChanged 4 months agoMITView on GitHub
Check the free version of Solo Staff for anything new and bring it into the owner's workspace, safely. Fetches the latest published copy to the side, compares release ids, reads out what's new from the release notes in plain words, and adds only files the workspace doesn't have — it never overwrites a file the owner already has, and never writes anything without an explicit yes.
- Deletes or force-pushes
1 other project uses a version of this.
Adopted by
Most recently taken up by
- NickMoignard/agent-workspace-templatetheir own version, first seen Oct 20, 2026
Other versions1 project uses a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 1
- NickMoignard/agent-workspace-template★ 0same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository17 other files it gives its agents.
- AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- add-areaSkill
- connect-toolsSkill
- new-projectSkill
- rememberSkill
- setup-workspaceSkill
- tune-workspaceSkill
- workspace-helpSkill
- add-areaSkill
- connect-toolsSkill
- new-projectSkill
- rememberSkill
- setup-workspaceSkill
- tune-workspaceSkill
- update-workspaceSkill
- workspace-helpSkill
The file
We split this skill into the rules it gives an agent
10 rules. About 0 are common, 4 are distinctive, and 6 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.
6
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 21
After a long gap, when the owner wonders whether their copy has fallen behind.
- Distinctive: line 23
Not for changing the owner's own files, areas, or projects — that's everyday work, not an update.
- Very specific: line 28
Read the VERSION file at the workspace root.
- Very specific: line 41
Full-version note (check once, say once): If WHATS-ADDED.md exists at the workspace root, this is the full version.
- Very specific: line 61
A. You can run shell commands (Claude Code, Codex): Create a new empty temporary folder well away from the workspace, work from inside it, …
- Distinctive: line 70
If the clone fails — no network, git not installed, the repo unreachable — delete the temporary folder, tell the owner the published copy …
- Very specific: line 91
Read VERSION in the fetched copy and compare it with the workspace's (Step 1).
- Distinctive: line 145
Add new mirror files only when the fetched canonical package is byte-identical to this workspace's canonical package after step 1.
- Very specific: line 157
If the owner says no, or wants only part of the list: write exactly what they approved (none is fine), still delete the temporary folder — …
- Very specific: line 173
Add, never overwrite: No existing file is ever replaced or edited by an update.
≈ “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
update-workspace
The owner wants to know whether Solo Staff has improved since they got their copy — and to take the improvements without risking the workspace they've made their own. That's this skill's whole contract: an update only ever adds files. A file that already exists in this workspace is never touched, even if the published version of it changed — the owner's customizations always win.
The owner is not an engineer. Plain words, one step at a time, and nothing is written until they've seen exactly what would land and said yes.
When to use
- The owner asks "is there a new version?", "update my workspace", or "am I missing anything new?"
- After a long gap, when the owner wonders whether their copy has fallen behind.
Not for changing the owner's own files, areas, or projects — that's everyday work, not an update. And it never runs on its own: the owner asks, you check.
Step 1 — Read where this workspace stands
Read the VERSION file at the workspace root. It holds one line — the release this
workspace last updated to. Release ids are dates: 2026.07 is the July 2026
release, and a second release in the same month reads 2026.07.1.
VERSIONexists → note the release id and go to Step 2.- No
VERSIONfile → this copy predates versioning. Tell the owner plainly: their workspace shipped before Solo Staff carried release ids, so you can't tell how far behind it is — but you can fetch the newest free version, see what their copy is missing, and adopt versioning at the same time (VERSIONandCHANGELOG.mdsimply arrive as new files). If they want that, carry on — the rest of the flow works unchanged; you just can't show a "what's new since yours" list, only the newest release notes and the files that would be added.
Full-version note (check once, say once). If WHATS-ADDED.md exists at the
workspace root, this is the full version. Say one line: updates to the paid,
curated layer reach the owner through the engagement itself (how that works is
MAINTAINED.md) — this skill only checks the free layer the full version is built
on, and it's safe to run here: it still only ever adds files.
Step 2 — Fetch the newest free copy, safely, to the side
Fetch the latest published free (lite) copy of Solo Staff into a brand-new, empty temporary folder — never into the workspace itself. Nothing in the owner's workspace is touched in this step. If the fetch fails in any way, delete the temporary folder, say what happened in plain words, and stop — the workspace stays exactly as it was.
The URL below is public and the same for everyone — the owner never has to supply
it. Before you fetch, confirm the URL is real: if the clone command still shows
a placeholder in angle brackets instead of a real https address, this copy
shipped before publish — do NOT run it. Tell the owner there's no published update
source for this copy and stop.
A. You can run shell commands (Claude Code, Codex). Create a new empty
temporary folder well away from the workspace, work from inside it, and clone the
published copy with no history, dropping its .git so what's left is just files:
# Run from inside the NEW empty temporary folder — never from the workspace.
git clone --depth 1 https://github.com/hunterbohm/solo-staff.git . && rm -rf .gitIf the clone fails — no network, git not installed, the repo unreachable —
delete the temporary folder, tell the owner the published copy couldn't be reached
right now (nothing was changed; try again later), and stop. If it fails partway,
same thing: delete the folder so nothing half-fetched survives.
B. You can't run shell commands (a chat-only assistant, or a tool with no terminal). Land the same published copy another way: use the tool's git or repository connector to pull that URL into a new empty folder, or have the owner download the ZIP from the same URL (GitHub's "Download ZIP"), unzip it, and tell you where it landed. Same rule either way: a separate folder, never on top of the workspace.
Check the fetched copy is whole before trusting it. In the fetched folder,
these must all exist: AGENTS.md, CONTEXT.md, MEMORY.md,
workspaces/REGISTRY.md, projects/_project-template.md, at least one skill under
skills/, and — for any release that can be compared — VERSION and
CHANGELOG.md. Anything missing means a half-fetched copy or a published copy that
predates versioning: delete the folder, say so plainly, and stop. Never compare
against — or copy from — a broken fetch.
Step 3 — Compare versions and say where things stand
Read VERSION in the fetched copy and compare it with the workspace's (Step 1).
Compare the parts left to right — year, then month, then the extra number if one is
there: 2026.07.1 is newer than 2026.07, and 2026.08 is newer than both.
- Same — or the workspace's is newer → tell the owner "you're current," delete the temporary folder, and stop. Done.
- Fetched is newer → open the fetched
CHANGELOG.mdand read out, newest first and in plain words, each release entry newer than the workspace's version — that's "what's new since yours." (No localVERSION? Show the newest entry and say honestly that you can't tell which of the older entries their copy already has.)
Step 4 — Work out what would be added — and be honest about what won't be
Compare the fetched folder against the workspace, file by file:
- In the fetched copy but not in the workspace → these are the additions —
the only files this skill will ever write. (
VERSIONandCHANGELOG.mdget the special handling in Step 5 — and so does anything inside a hidden command folder like.claude/skills/, which Step 5 adds only when it matches the skill it mirrors.) - In both places → left alone, always — even if the published version of that file has changed since the owner's copy. Their file may carry their answers, their voice, their edits; those win. Say it honestly: "Some shipped files have newer published versions, but yours stay exactly as they are — I never overwrite your copy. If you'd like to see how a current published original reads, ask and I'll show it next to yours — you'd choose what, if anything, to take."
- One special case in the full version: if the fetched free copy carries a
LICENSEfile and this workspace doesn't, skip it — the full version ships without a license file on purpose, so the free version's license must not be added to it.
Then show the owner the plain list: every file that would be added, one per line, with a word on what each is (a new skill, a new template, a new guide…). If nothing would be added, say so: "this release only changes files you already have — nothing to add, nothing touched," and offer the Step 5 bookkeeping alone (or leave everything as is, if they'd rather).
Step 5 — Get a yes, then write
Nothing lands without an explicit yes to the exact list from Step 4. Ask plainly — "want me to add these?" — and wait.
On yes:
- Copy the additions from the fetched folder into the workspace, at the same paths — the readable files first, command mirrors last (next step). Add files only — never replace one, never delete one.
- One guard while copying: a discovery package must match its visible skill.
Some additions live in a hidden command folder (
.claude/skills/today; a future copy may use an equivalent like.agents/skills/). Those copies are what a runtime loads, and each complete package must duplicate the readableskills/<name>/package, including disclosed references and relative paths. Add new mirror files only when the fetched canonical package is byte-identical to this workspace's canonical package after step 1. If the owner's package is customized, incomplete, or absent, skip every new mirror file for that skill and explain why: discovery must never load a partial or different procedure. - Update
VERSION— replace its one line with the fetched release id (or add the file, if this workspace predates versioning). - Update
CHANGELOG.md— add the release entries the workspace didn't have yet, on top (newest first), and keep everything already in the owner's copy exactly as it is — their file is merged into, never replaced. (If the workspace has noCHANGELOG.md, the fetched one simply arrives as an addition.) - Delete the temporary folder.
If the owner says no, or wants only part of the list: write exactly what they
approved (none is fine), still delete the temporary folder — and leave VERSION
and CHANGELOG.md alone unless the whole update was taken. A partly-taken update
isn't "current," and the honest release id is the old one.
Step 6 — Close it out, in one line
Tell the owner what happened, once, plainly: "Updated to 2026.07.1 — added the 3
files listed above; everything you'd customized is untouched." Or: "You're current
— nothing to do." If anything was written, add a dated operating-decision receipt
under memory/decisions/operations/ with the old release, new release, files added,
owner approval as the source, and the condition for revisiting it. Keep the receipt
short; do not duplicate the release notes.
Rules
- Add, never overwrite. No existing file is ever replaced or edited by an
update. The two bookkeeping exceptions, taken only with the full update:
VERSION(one line, replaced) andCHANGELOG.md(new entries added on top, nothing of the owner's removed). - A discovery package must match its skill. A hidden
.claude/skills/copy (or any future equivalent) is added only when the complete package is byte-identical to the workspace's ownskills/<name>/, including every disclosed reference. - The workspace is untouched until the yes. Everything before Step 5 happens in a temporary folder to the side. Any failure — no network, a half-fetched copy, a missing version file — ends with that folder deleted and the workspace exactly as it was.
- Show before you write. The owner sees the full add-list and says yes first — no list, no write.
- Plain words. Release notes are read out in owner language, not paths and jargon; the add-list itself names the real files, one per line.
- Never run unasked. This skill fires when the owner asks for an update or a version check — it never checks on its own.
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.

