automation-audit-ops — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited automation-audit-ops (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
@rules/reports/general.mdc — any report published to an issue tracker follows the assignment language; code identifiers, file paths, workflow names, and command output stay verbatim.@rules/compound-engineering/general.mdc — a recurring breakage or a confirmed redundancy is a durable lesson; recommend recording it in the project's own memory, never in this shared package.@rules/git/general.mdc — use gh for GitHub Actions run history; if no GitHub tool is available, stop and report that, do not guess run state.UNVERIFIED and state what would confirm it — never upgrade a guess to a fact.Number each finding and carry its proof through to the report. Work surface by surface.
.github/workflows/ (triggers, jobs, steps)..claude/settings.json, .claude/settings.local.json, and any hooks blocks within them; project skill rules under .claude/rules/ and rules/.mcpServers block in .mcp.json, .claude/settings*.json, or other configured JSON.scripts map in composer.json (build, check, fix, analyse, skill-check, security-audit, test:coverage, normalize/pint/rector/phpcs entries).bin/cursor-rules and the install/sync logic it drives.skills/*/SKILL.md and their bundled scripts/, treated as automations themselves..claude/scheduled_tasks* lock/registry.LIVE — confirmed running/passing: a recent successful workflow run, a command you executed returning success, or a hook observably firing.CONFIGURED-UNVERIFIED — defined in config but no proof it ran or succeeded (no run history, no log, unconfirmed credential).BROKEN — proof of active failure: failed run conclusion, non-zero command exit, missing referenced file/binary, malformed config.AUTH-OUTAGE — defined and otherwise sound but blocked by a missing/expired token, secret, or MCP auth (cite the missing key, never its value).STALE — references files, scripts, actions, or services that no longer exist, or pinned to a removed version.MISSING — a capability the repo clearly needs (e.g. a quality gate exists in composer check but no workflow enforces it on PRs) with no automation covering it.gh run list --workflow <file> / gh run view. For composer scripts, inspect the script body and any binary it calls; only mark LIVE if you ran it read-only or have a CI log proving it passed — never from the script name alone. For hooks/MCP, cite the exact config block and the auth/binary it depends on. Record the proof reference inline with the finding.active-breakage, auth-outage, redundancy, or missing-capability. This drives the keep/merge/cut/fix decision.CONFIGURED-UNVERIFIED — recommend verifying it first.A read-only report in the assignment language (per @rules/reports/general.mdc), in this structure:
A table, one row per automation:
| # | Surface | Item | State | Problem-type | Proof |
|---|---|---|---|---|---|
| 1 | GitHub Actions | pr.yml | LIVE | — | run #1234 conclusion success |
| 2 | Composer | check | CONFIGURED-UNVERIFIED | missing-capability | composer.json L#; no CI run found |
State is one of the six from step 2. Proof is a file path + line, a run id + conclusion, a log line, or the command output that established the state. Use UNVERIFIED and name the missing proof when none exists.
Per finding, numbered, with:
active-breakage / auth-outage / redundancy / missing-capability).Grouped under Keep, Merge, Cut, Fix. Each line names the item, the action, and the one-line justification traced to a finding number. Items in CONFIGURED-UNVERIFIED go under a Verify first note, not under Cut.
The single highest-leverage automation gap to close next (one missing-capability or active-breakage), with why it is the most valuable next step.
Close with an Assumptions & gaps footer listing every UNVERIFIED item and what command, secret, or access would confirm it.
LIVE rests on a config reference alone, and every unproven item is marked UNVERIFIED.@skills/security-review/SKILL.md — when an audited automation handles secrets, outbound requests, or shell execution, hand the exploitability question there.@skills/smartest-project-addition/SKILL.md — when the audit surfaces a missing-capability, that skill turns it into a single high-leverage proposal.@skills/refresh-claude-md/SKILL.md — when the inventory reveals the project's documented commands or stack drifted from reality, refresh CLAUDE.md there.~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.