audit-rubric — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited audit-rubric (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.
The Aufgaard audit produces a 0-100 score. This rubric is the canonical scoring framework — same logic across sessions, same logic the bundle's Field Reference PDF documents.
Start at 100. Subtract:
Floor at 0. Cap at 100. Round to integer.
For each of the 35 patterns, the audit assigns a severity based on:
| Pattern category | Default if firing in production path |
|---|---|
| P5.y bash destructive (active BLOCK match) | CRITICAL if no hook; HIGH with hook |
| P5.z agent-config attack (active BLOCK match) | CRITICAL — always |
| P3.4 HERMES.md / 429-imminent <15min | CRITICAL |
| P10.1 cron silent failure (confirmed exit-0-empty) | HIGH (CRITICAL if affects production data path) |
| P6.y output-action divergence (confirmed STATE_VIOLATED) | CRITICAL |
| P6.2 swallowed exceptions on LLM-call path | HIGH (CRITICAL if billing-related) |
| P9.1 wrong-model overspend (>$50/mo waste) | MEDIUM |
| P7.2 no per-agent cost attribution | MEDIUM |
| P2.x OOM / CPU spike (active) | HIGH |
| P3.1-P3.3 connection / networking (active) | HIGH (MEDIUM if intermittent) |
| Partial coverage (e.g. ~ tier in catalogue) | DON'T penalize — this is honest disclosure |
| Uncovered (❌ tier in catalogue) | DON'T penalize — flagged as gap |
| Range | Color | Verdict |
|---|---|---|
| 90-100 | 🟢 | Excellent — production-ready; maintenance mode |
| 75-89 | 🟢 | Good — minor polish; nothing blocking deploy |
| 60-74 | 🟡 | Watch — at least 1 high finding; address this week |
| 40-59 | 🟡 | Attention needed — multiple high findings; address before next major change |
| 20-39 | 🔴 | At-risk — critical findings present; halt expansions, fix critical |
| 0-19 | 🔴 | Production-AI emergency — multiple critical findings; serious review needed |
The aggregate audit score is the BASE. We also report a coverage modifier for honesty:
Effective score: <BASE> · Coverage: <N>/35 patterns measurable from your data (<%>%)If only 23 of 35 patterns are measurable from the user's data (e.g. they don't have a JSONL log for cost-tracker yet), the score is computed from those 23 patterns only — and we say so. We don't pretend a partial scan is a full audit.
Example:
Score: 78/100 (across 23 measurable patterns) · 12 patterns uncovered or unmeasurable from current data — see Coverage breakdown for the gap list.
For each finding, the audit suggests a remediation. Templates:
> 🔴 P-id: <pattern> — CRITICAL
> Halt expansion of [feature]; remediate immediately.
> Specific action: [grounded in the data — e.g. "rewrite cron-summarizer at <line> to add explicit heartbeat + non-zero exit on no-data scenario"]> 🟡 P-id: <pattern> — HIGH
> Address within 7 days.
> Specific action: [grounded in the data]> 🟢 P-id: <pattern> — MEDIUM
> Schedule for next maintenance window.
> Specific action: [grounded in the data]These would invalidate an audit:
except: pass" is.The audit is point-in-time. Re-run via /aufgaard:production-audit:
The audit report should always include a "Next audit recommended in [N] days" footer based on the score band — higher scores get longer cadences.
Scoring history is currently per-session. Future v1.x could persist scores to a local file for trend tracking ("score went 78 → 84 over 30 days; you fixed P6.2 in agents/billing.py"). Not yet built; flagged as enhancement.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.