agentleFS
jwm-axonijwm-axoni/claude-workbench/skills/librarian/SKILL.md

librarian

Skill2 starsChanged 6 days agoMITView on GitHub

Audit the workbench vault against 34 checks and report what's wrong with it: missing frontmatter, broken or path-style links, orphan and duplicate pages, superseded entries without forward links, stale pages, ledger entries missing provenance, unfiled captures, missed routines from the run ledger, a malformed commitments register or surfacing page, unreconciled conflicts, a repo clone behind its remote, one-writer violations, files in the wrong folder. Read-only by default; the weekly routine runs these checks and fixes what's safe. Use for "audit my vault", "is my workbench healthy", "clean up my notes", "find duplicates", or /workbench:librarian.

19 other projects use a version of this.

Adopted by

Most recently taken up by

Used with

Projects with it also use bro, retro and 1 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.
  • MicrosoftSkill

    bro

    Re-explain the previous assistant message in a much simpler way, for when the reply made you go 'bro what'. Use /bro to get a simpler version of the last answer in Plain Language + Chicago Manual of Style, with diagrams where they help.

    Also in 3 projects that use this

  • AWSSkill

    retro

    Conduct a retrospective on a coding session.

    Also in 3 projects that use this

  • GoogleSkill

    tdd

    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

The file

We split this skill into the rules it gives an agent

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

  • 0

    Common

    Most of the 19 edited versions we read keep these.

  • 1

    Distinctive

    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. Very specific:

    Every live folder: Context/, Projects/, People/, Organizations/, Resources/, Tracking/.

    line 18
  2. Distinctive:

    Write the report in your reply (or, when the weekly calls you, hand the findings to it).

    line 102

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

Librarian

You audit the vault against its own rules. The rules live in the root CLAUDE.md and each folder's CLAUDE.md; read them first and check against them, not against your own taste.

By default you change nothing. You produce a report. The weekly-review routine runs these same checks every week and fixes what's safe. Run by hand, offer at the end to fix the safe items now, and do so only with a yes, following the same ownership rules the weekly follows (never inside a (dream) block, never a CLAUDE.md, never Archive/ contents, never delete).

Scope

Every live folder: Context/, Projects/, People/, Organizations/, Resources/, Tracking/. Skip Archive/ (read-only history), Meetings/ (machine-written) and Daily/ content (generated; only check naming). Skip .workbench/, .obsidian/, .git/.

Checks

34 checks, numbered 1–30, with the relationship checks as 13a–13d.

Structure

  1. Files in the wrong folder: an entity page in Daily/, a dated note in Resources/, a person in Organizations/.
  2. Daily/ filenames not matching YYYY-MM-DD_<KIND>.md.
  3. Two files with the same name anywhere in the live vault (makes every bare [[Name]] ambiguous), especially an Organizations/X.md and a Resources/Tools/X.md.
  4. Stray files at the root besides CLAUDE.md and README.md.

Frontmatter 5. Pages missing type, tags, or status; a type value not in the root CLAUDE.md list. 6. Tags not lowercase kebab-case; function tags not in the vocabulary in People/CLAUDE.md. 7. People with a role: but no role_confirmed:, or a role with no source anywhere. 8. Live pages whose reviewed: (or updated: if no reviewed) is older than 30 days (append-only logs such as RUN_LEDGER.md, DREAM_LOG.md and FRICTION_LOG.md excepted).

Links 9. Path-style links ([[People/Name]]). They break on the next move. 10. Wikilinks to pages that don't exist (check name variants first; it may be a misspelling). 11. Orphans: live pages nothing links to (excluding CLAUDE.md, logs, INDEX.md). 12. Active pages linking forward into Archive/ without the history being the point.

Relationships 13a. One-sided edges: a property on one page with no inverse on the other (see the table under Relationships in the root CLAUDE.md). 13b. Relationship properties that are unquoted, path-style, or point at missing pages. 13c. Entity pages with no edges at all: a person with no org or projects, a project with no owner or people, an org with no people. These are graph islands. 13d. People with last_contact older than 45 days who are still on an active project's people.

Ledgers and freshness 13. Ledger entries (commitments, decisions, role claims, glossary terms) missing source, a date, or state. 14. superseded entries without a forward link →. 15. superseded entries unreferenced for 30+ days (candidates for the weekly's archive move). 16. live entries sitting below superseded ones (position must follow state). 17. Pages with two figures for the same thing and no ## Needs reconciling section. 18. Project pages missing ## Open commitments (mine) or ## Decisions; INDEX.md rows that disagree with the page's status.

The loop 19. Tracking/Captures/ lines not listed under ## Processed captures in DREAM_LOG.md after two workdays. 20. Routines that didn't run, from Tracking/Signals/RUN_LEDGER.md: for each workday in the last two weeks, compare the routines .workbench/schedules.json expects with the ledger's lines. A missing line, or one marked failed, is a miss; a partial line is reported with its gaps: text. Infer from file dates only for days before the ledger existed, and say so. These are routine defects; name the scheduled task to check. 21. One-writer violations: if the vault is a git repo, commits from the last two weeks that touched a file outside the committing routine's ownership table in the root CLAUDE.md. 22. Glossary terms unconfirmed and seen 3+ times; UNCONFIRMED name variants older than 14 days. 23. Drafts in Tracking/Drafts/ older than three workdays with no grade in any *_recap.md. 24. IMPROVEMENTS.md items accepted for 14+ days but not done, or done for 30+ days but not verified / not-working. 25. Digests not delivered: briefings in the last two weeks with no Delivered: note, or a failure note.

Registers and the queue 26. Tracking/COMMITMENTS.md exists, its table has exactly the six columns (Commitment | Who owes | Due | Source | State | Last evidence), and no row has a State other than open, looks-done or looks-stale. Report each bad row with its line. 27. Context/surfacing.md exists and its sections match the template: ## Always surface, ## Never surface, ## Quiet hours, ## Format preferences, in that order. 28. Any ## Needs reconciling section older than 14 days (by its added: dates, or the page's updated: if there are none) is a defect. Report it with its page; the weekly's contradiction queue should have reached it. 29. Repo vaults only; skip silently if the vault has no .git directory. The local clone is not behind its remote by more than one day of commits: fetch read-only (git fetch --dry-run or compare git log HEAD..@{u}), and include unmerged claude/ branches from cloud runs. If it's behind, report the gap: how many commits, how old the oldest, which branches. 30. Dormant pages: a person, project, organization or tool page with status: active that no recap, capture, meeting or other live page has mentioned in 90 days, and whose updated: is 90+ days old. Report each as a question ("still current, or has this ended?"). Never change its status or move it; a quiet page may still be true. The answer comes back as a capture and the dream applies it.

Report

Write the report in your reply (or, when the weekly calls you, hand the findings to it). Group by severity, most important first, and keep it short:

## Workbench health — YYYY-MM-DD

**Broken (fix soon):** routine misses, one-writer violations, duplicates causing ambiguous links
**Drift (safe to auto-fix):** frontmatter, path links, missing headings, index rows
**Stale (needs a human or the dream):** old reviews, unconfirmed terms and variants, reconciling
**Counts:** N live pages · N with full frontmatter · N broken links · N orphans

Each finding names the file and the rule it breaks, with one line on the fix. If everything's healthy, say so in one line. Don't pad.

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.