agentleFS
rumi-chanrumi-chan/llm-wiki/skills/wiki-sync/SKILL.md

wiki-sync

Skill1 starsChanged 22 days agoMITView on GitHub

Bring the project wiki up to date with changes in the project's code since the last sync. Personal mode updates `.wiki/` after the user's own work or a git pull. Team mode is for the wiki maintainer (usually the team leader) - it syncs `docs/wiki/` on the default branch, fixes drift, merges duplicate pages, regenerates the index and opens a `wiki: sync` PR. Use when the user says to sync, update or refresh the wiki, after a git pull or merge, or when `.sync-state` differs from HEAD.

  • Commits and pushes

7 other projects use a version of this.

Adopted by

Most recently taken up by

Used with

Projects with it also use almagest, almagest-onboard and 10 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.
  • nathanadaySkill

    almagest

    Orient in the Almagest vault, say what waits for the user, do the work a request asks in a linked repository, and route any other request to the skill that owns it. Use for /almagest, what is going on, status, what waits for me, where do I work on X, work on X, fix this, implement, build, note this, remember to, publish my journal, what is in my journals, and any request when the right skill is not clear. Keeping part of this conversation is wiki-save; files to learn from are wiki-ingest.

    Also in 3 projects that use this

  • nathanadaySkill

    almagest-onboard

    Make a new Almagest vault: ask its name, its folder, and how freely to tag, then link its first repositories. Use for set up almagest, new vault, start a vault here, onboard, make this folder a vault. Linking a repository to a vault that exists is repo-link.

    Also in 3 projects that use this

  • justvinhhereSkill

    wiki-review

    Use when the user runs /review, says "show pending changes", "what's uncommitted", or wants an audit of uncommitted wiki edits before they land in history. Narrates uncommitted changes, flags structural issues scoped to those changes, and commits them with a conventional subject. Fully automatic.

    Also in 3 projects that use this

  • MicrosoftSkill

    wiki-query

    Use when an operation issue asks you to answer a question from the LLM Wiki — `operationType: "query"` and a question in the issue body. Answer with citations to wiki pages and raw sources, and offer to file durable synthesis back into `wiki/synthesis/` so the work compounds instead of disappearing into a chat thread.

    Also in 4 projects that use this

  • +8 more from nathanaday
  • Other versions7 projects use a version of this.

    Word for word · 0

    None found.

    Edited · 0

    None found.

    Wrote their own version · 7

    1. richard-kim-79/archora-skills★ 49same name
    2. juanitourquiza/shipframe★ 4same name
    3. sponge-b0b/Polaris★ 4same name
    4. Jawahars07/ballast★ 1same name
    5. nathanaday/almagest★ 1same name
    6. nathanaday/atlas-obsidian★ 1same name
    7. nathanaday/claude-atlas★ 1same 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 repository3 other files it gives its agents.

The file

We split this skill into the rules it gives an agent

11 rules. 0 are common, 3 are distinctive, and 8 are very specific to this project.

  • 0

    Common

    Most of the 6 edited versions we read keep these.

  • 3

    Distinctive

    This author's own choices. Worth a look.

  • 8

    Very specific

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

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    Read what changed in the project since the last sync (.sync-state) and update exactly the pages affected.

    line 8
  2. Very specific:

    Only the wiki maintainer does this.

    line 16
  3. Very specific:

    Read .wiki/SCHEMA.md, .wiki/index.md, and the last entries of .wiki/log.md (grep "^## \[" .wiki/log.md | tail -5).

    line 30
  4. Distinctive:

    If the diff is large (more than about 50 files), work module by module, tell the user the scope, and prioritise central pages.

    line 52
  5. Very specific:

    If the change reverses documented behaviour, keep a short > Changed YYYY-MM-DD: was X, now Y (reason from commit message) note.

    line 63
  6. Very specific:

    If a page's whole subject was deleted, mark it status: stale with a note, or remove it and fix links if the user prefers.

    line 65
  7. Very specific:

    Create pages for significant uncovered changes and link them.

    line 68
  8. Distinctive:

    Never write to files tracked by the project in personal mode.

    line 80
  9. Very specific:

    Read docs/wiki/SCHEMA.md (the rules) and docs/wiki/index.md.

    line 88
  10. Distinctive:

    If git status --short shows uncommitted changes, stop and ask the user how to proceed (do not stash or discard on your own).

    line 89
  11. Very specific:

    Commit on the sync branch: wiki: sync <LAST short>..<HEAD short>, with a body listing pages updated, created, merged and removed.

    line 130

“Common” is measured: kept by at least 6 in 10 of the 6 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.

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

wiki-sync

Read what changed in the project since the last sync (.sync-state) and update exactly the pages affected.

0. Pick the mode

Find the project root (git rev-parse --show-toplevel).

  • docs/wiki/SCHEMA.md exists and the user wants the team wiki synced: team mode (section T). Only the wiki maintainer does this. If the user is a member updating pages for their own branch, use wiki-update instead.
  • .wiki/SCHEMA.md exists: personal mode (section P).
  • Both exist and it is unclear: ask which one. Neither: suggest wiki-init.

Commands use $LAST / $HEAD as placeholders for SHAs. Substitute the values; quote "$LAST^{commit}" in PowerShell.


P. Personal mode (.wiki/)

P1. Orient

  1. Read .wiki/SCHEMA.md, .wiki/index.md, and the last entries of .wiki/log.md (grep "^## \[" .wiki/log.md | tail -5).
  2. LAST = contents of .wiki/.sync-state, HEAD = git rev-parse HEAD.
    • Equal: the wiki is current. Mention uncommitted changes if git status --short shows any, and stop.
    • LAST is none or unreachable (git cat-file -e "$LAST^{commit}" fails, e.g. after a rebase): no usable diff. Check each page's sources against the current tree instead and tell the user it is a full re-check.

P2. Find what changed

a. git diff --name-status -M $LAST..$HEAD and git log --oneline $LAST..$HEAD (commit messages explain intent).

b. Map changes to pages: a page covers a file if the path (or a parent directory) appears in its sources. .wiki/ is git-excluded, so search it with rg --no-ignore -l "<path>" .wiki/wiki. Build three lists:

  • Affected pages: sources changed, renamed or deleted.
  • Uncovered changes: significant changed files no page cites (new modules, protocols, configs). Ignore lockfiles, generated code, formatting-only diffs.
  • Unaffected: leave untouched.

If the diff is large (more than about 50 files), work module by module, tell the user the scope, and prioritise central pages.

P3. Update

For each affected page: read it, the relevant diff (git diff $LAST..$HEAD -- <path>) and the current source, then revise the page so it is true now:

  • Rewrite sentences that are no longer correct; do not append "update:" tails.
  • Fix sources for renamed files or symbols (path or path#symbol), set updated: and status.
  • If the change reverses documented behaviour, keep a short > **Changed YYYY-MM-DD:** was X, now Y (reason from commit message) note.
  • If a page's whole subject was deleted, mark it status: stale with a note, or remove it and fix links if the user prefers. Ask if unsure.

Create pages for significant uncovered changes and link them. Update index.md.

P4. Close out

  1. Append ## [YYYY-MM-DD] sync | <LAST short>..<HEAD short> (<n> files, <m> pages touched) to .wiki/log.md, plus a few lines on what changed and what was skipped.
  2. Overwrite .wiki/.sync-state with HEAD (full SHA, one line), only after the pages are updated, so an interrupted run is retried rather than skipped.
  3. git -C .wiki add -A && git -C .wiki commit -m "sync: <short>..<short>".
  4. Tell the user what changed in a few lines. Mention uncommitted project work that was not included and offer to include it.

Never write to files tracked by the project in personal mode.


T. Team mode (docs/wiki/, maintainer only)

T1. Prepare a clean base

  1. Read docs/wiki/SCHEMA.md (the rules) and docs/wiki/index.md.
  2. If git status --short shows uncommitted changes, stop and ask the user how to proceed (do not stash or discard on your own).
  3. Switch to the default branch (git symbolic-ref --short refs/remotes/origin/HEAD, usually main) and git pull --ff-only.
  4. LAST = contents of docs/wiki/.sync-state, HEAD = git rev-parse HEAD. If equal and node tools/wiki/wiki.mjs check is clean, say the wiki is current and stop.
  5. git switch -c wiki/sync-<HEAD short>.

T2. Find the work

a. Code changes: git diff --name-status -M $LAST..$HEAD -- . ":(exclude)docs/wiki" and git log --oneline $LAST..$HEAD.

b. Pages authors already updated: git diff --name-only $LAST..$HEAD -- docs/wiki. For these, verify against the current code and fix only what is wrong. Do not rewrite them.

c. Mechanical findings: node tools/wiki/wiki.mjs check (full mode) lists missing sources, symbols that no longer exist, possible duplicates, orphans, broken links and frontmatter errors.

d. Map code changes to pages through sources (rg -l "<path>" docs/wiki). As in personal mode, build the lists of affected pages and significant uncovered changes.

T3. Update

  • Affected pages that authors did not update: revise per the schema. Minimal edits, one sentence per line, never restyle untouched text (it creates conflicts for everyone).
  • Significant uncovered changes: create pages at their deterministic paths (schema), after searching for an existing page by title and aliases.
  • Duplicates (from the check or noticed while reading): keep the page at the correct deterministic path, merge the other's content into it, add the other's title to aliases, delete the duplicate, and fix every link to it (rg -l "<old file name>" docs/wiki).
  • Pages whose subject was removed from the code: delete them and fix links, or mark them status: stale if the removal may be temporary.

T4. Close out

  1. node tools/wiki/wiki.mjs build-index.
  2. node tools/wiki/wiki.mjs check until it reports 0 errors and no warnings you can fix. Report the rest.
  3. Overwrite docs/wiki/.sync-state with the HEAD from T1 (full SHA, one line).
  4. Commit on the sync branch: wiki: sync <LAST short>..<HEAD short>, with a body listing pages updated, created, merged and removed. Ask before committing if the user is present.
  5. Offer to push the branch and open a PR (gh pr create --title "wiki: sync ..." --body ...). Never push the sync straight to the default branch.
  6. Tell the user, in a few lines: what changed, which PRs' drift was fixed, what is left.

No log.md in team mode: the git history of docs/wiki/ is the log. Never put secrets in the wiki.

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.