agentleFS
dylanmoodylanmoo/workos-plugin/skills/workspace-audit/SKILL.md

workspace-audit

Skill0 starsChanged 6 months agoMITView on GitHub

Audits a WorkOS workspace for drift — misplaced entries, size-ceiling violations, archive candidates, format violations, and engagement-specific content that should cascade to a project. Use when the user says 'workspace audit,' 'audit my workspace,' 'check my CLAUDE.md,' 'check my MEMORY.md,' 'is my workspace healthy,' or when periodically maintaining a WorkOS-style workspace. Distinct from session-audit, which only captures new learnings from the current conversation — this skill audits the workspace files themselves.

3 other projects use a version of this.

Adopted by

Most recently taken up by

  • Other versions3 projects use a version of this.

    Word for word · 0

    None found.

    Edited · 0

    None found.

    Wrote their own version · 3

    1. gerivdb/SKILLS★ 1same name
    2. Ming00777/ai-workflow-advisor★ 1same name
    3. scribemail/claude-plugin★ 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 repository4 other files it gives its agents.

The file

Show its rules and text

We split this skill into the rules it gives an agent

14 rules. About 0 are common, 9 are distinctive, and 5 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈9

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 5

    Very specific

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

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    If the user named a specific project to audit (e.g., "audit my Email HQ project"), audit that one instead of the root.

    line 24
  2. Distinctive:

    If you can't find a root, stop and tell the user — don't invent structure.

    line 26
  3. Very specific:

    If ARCHIVE.md doesn't exist at the root level, flag that as the first finding before running any other check — the WorkOS isn't fully set …

    line 36
  4. Very specific:

    If its primary purpose is recording a fact or status (a name, a date, a project status, "this person works at X"), flag it for move to …

    line 44
  5. Distinctive:

    If its primary purpose is prescribing behavior ("always," "never," "before doing X, do Y," "when X happens, do Y"), flag it for move to …

    line 48
  6. Distinctive:

    Check the Memory hygiene / Memory System section in CLAUDE.md for the workspace's specific rules on what stays vs.

    line 57
  7. Distinctive:

    If either is over target, note it but don't propose specific cuts here — that's what the other checks are for.

    line 69
  8. Very specific:

    If yes, does that project have its own MEMORY.md?

    line 83
  9. Very specific:

    If the project MEMORY.md exists, propose moving the detail there and replacing the root entry with a short pointer (e.g., "Latest status in …

    line 84
  10. Very specific:

    If no project MEMORY.md exists yet, flag it as a candidate for create-project.

    line 85
  11. Distinctive:

    If a check returns no findings, say so under that section header.

    line 123
  12. Distinctive:

    If there are no findings overall, report "Clean workspace.

    line 125
  13. Distinctive:

    After the user approves (all, some, or none of the findings), write the approved changes.

    line 129
  14. Distinctive:

    Important: Never write changes without approval.

    line 136

≈ “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.

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

Starter Workspace Audit

A periodic health check for any WorkOS-style workspace. Catches drift before it costs token usage or output quality.

What This Skill Does

Five checks, then a single grouped report. Never writes changes without explicit approval.

  1. Wrong-location check. Factual entries in CLAUDE.md (should move to MEMORY.md) and prescriptive entries in MEMORY.md (should move to CLAUDE.md).
  2. Archive candidacy check. MEMORY.md entries that look historical or stale and should move to ARCHIVE.md.
  3. Size ceiling check. Current line counts vs. target (CLAUDE.md target 200–250, max 300; MEMORY.md max 150).
  4. Entry format check. MEMORY.md entries longer than two sentences.
  5. Cascade check. Engagement-, project-, or domain-specific entries in root MEMORY.md that should live in a deeper-level MEMORY.md.

Step 1: Discover the Workspace Root

Find the WorkOS root dynamically. Look for a CLAUDE.md with a Routing Map section in the mounted workspace. That's the root.

If the user named a specific project to audit (e.g., "audit my Email HQ project"), audit that one instead of the root.

If you can't find a root, stop and tell the user — don't invent structure.

Step 2: Read the Files

For the chosen scope, read:

  • CLAUDE.md
  • MEMORY.md
  • ARCHIVE.md (if it exists)

If ARCHIVE.md doesn't exist at the root level, flag that as the first finding before running any other check — the WorkOS isn't fully set up and several other checks depend on its existence.

Step 3: Run the Five Checks

A. Wrong-location check

For each entry in CLAUDE.md:

  • If its primary purpose is recording a fact or status (a name, a date, a project status, "this person works at X"), flag it for move to MEMORY.md.

For each entry in MEMORY.md:

  • If its primary purpose is prescribing behavior ("always," "never," "before doing X, do Y," "when X happens, do Y"), flag it for move to CLAUDE.md.

B. Archive candidacy check

For each entry in MEMORY.md:

  • Does it describe a completed project, an outdated decision, or context that's been superseded?
  • Is it about a contact or event that's no longer active?

Check the Memory hygiene / Memory System section in CLAUDE.md for the workspace's specific rules on what stays vs. archives. Different WorkOS instances may define "current-state content" differently — don't impose a generic rule.

Skip entries that match a "stays regardless of age" rule (often: active projects, contacts, working conventions, identity facts).

C. Size ceiling check

Report current line counts as a table:

  • CLAUDE.md: actual / target 200–250 / max 300
  • MEMORY.md: actual / max 150
  • ARCHIVE.md: actual (no ceiling)

If either is over target, note it but don't propose specific cuts here — that's what the other checks are for. Once the user applies findings from checks A, B, D, and E, ceilings often come back under target naturally.

D. Entry format check

For each bullet or entry in MEMORY.md:

  • Count sentences. Flag any entry over two.
  • Propose a compressed version that captures the same fact in one or two sentences.

E. Cascade check

For each entry in root MEMORY.md:

  • Does the entry describe a specific project, engagement, or sub-domain (not generic root-level context)?
  • If yes, does that project have its own MEMORY.md?
  • If the project MEMORY.md exists, propose moving the detail there and replacing the root entry with a short pointer (e.g., "Latest status in [Project Name]/MEMORY.md").
  • If no project MEMORY.md exists yet, flag it as a candidate for create-project.

Step 4: Present Findings

Group findings by check. Use this format:

**Workspace Audit Report — [date] — [scope: root / project name]**

## A. Wrong-location entries

[N]. **[Entry summary]**
- Currently in: `[file]`
- Should be in: `[file]`
- Proposed wording: [exact text]
- Why: [one sentence]

## B. Archive candidates

[same format]

## C. Size ceiling status

| File | Lines | Target | Status |
|---|---|---|---|
| CLAUDE.md | [X] | 200–250 (max 300) | ✓ / ⚠ over target / ❌ over max |
| MEMORY.md | [X] | max 150 | ✓ / ❌ over max |
| ARCHIVE.md | [X] | n/a | n/a |

## D. Entry format violations

[same format]

## E. Cascade opportunities

[same format]

If a check returns no findings, say so under that section header. Don't omit the section.

If there are no findings overall, report "Clean workspace. Nothing to move." Don't manufacture work.

Step 5: Apply Approved Changes

After the user approves (all, some, or none of the findings), write the approved changes. For each change, confirm what was written and where:

  • Moves between files (cut from source, paste to destination)
  • Compressed entries (replace verbose version with compressed)
  • Archive transfers (cut from MEMORY.md, paste to ARCHIVE.md under the right section)
  • Cascade transfers (cut from root MEMORY.md, paste to project MEMORY.md, leave a one-line pointer in root)

Important: Never write changes without approval. Always present findings first and wait.

When to Run This Skill

  • Weekly during the first month of a new WorkOS setup — drift is most likely while patterns are still forming
  • Monthly after that
  • Before a major migration (e.g., when adopting new patterns from a video, course, or article)
  • When output quality slips — often a symptom of CLAUDE.md or MEMORY.md drift, not the model

What This Skill Does NOT Do

  • Doesn't audit per-project files unless explicitly asked. Default scope is the root.
  • Doesn't merge or split projects. If a project looks misaligned with how it's actually being used, surface it as a finding but don't try to fix it programmatically.
  • Doesn't change the schema or section structure of any file. It moves entries; it doesn't redesign.
  • Doesn't run other skills as part of its flow. If a cascade finding suggests creating a new project, surface that as a recommendation and let the user invoke create-project separately.

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.