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 a codebase against 8 agent-native architecture principles (action parity, tools as primitives, context injection, etc.) via parallel sub-agents, producing a scored report.
Audits agent-friendliness of products, SDKs, docs, or SKILL.md by spawning subagents that attempt real onboarding from a minimal prompt. Scores setup friction, speed, efficiency, error recovery, and doc quality, then generates an HTML report with grades and fixes.
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.