agentleFS
my-chiefmindmy-chiefmind/ai-maestro/skills/repo-audit/SKILL.md

repo-audit

Skill6 starsChanged 50 days agoMITView on GitHub

Audit ONE repo — security findings, gaps, and a ranked improvement plan — written to a report file under the board. Takes a project name or path, `next` (walk the queue one repo at a time), or `status` (show sweep progress). Use when asked for a security review, gap analysis, or improvement report for a specific repo, including via /repo-audit.

23 other projects use a version of this.

Adopted by

Most recently taken up by

Used with

Projects with it also use handoff and code-review.

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

    handoff

    Compact the current conversation into a handoff document for another agent to pick up.

    Also in 3 projects that use this

  • GoogleSkill

    code-review

    Adversarial systems, concurrency, memory-model, and architecture code review protocol. Use this skill whenever asked to review code, PRs, diffs, or branches in Filament.

    Also in 3 projects that use this

The file

We split this skill into the rules it gives an agent

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

  • 0

    Common

    Most of the 19 edited versions we read keep these.

  • 5

    Distinctive

    This author's own choices. Worth a look.

  • 0

    Very specific

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

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    When it returns, relay: the verdict line, severity counts, the top 3 improvements, and the

    line 39
  2. Distinctive:

    Check first — a project with no plan has nothing to file against:

    line 49
  3. Distinctive:

    If a plan exists, file each uncovered finding once:

    line 55
  4. Distinctive:

    One repo per invocation, always: If asked to "audit everything", run the first repo, deliver its report, and say where that leaves the …

    line 83
  5. Distinctive:

    Never let an audit reach production, and never surface a secret's value when relaying findings — name the kind and the location, and say …

    line 92

“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

Repo Audit (entry point)

Runs the repo-audit agent against exactly one repository and reports back.

Arguments

ArgMeaning
(project name or path)Audit that repo — e.g. /repo-audit my-app, /repo-audit ~/code/other
nextRead the index, pick the first repo not yet audited (or stale > 30 days), audit it
statusRead the index and show sweep progress — no agent run
(nothing)Show the queue and ask which repo to audit

The queue

There is no hardcoded list. Candidates come from, in order:

  1. The project registry — maestro-registry.json, if this project has one. Entries are candidates in file order. Entries with status: parked are excluded unless the user names one explicitly; that is what parked means. See schemas/maestro-registry.schema.json.
  2. No registry — the current repository is the only candidate.

status: parked and kind: ops are both worth surfacing when you show the queue: an ops repo is portfolio tooling, so its board-drift section will legitimately be thin.

Procedure

  1. Resolve the argument to exactly one repo. If it matches nothing, or more than one, ask — do not guess.
  2. Delegate to the named repo-audit agent using the active runtime's subagent mechanism, passing the resolved repo path and any extra focus the user gave (e.g. "focus on the upload path"). Run it in the foreground so you can relay the result.
  3. When it returns, relay: the verdict line, severity counts, the top 3 improvements, and the report file path as a clickable link.
  4. State the next repo in the queue, so the user can run /repo-audit next.

File what's missing as a plan gap

A finding that the project plan doesn't cover belongs in the plan, not only in this report. A report is read once; a gap sits against the plan, holds its completeness percentage down, and has to be answered.

Check first — a project with no plan has nothing to file against:

maestro plan status --board {{BOARD}}/data.json

If a plan exists, file each uncovered finding once:

maestro plan gap-add --board {{BOARD}}/data.json --from "repo-audit" \
  --need required --text "<what the plan is missing, stated as a gap>"
  • --need required — the plan is genuinely incomplete without it: an unstated requirement the project clearly depends on, a quality bar the work is already being judged against, a deliverable nobody wrote down. These lower the percentage until a human accepts or declines them.
  • --need optional — worth considering. Never affects the percentage.

Rules that keep this from becoming noise:

  • State the gap, not the fix. "No stated availability target for the API" — not "add a health check".
  • Only what the plan is missing. A bug, a stale branch, or a failing test is a report finding and belongs in the report. It is not a plan gap.
  • Be sparing with required. Classify as required only what you could defend to the owner. A wall of required gaps reads as noise and gets ignored wholesale.
  • Re-runs are safe: a gap whose text already exists is skipped, not duplicated.

Name every gap you filed in your summary, with its id and need. Triage happens in /plan-update, never here — you file, a human decides.

Rules

  • One repo per invocation, always. If asked to "audit everything", run the first repo, deliver its report, and say where that leaves the queue. Do not fan out parallel agents across repos — these reports are meant to be read and acted on one at a time, and a batch of them reliably goes unread.
  • The agent is read-only against code. Its writes are the report file under {{BOARD}}/reports/, {{BOARD}}/reports/repo-audit-INDEX.md, and any plan gaps it files (see above — a gap commits the project to nothing; it queues a question for a human).
  • Suggested tickets in a report are proposals. Do not write them to any board unless the user asks — the audit's job is to inform the board, not to file into it.
  • Never let an audit reach production, and never surface a secret's value when relaying findings — name the kind and the location, and say rotate.

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.