agentleFS
dean815dean815/claude-project-optimizer/skills/audit/SKILL.md

audit

Skill0 starsChanged 4 months agoMITView on GitHub

This skill should be used when the user asks to "audit this project", "check project configuration", "what's missing in this repo", "is this project set up correctly", "has this project drifted", "re-run the project checks", "audit all my projects", or "which of my projects need setup". Reports configuration gaps read-only, ranked by severity, and changes nothing — use the onboard skill instead when the user wants the gaps fixed. Supports a batch mode that ranks every project under a directory.

  • Reads credentials
  • Commits and pushes

194 other projects use a version of this.

Adopted by

Most recently taken up by

Used with

Projects with it also use delight, teach-impeccable 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.
  • HK-hubSkill

    delight

    Add moments of joy, personality, and unexpected touches that make interfaces memorable and enjoyable to use. Elevates functional to delightful. Use when the user asks to add polish, personality, animations, micro-interactions, delight, or make an interface feel fun or memorable.

    Also in 32 projects that use this

  • HK-hubSkill

    teach-impeccable

    One-time setup that gathers design context for your project and saves it to your AI config file. Run once to establish persistent design guidelines.

    Also in 19 projects that use this

  • zwy123zwySkill

    normalize

    将用户随意输入的提示词规范化为结构清晰、便于大模型执行的标准化提示词。适用于需要整理、统一提示词格式时调用。

    Also in 19 projects that use this

  • SkillPilotCHSkill

    level-up

    Eine Automatisierung pro Woche finden, scopen, shippen. Output landet als proposed-Eintrag in cadence.md mit konkreten Implementations-Schritten.

    Also in 12 projects that use this

  • ww-w-aiSkill

    pm-discovery

    PM Agent Team - Automated product discovery, strategy, and PRD generation. Runs PM analysis workflow to produce comprehensive PRD before PDCA Plan phase.

    Also in 3 projects that use this

  • +7 more from HK-hub

The file

We split this skill into the rules it gives an agent

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

  • 0

    Common

    Most of the 176 edited versions we read keep these.

  • 4

    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
  1. Distinctive:

    Default the path to the current working directory when none is given, and resolve it to an absolute path — the registry is keyed by …

    line 19
  2. Distinctive:

    Look up the registry entry and compare against it:

    line 46
  3. Very specific:

    Always pass --no-github in batch mode.

    line 67
  4. Very specific:

    Never create, modify, move, or delete a file — including .gitignore additions and .github/ templates that seem obviously correct.

    line 108
  5. Very specific:

    Never issue a gh mutation.

    line 110
  6. Distinctive:

    Never run git commit, git push, git checkout, or any history operation

    line 111
  7. Distinctive:

    Never write a registry entry.

    line 112
  8. Very specific:

    When the scan emits an error key instead of a result (jq missing, path not a directory), report the scan as failed for that project rather …

    line 124

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

Project Audit

Report configuration gaps in one project or across many. This skill never changes anything — it finds and ranks problems; onboard fixes them.

Projects drift: a repo goes public without gaining a license, a CLAUDE.md goes stale after a rewrite, a .env gets committed. Audit catches that, and also triages projects that were never onboarded at all.

Invocation

Default the path to the current working directory when none is given, and resolve it to an absolute path — the registry is keyed by absolute path and will not match otherwise.

Single project

bash "${CLAUDE_PLUGIN_ROOT}/scripts/scan-project.sh" "<project-path>"

Report findings grouped by the four areas, each rated:

  • Blocking — actively harmful right now: a tracked secret, a public repo with no license, credentials in a committed file
  • Gap — a missing baseline: no CLAUDE.md, no README, no .gitignore, unscoped plugin config
  • Polish — worth doing but not urgent: missing topics, no PR template, no Dependabot

Order by severity, not by area. State what was checked and found fine in a single closing line rather than enumerating passes — the value is in the gaps.

For each finding, give the concrete remedy: the exact command, file, or setting. A finding the user cannot act on is noise.

Drift versus gap

Look up the registry entry and compare against it:

bash "${CLAUDE_PLUGIN_ROOT}/scripts/registry.sh" get "<absolute-path>"

An empty object means the project was never onboarded — report gaps, not drift. Otherwise note explicitly when something configured during onboarding has since regressed. That is drift, and it is more interesting than a gap never filled.

Batch mode

With --batch <root>, sweep every immediate subdirectory and rank them.

for d in "<root>"/*/; do
  [ -d "$d" ] || continue
  bash "${CLAUDE_PLUGIN_ROOT}/scripts/scan-project.sh" "$d" --no-github
done

Always pass --no-github in batch mode. A sweep of thirty projects makes sixty network calls otherwise, which is slow and burns API quota for information that is mostly not needed at triage time.

Each scan object carries its own absolute path — key the table off that rather than loop order.

Separate non-projects before ranking. Following the classification order in references/archetypes.md, split out directories where contentFiles == 0 (empty) or sourceFiles == 0 (context-workspace). These are not gaps to be filled, and counting a missing CLAUDE.md against a notes directory inflates the report with work nobody should do. Report them as a single collapsed line — "N directories are notes or empty, not projects" — and exclude them from the ranking.

Present the remaining projects as a single ranked table:

ProjectStackCLAUDE.mdREADMEScoped configBlockingGapsLast commit

Rank by a stated rule: blocking findings first, then gap count, then recency from git.lastCommitEpoch. State the rule in the output so the ordering is legible rather than mysterious.

A mechanical rank cannot tell dormant from neglected. When the top of the table is a project untouched for a year, say so rather than recommending it first.

Close with the three to five projects most worth onboarding first, and why. Do not offer to onboard all of them in one pass — that is far too much change to review at once. Suggest working through them individually.

The --fix flag

--fix does not apply changes directly. It hands off to the onboard skill for a single project. Invoke the Skill tool with project-optimizer:onboard and the project path, carrying the audit findings forward so the scan is not repeated. All of onboard's plan-then-apply behavior governs from that point — the audit findings become the starting proposal, not an approved changelist.

Constraints

  • Never create, modify, move, or delete a file — including .gitignore additions and .github/ templates that seem obviously correct. Report them as findings
  • Never issue a gh mutation. Read-only gh queries via the scan script only
  • Never run git commit, git push, git checkout, or any history operation
  • Never write a registry entry. Auditing is not onboarding, and a project that was audited has not been optimized
  • Refuse --fix in batch mode. Fixing many projects unattended is exactly the kind of bulk change that should not happen without per-project review

Reporting honestly

Report what the scan actually found. When a probe could not run — gh missing, network unavailable, not a git repo — say the check was skipped and why. Never report an unrun check as a pass. In particular, github.reachable: false means the repo state is unknown, not that the repo is missing.

When the scan emits an error key instead of a result (jq missing, path not a directory), report the scan as failed for that project rather than as a project with no findings. In batch mode this matters especially — thirty identical error objects must not be read as thirty clean projects.

The riskyTracked list flags files by name pattern; it is a prompt to look, not proof of a leak. Confirm before calling something a committed secret, and note that removing one from history is a decision for the user, not an audit action.

Additional Resources

Reference Files

Shared with the onboard skill:

  • ${CLAUDE_PLUGIN_ROOT}/references/archetypes.md — Expectations per project type
  • ${CLAUDE_PLUGIN_ROOT}/references/github-checklist.md — What "properly configured" means for each GitHub category
  • ${CLAUDE_PLUGIN_ROOT}/references/layout-checks.md — Directory organization checks

Scripts

  • ${CLAUDE_PLUGIN_ROOT}/scripts/scan-project.sh — Deterministic scan, emits JSON
  • ${CLAUDE_PLUGIN_ROOT}/scripts/registry.sh get|list — Recorded state (get takes an absolute path)

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.