From mblode-agent-skills
Audits agentic applications for trust and architecture: tool parity, granularity, context injection, approval gates, confidence cues, escape hatches, and more. Use when reviewing agentic feature PRs or asking 'is this agent-native?'
How this skill is triggered — by the user, by Claude, or both
Slash command
/mblode-agent-skills:ax-auditThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Feature-level reviewer for apps where an agent acts for the user. One question: **does it earn trust, and where does it break?**
references/agent-native-principles.mdreferences/ax-evolution-curve.mdreferences/feature-playbooks.mdreferences/output-format.mdreferences/ship-readiness.mdrules-arch/_sections.mdrules-arch/_template.mdrules-arch/comm-no-approval-gate.mdrules-arch/comm-no-completion-signal.mdrules-arch/comm-no-progress-visibility.mdrules-arch/context-no-checkpoint-resume.mdrules-arch/context-no-injection.mdrules-arch/context-starvation.mdrules-arch/granularity-static-api-mapping.mdrules-arch/granularity-workflow-shaped-tool.mdrules-arch/parity-crud-incomplete.mdrules-arch/parity-no-tool-parity.mdrules-arch/parity-orphan-ui-action.mdrules-ax/_sections.mdrules-ax/_template.mdFeature-level reviewer for apps where an agent acts for the user. One question: does it earn trust, and where does it break?
rules-arch/, trust/relationship design in rules-ax/), ending in a ship-readiness verdict plus an AX Relationship Summary.ui-audit); agent instruction-file quality (use agents-md).No agentic features in scope (only forms, lists, modals)? Route to ui-audit; AX rules against traditional UI produce only noise.
Track this checklist:
AX Audit progress:
- [ ] Step 1: Scope, via `git diff --name-only main` (PR mode) or explicit path (full sweep)
- [ ] Step 2: Detect agentic features per references/feature-playbooks.md
- [ ] Step 3: Run each detected feature's playbook in order, plus the diff-wide checks
- [ ] Step 4: For each check, load the rule file and follow its detection recipe
- [ ] Step 5: Tier each finding per references/ship-readiness.md (rule override table wins)
- [ ] Step 6: Render verdict + findings + AX Relationship Summary per references/output-format.md
- [ ] Step 7: Run the audit self-check and report its evidence counts
Step notes:
references/feature-playbooks.md.parity-orphan-ui-action runs on every PR-mode audit regardless of detected features.| Layer | Folder | Rules | Question it answers | Category index |
|---|---|---|---|---|
| 1: Agent-native architecture | rules-arch/ | 11 | Can the agent do what the user can do? Are tools atomic? Does the agent know what exists? Is completion explicit? | rules-arch/_sections.md |
| 2: Agentic experience | rules-ax/ | 12 | Does the agent earn trust? Can the user interrupt, undo, push back? Is memory visible? | rules-ax/_sections.md |
Load rules-arch/<category>-<slug>.md or rules-ax/<category>-<slug>.md when a playbook check names it. Categories: arch = parity, granularity, context, comm; ax = trust, control, context, comm. Both layers share the comm and context prefixes, but the rules differ: rules-arch/comm-no-approval-gate.md (orchestrator code has no gate logic) is not rules-ax/control-no-approval-gate.md (approval UI doesn't match the stakes).
Every finding gets exactly one tier (full trigger lists in references/ship-readiness.md):
release-blocker, fix before merge: no escape hatch, silent execution, heuristic completion, broken parity, ungated high-stakes actionsfix-this-sprint, merge with a tracked issue: no confidence cues, no intent handshake, opaque memory, bundled config toolsbacklog, ship and track: static canvas, no generative momentum, static API mapping, no checkpoint/resumeTier precedence: a rule's own surface-override table > the generic surface bump in references/ship-readiness.md > the rule's defaultTier. Apply at most one adjustment; never stack the generic bump on a rule's explicit override.
Verdict: ✅ READY (0 blockers, ≤3 sprint) · ⚠️ READY WITH FOLLOW-UP (0 blockers, ≥4 sprint) · ❌ NOT READY (≥1 blocker) · 🚫 INCOMPLETE (self-check failed).
Rendered after findings when any agentic feature was detected. Findings serve engineers; this serves designers and PMs, so never skip it. Four fields:
references/ax-evolution-curve.md)| File | Read when |
|---|---|
references/feature-playbooks.md | Steps 2-3: detection heuristics, per-feature ordered checks, diff-wide checks |
references/ship-readiness.md | Step 5: tier triggers, precedence, verdict logic |
references/output-format.md | Step 6: findings JSON schema, summary schema, terminal rendering |
references/agent-native-principles.md | A Layer 1 finding needs grounding: parity, granularity, CRUD completeness, context patterns, approval matrices, checkpoint/resume |
references/ax-evolution-curve.md | Writing the evolution-stage field of the AX summary |
rules-arch/_sections.md | Layer 1 categories and default tiers |
rules-ax/_sections.md | Layer 2 categories, default tiers, co-firing rule pairs |
comm-no-intent-handshake defaults to fix-this-sprint but its table says release-blocker on tool execution. Stacking the generic "+1 tier on tool execution" bump on an explicit override double-upgrades backlog findings into blockers.AbortController.abort() is a false affordance. control-no-escape-hatch still fails: verify the abort() call, not the button label, or the audit passes a UI that lies to users.rg -l <feature-pattern>), check each for the counter-pattern, and cite the file list as evidence.detection: observational rules cannot fail on grep evidence alone. granularity-static-api-mapping, trust-no-uncertainty-markers, control-over-conversational, and comm-no-generative-momentum need interaction-flow judgment; on static evidence alone, return unknown with a reason, not fail.ax-audit-ignore:<slug> comments count as suppressed, not pass. Report the count in the verdict block; a suppression with no reason is itself worth a warn.ui-audit territory; duplicating them trains engineers to dismiss the whole AX report.comm-no-generative-momentum and granularity-static-api-mapping default to backlog. Promoting cosmetic findings to blocker trains the team to ignore ❌ verdicts.Flag the audit INCOMPLETE if any of these hold, and include the counts as evidence (planned vs. run rules per playbook, unknown rate, suppressed count):
unknownfail/warn finding lacks file:line evidence or a fix snippetui-audit: traditional frontend UX quality around agentic surfaces; run both on agentic feature PRs, with ax-audit covering the agent layeragents-md: audit CLAUDE.md / AGENTS.md agent instruction filesdefine-architecture: repo structure and module boundariesnpx claudepluginhub mblode/agent-skillsAudits how well a product, SDK, docs site, or SKILL.md works when AI agents must onboard from scratch using only a short prompt. Spawns subagents to discover docs, install deps, and attempt real tasks, then scores Setup Friction, Speed, Efficiency, Error Recovery, and Doc Quality with an A–F grade HTML report.
Audits codebase against 8 agent-native principles like Action Parity and Tools as Primitives using parallel sub-agents for scored compliance reports with gaps and recommendations.
Audits agent codebases against the 12-Factor Agents methodology, analyzing per-factor compliance with file-level evidence. Use when reviewing LLM-powered system architecture or planning agent improvements.