agentleFS
GerardoRdz96GerardoRdz96/claude-skills/skills/audit/SKILL.md

audit

Skill0 starsChanged 4 months agoMITView on GitHub

Use when someone asks for an AIOS audit, asks to score their setup against the Four Cs, or says "is my AIOS working" / "audit my setup" / "find gaps in my AIOS". Produces a Four-Cs scoreboard with top-3 fixes ranked by leverage.

  • Reads credentials

194 other projects use a version of this, 4 of them edited.

Adopted by

Most recently taken up by

Used with

Projects with it also use delight, teach-impeccable and 9 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

  • 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, 5 are distinctive, and 3 are very specific to this project.

  • 0

    Common

    Most of the 176 edited versions we read keep these.

  • 5

    Distinctive

    This author's own choices. Worth a look.

  • 3

    Very specific

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

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Don't penalize for non-canonical names if equivalent intent is captured elsewhere.

    line 51
  2. Distinctive:

    No recurring trigger: 2x (no Cadence = no autonomy)

    line 126
  3. Distinctive:

    All connections read-only: 2x (viewer, not an OS)

    line 127
  4. Distinctive:

    No decisions log: 1.5x

    line 129
  5. Very specific:

    Need to reach a tier-1 domain?: Prefer API+script (write scripts/{tool}_api.py + save references/{tool}-api.md).

    line 135
  6. Very specific:

    After printing, ask: "Save this audit to audits/audit-{date}.md so you can track score over time?" If yes, write it (creating audits/ …

    line 189
  7. Very specific:

    Read-only by default: Never modify CLAUDE.md, memory, skills, or any project files.

    line 193
  8. Distinctive:

    Be flexible about file names: Don't penalize for using non-canonical names if intent is captured.

    line 194

“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

What this skill does

Runs the Four Cs Audit on the current Claude Code project. Reads (never writes) the project's operating manual, memory, skills, agents, MCPs, decisions, and references. Scores each of the Four Cs out of 25. Surfaces strengths and the top 3 leverage-weighted gaps with concrete next-step commands.

Scope is structural — "is the AIOS built right?" It is NOT a capability planner. Capability gaps ("you could build a daily brief if you connected calendar") belong to /level-up. The audit answers: are the files, folders, registries, and connections in good shape?

First run is the baseline. Re-run weekly to watch the score climb. That's the compounding hook.

Today's context

  • Date: !date +%Y-%m-%d
  • Project root: the current working directory

The Four Cs (scored 25 each = 100 total)

LayerTest
ContextKnows the business — identity, team, voice, decisions, references
ConnectionsReaches the user's stuff — MCPs, integrations, data sources
CapabilitiesKnows how to do work — skills + agents
CadenceRuns without being asked — schedules, hooks, recurring rituals

Execution

Step 1: Discover the project shape

The audit looks for patterns and intent, not exact paths. File names vary. Use Glob and Read to check:

Operating manual: CLAUDE.md (root), CLAUDE.local.md (gitignored). Memory: MEMORY.md (root), ~/.claude/projects/<id>/memory/MEMORY.md, or memory/ folder. Skills: .claude/skills/*/SKILL.md — count + frontmatter. Agents: .claude/agents/*.md — count + frontmatter. Connection mechanisms (any of these = "reachable"):

  • MCPs: .mcp.json, .claude/settings.json (mcpServers key), .claude/settings.local.json
  • API scripts: scripts/*.py|.js|.ts documented in CLAUDE.md
  • Export pipelines: data/, imports/, exports/ with refresh script + last-run timestamp
  • API keys + reference guide: .env entries + corresponding references/{tool}-api.md

Connections registry: connections.md (anywhere). Reference guides: references/{tool}-api.md, references/*-reference.md, or equivalent. Decisions: decisions/log.md, decisions.md, or any append-only decisions file. References / SOPs: references/, docs/, sops/ folders. Templates: templates/, .claude/templates/. Hooks / scheduled jobs: .claude/settings.json hooks key, or skill names matching morning-*, weekly-*, daily-*, monthly-*, standup.

Don't penalize for non-canonical names if equivalent intent is captured elsewhere.

Step 2: Score each C (25 points each)

Context (25 pts)

CriterionPointsHow to detect
Operating manual exists and is substantive (>200 words)5Read CLAUDE.md, count words
Identity / role / voice captured5CLAUDE.md mentions who the user is + role/mission, OR .claude/rules/*.md exists
Persistent memory exists with multiple entries5MEMORY.md exists with >3 entries, OR memory/ has >3 files
Reference docs exist5references/, docs/, or sops/ has ≥1 file
Decisions captured5decisions/log.md or equivalent has ≥1 entry

Connections (25 pts) — domain-aware, mechanism-agnostic

A "reachable" connection counts via ANY mechanism: MCP, script, export pipeline, or .env key + references/{tool}-api.md. The kit is API-first; the audit doesn't prefer MCPs.

The 7 Tier-1 Universal Data Domains:

#DomainExamples
1Revenue / FinancialsStripe, Skool, GoHighLevel, QuickBooks, Looker
2Customer interactionsHubSpot, Salesforce, Gmail-as-CRM, Skool DMs
3CalendarGoogle Cal, Outlook, Calendly
4CommunicationGmail, Outlook, Slack, Teams
5Project / task trackingClickUp, Asana, Linear, Notion DB, Jira
6Meeting intelligenceGranola, Otter, Fireflies, Gong, Zoom
7Knowledge / filesNotion, Drive, Dropbox, Confluence, SharePoint

Tier-2 (bonus): AI service API keys (OpenRouter, Anthropic, OpenAI), decisions/history, content/publishing.

CriterionPointsHow to detect
Tier-1 domain coverage101.4 pts per tier-1 domain reachable. Round to nearest 0.5. Cap 10.
Reference guide presence5-1 per connected tool with no references/{tool}-api.md. Floor 0.
Auth / pipeline freshness5-1 per connection in needs-auth/expired state, or script with no run within 30 days. Floor 0.
Documentation in connections.md30 if missing; 1 sparse; 2 most; 3 covers all reachable.
Read-AND-write balance2At least one connection can WRITE (send email, post update, etc.). 0 if all read-only — the AIOS is a viewer not an OS.

Capabilities (25 pts)

CriterionPointsHow to detect
3+ skills installed10Count .claude/skills/*/SKILL.md
1+ user-built skill10Skill names not in: onboard, audit, level-up, skill-creator, skill-builder, decision, connect, connect-check, memory-prune, scaffold-skill, scaffold-agent, draft, standup (canonical AIS-OS + Anthropic shipped skills)
1+ agent defined5Count .claude/agents/*.md ≥ 1

Cadence (25 pts)

CriterionPointsHow to detect
1+ recurring/scheduled trigger10.claude/settings.json hooks, OR skill name matches morning-* / daily-* / weekly-* / monthly-* / standup
Recent activity / usage signal10Files in .claude/skills/ modified within 30 days, OR decisions/log.md has entry within 30 days
Templates folder populated5templates/ or .claude/templates/ has ≥1 file

North-Star trend metric — the one-window KPI (reported beside the Cadence score, not scored). "What percentage of my work can I do from this window right here?" — the AIOS-maturity number (Nate Herk, 2026-07-11 6h course; doctrine in references/four-cs.md § Cadence). Measure it when the project ships the estimator (Servy does): python3 scripts/skill-harvest.py --share --days 14 prints the two honest proxies from real transcripts — skill-mediated share of in-Servy work + unattended-session share. Transcripts can't see work done OUTSIDE the window, so also ask the user for their subjective % and record both. Track the trio across audits; a rising trend is the compounding hook made visible.

Step 2.5: Hygiene checks (advisory — always reported, never scored)

Two checks added 2026-07-11 (Nate 6h course). They ride project-local helpers — run what's present, skip silently what isn't. Advisory findings ARE eligible for the Top 3 Gaps list (Step 3): rank a hygiene finding as if it lost 3 points, key-hygiene flags at 1.5× (keys-not-prompts is security, not cosmetics).

a) Context hygiene. Grade the setup against references/claude-code-context-management.md § "The discipline checklist" (the page names /audit as its grader). Check the statically checkable items and report pass/fail: CLAUDE.md byte budget (wc -c CLAUDE.md — target <16 KB, hard cap 24 KB), statusline configured (statusLine in .claude/settings.json), .claudeignore where bulky folders exist, MCP surface lean (~18k tokens per server per message), noisy-command denies where the project warrants them. Then the fresh-session baseline: Claude can't run /context itself, so ask the user for the /context figure from a fresh session and compare against the recorded datapoints on that wiki page (~30-40k blank floor / Nate's 51k / older 62k). Offer to log the figure as a dated datapoint on that page — consent-gated, since it's a write beyond the report.

b) Key hygiene. Run python3 scripts/key-hygiene.py (read-only; prints key NAMES only, never values). It inventories env-file key names against connections.md and flags per the ElevenLabs scoped-key checklist in references/four-cs.md (name-per-purpose · credit-cap · endpoint-cap): unregistered, not-named-per-purpose, no-cap-noted, no-scope-noted. Report the counts; the cap/scope flags are proxies (annotations, not provider state) — the fix is provider-side scoping, then annotate the env line or the connections.md row.

Step 3: Identify top 3 gaps by leverage

For each criterion that lost points: leverage = (points lost) × (impact multiplier).

Impact multipliers:

  • 0 tier-1 domains reachable: 4x (AIOS is blind to the business)
  • Operating manual missing or thin: 3x (foundation)
  • ≤2 tier-1 domains reachable: 3x (Connections is the gateway to live data)
  • 0 skills: 2x (no Capabilities = no AIOS)
  • No recurring trigger: 2x (no Cadence = no autonomy)
  • All connections read-only: 2x (viewer, not an OS)
  • 0 reference guides for connected tools: 1.5x (every future skill re-researches the same APIs)
  • No decisions log: 1.5x
  • All others: 1x

Sort gaps by leverage descending. Take top 3. For each, write a one-line concrete next step:

  • Need a new skill? Recommend skill-creator (Anthropic) or skill-builder (if local), or "write SKILL.md at .claude/skills/<name>/SKILL.md with YAML frontmatter."
  • Need to log a decision? "Append to decisions/log.md."
  • Need to reach a tier-1 domain? Prefer API+script (write scripts/{tool}_api.py + save references/{tool}-api.md). Recommend claude mcp add only if no API path exists.
  • Connected tool missing a reference guide? "Research the API once, save endpoints + auth + common queries to references/{tool}-api.md."
  • Need a recurring trigger? "Add a hook to .claude/settings.json, or write a skill named daily-* you run each morning."

Step 4: Output the report

Print directly in chat (Markdown). Format:

# AIOS Audit — {date}
**Score: {total}/100** ({stage})

Stage thresholds:
- 0-39 → Stage 0: Foundation
- 40-69 → Stage 1: Built
- 70-89 → Stage 2: Compounding
- 90-100 → Stage 3: Autonomous

## Scoreboard

Context        {bar}  {n}/25  {label}
Connections    {bar}  {n}/25  {label}
Capabilities   {bar}  {n}/25  {label}
Cadence        {bar}  {n}/25  {label}

(bar = ## per 5pts; label = "Strong" ≥20, "Solid" 15-19, "Thin" 8-14, "Missing" <8)

One-window KPI: {skill-mediated}% skill-mediated · {unattended}% unattended · user's own estimate {pct or "not asked"} ({trend vs last audit, if a prior report exists})

## Hygiene (advisory)
- Context: {passed}/{checked} discipline-checklist items pass; fresh-session baseline {tokens, or "ask the user for /context"}
- Keys: {flagged}/{total} keys flagged ({unregistered} unregistered · {no-cap} no-cap-noted · {no-scope} no-scope-noted) — names only

(Omit whichever hygiene line has no helper/data in this project.)

## Strengths
- {1-3 short bullets from highest-scoring criteria}

## Top 3 Gaps (ranked by leverage)
1. **{gap name}** (-{points} × {multiplier})
   → {concrete next-step}
2. **{gap name}** (-{points} × {multiplier})
   → {concrete next-step}
3. **{gap name}** (-{points} × {multiplier})
   → {concrete next-step}

## Suggested next: {single most leveraged action}

---
Structural gaps only. To explore CAPABILITY gaps (what your AIOS could DO that it can't yet), run /level-up after this audit.

Step 5: Offer to save the report

After printing, ask: "Save this audit to audits/audit-{date}.md so you can track score over time?" If yes, write it (creating audits/ folder if needed). The only other writable side effect is the consent-gated /context datapoint from Step 2.5a.

Notes

  • Read-only by default. Never modify CLAUDE.md, memory, skills, or any project files. Optional writes are exactly two, both consent-gated: the audit report, and the fresh-session /context datapoint on the context-management wiki page (Step 2.5a).
  • Be flexible about file names. Don't penalize for using non-canonical names if intent is captured.
  • Be honest, not generous. A 95/100 is a flex. Most setups land 40-70.
  • Don't suggest skills that don't exist. Point at what's actually available.
  • Speed matters. Report in under 60 seconds wall-clock. Read targeted files, count skill folders without reading each fully (frontmatter only).
  • Cadence detection is fuzzy. Infer from skill names if hooks/cron data isn't cleanly available.

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.