skill-sync
Skill8 starsChanged 36 days agoMITView on GitHub
Consolidate what this session learned into the project's skills so the NEXT session (or a parallel one) starts oriented instead of cold. Use when the user says "sync skills", "update the skills", "document this in the skill", or similar; and proactively offer it at the end of a session that changed how a system behaves, fixed a bug, made a design decision, or discovered that the docs were wrong (drift).
21 other projects use a version of this.
Adopted by
Most recently taken up by
- thistleknot/skillstheir own version, first seen Nov 8, 2026
- AlomoesDataScience/claude-skillstheir own version, first seen Nov 8, 2026
- isaaclimmy/codex-skill-synctheir own version, first seen Nov 8, 2026
- davideiffert/do-computer-skill-synctheir own version, first seen Oct 25, 2026
- amit-t/skillstheir own version, first seen Oct 25, 2026
- tomwangowa/agent-skillstheir own version, first seen Oct 21, 2026
Used with
Projects with it also use session-handoff, verification-before-completion and 2 more.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
wpankSkillsession-handoff
WHAT: Create comprehensive handoff documents that enable fresh AI agents to seamlessly continue work with zero ambiguity. Solves long-running agent context exhaustion problem.
Also in 3 projects that use this
OpenAISkillverification-before-completion
Use when about to claim work is complete, fixed, or passing, before committing or creating PRs - requires running verification commands and confirming output before making any success claims; evidence before assertions always
Also in 3 projects that use this
OpenAISkilltest-driven-development
Use when implementing any feature or bugfix, before writing implementation code
Also in 3 projects that use this
GoogleSkilltdd
Test-driven development. Use when the user wants to build features or fix bugs test-first, mentions "red-green-refactor", or wants integration tests.
Also in 4 projects that use this
Other versions21 projects use a version of this.
Word for word · 1
- Ramillax/claude-code-control-room★ 8100% same
Edited · 0
None found.
Wrote their own version · 20
- prowler-cloud/prowler★ 15ksame name
- amit-t/skills★ 4same name
- catalystsystemslab/codex-skill-sync★ 2same name
- isaaclimmy/codex-skill-sync★ 2same name
- its-everdred/skills★ 2same name
- light-merlin-dark/skill-sync★ 2same name
- tomwangowa/agent-skills★ 2same name
- AlomoesDataScience/claude-skills★ 1same name
- andyshen1121/skills★ 1same name
- magic-meal-kits/mmk-skills★ 1same name
10 more not listed
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 repositoryOne other file it gives its agents.
- __NAME__Skill
The file
We split this skill into the rules it gives an agent
11 rules. 0 are common, 7 are distinctive, and 4 are very specific to this project.
0
Common
Most of the 17 edited versions we read keep these.
7
Distinctive
This author's own choices. Worth a look.
4
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 23
One truth, one place: Every fact lives in exactly one file.
- Distinctive: line 33
Before writing a fact, classify it:
- Distinctive: line 43
If you catch yourself copying a number, version or status that could differ tomorrow, stop and leave the pointer instead.
- Very specific: line 53
Only your own work: Read the board (slog tail 40) to orient yourself (not to overwrite someone's change, to notice a stale base), not to …
- Distinctive: line 60
Do not write from memory or from what you believe.
- Very specific: line 70
Parallel sessions: before editing a skill file, slog take "skill:<name>".
- Very specific: line 80
Before finishing, run skill-lint.
- Distinctive: line 82
If a change supersedes an older one, say so ("SUPERSEDES #42") instead of deleting it.
- Distinctive: line 104
Exact beats complete: If you doubt a fact, verify it or leave it out.
- Very specific: line 107
Move verbatim: When relocating content, move it with a script and diff to prove nothing was lost.
- Distinctive: line 109
Staleness check in passing: If a reference hasn't been touched in months but its subsystem did change (grep the changelog), verify its main …
“Common” is measured: kept by at least 6 in 10 of the 17 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Skill Sync
Skills are the shared, durable memory of a project that several Claude Code sessions work on
in parallel. The live board (slog) is ephemeral; this is where what matters lands before a
session closes. The goal is not more text: it is that a future session, starting cold,
understands the system correctly and builds on it without re-discovering everything.
A stale fact is worse than a missing one: it makes the next session assert something false
with confidence, and every decision built on it inherits the error.
The structure to respect: 3 layers
| Layer | File | What goes here | What does NOT |
| Router | SKILL.md | frontmatter, 3–5 line intro, map of references, short durable rules | subsystem detail, history, walls of text |
| Current state | references/<topic>.md | how each subsystem works TODAY | how it got that way |
| History | references/changelog.md | what changed, when and why; dated entries with stable #NNN ids | current state (that lives in the topic file) |
One truth, one place. Every fact lives in exactly one file. If it is in three places, two
will rot. The router is loaded in full every time the skill triggers, so every KB there is paid
on every use: keep SKILL.md under 12 KB and move detail to a reference. References have no
size budget; they are read with grep + a partial Read.
Snapshot vs pointer: the rule that prevents most drift
What rots is whatever mirrors live state: a value, a version, a count, "currently only X is enabled". What lasts is the why, the architecture, a gotcha, an identifier.
Before writing a fact, classify it:
- Durable → write it. This is knowledge that lives nowhere else (reasoning, decisions, traps).
- Live state → do NOT copy the value. Write one line about what it does, plus where it lives and how to read it now:
Retries failed webhooks with backoff.
↻ verify: <command that shows the current config / query / file:line>If you catch yourself copying a number, version or status that could differ tomorrow, stop and leave the pointer instead.
Procedure
1. Inventory YOUR work first (write nothing yet)
List the concrete changes and findings of this session: what you changed (with identifiers), behavior that is new or corrected, decisions and their reasons, and every place where reality differed from what the skill said. If the scope is unclear, ask the user.
Only your own work. Read the board (slog tail 40) to orient yourself (not to overwrite
someone's change, to notice a stale base), not to collect material. A feed line has no
reasoning and no gotchas: documenting another session's work from it produces something
plausible and wrong, and it collides with what that session writes. Each session consolidates its
own work; if something of theirs looks unconsolidated, tell the user.
2. Verify against the live system before asserting
Do not write from memory or from what you believe. For each fact, confirm it with a tool result: read the code, query the system, check the config. An identifier or behavior that did not come out of a tool result does not get written.
3. Route each fact to its single owner file
Open references/owners-map.md (in this skill) to find which skill/file owns the topic, and
edit there. Apply snapshot-vs-pointer to every fact. If a change spans topics, split it. If you
found drift (a reference said something no longer true), fix it: that is the most valuable
part of the job, more than adding the new thing.
Parallel sessions: before editing a skill file, slog take "skill:<name>"; release it at
the end. Two sessions rewriting the same reference is how facts get silently lost.
4. Changelog discipline
references/changelog.md is a single chronological log, newest on top, grouped by day
(## YYYY-MM-DD), one entry per line block: **#NNN** · **Title** (date; ids; state in
references/<topic>.md) — what, why, gotchas, ↻ pointers.
- id = next free integer. Ids are stable references (other files cite "see #42"): never renumber or reorder them.
- ⚠ Parallel sessions collide here: two can read the same maximum id and both use it.
Before finishing, run
skill-lint. It flags duplicate ids. Renumber the entry that is cited less (grep -rn "#NNN") and fix its citations. - If a change supersedes an older one, say so ("SUPERSEDES #42") instead of deleting it.
- The changelog is a decision log, not a diff history: git already tells you which bytes changed. Write what git cannot see: the why, and changes outside the repo (databases, APIs, deployed services, dashboards).
5. Skill or memory?
Skills = how the system works (shareable, for any session). Claude Code's memory = the user's preferences and project state that is not derivable from code. A user preference goes to memory, not to a skill. Sometimes both: the skill gets the "how", memory the "why they want it".
6. Close the board
For each of YOUR feed lines with something durable that hasn't landed yet, land it now (steps
3–5). Then run slog done: it removes your lines, never other sessions' lines, never a lock
you still hold. Never delete or rewrite the board by hand: other sessions' live locks are in it.
7. Report
Tell the user which files you touched and what changed in each (a short table). List any drift you noticed but did not fix, so they can decide.
Golden rules
- Exact beats complete. If you doubt a fact, verify it or leave it out.
- Confirm before restructuring. Editing and adding entries: go ahead. Moving, renaming or re-architecting files: show the plan first.
- Move verbatim. When relocating content, move it with a script and
diffto prove nothing was lost; back up large files first. - Staleness check in passing. If a reference hasn't been touched in months but its subsystem did change (grep the changelog), verify its main claims before building on it.
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.

