From claude-apd
Use when verifying that APD is correctly configured in the current project — qualitative deep audit of agents, hooks, CLAUDE.md, pipeline state, MCP wiring, and guardrails. Goes further than verify-apd. Triggers on "audit APD", "review setup", "is APD configured", "verify framework", "check APD", "APD health", "is everything wired", after any major framework upgrade or version bump.
How this skill is triggered — by the user, by Claude, or both
Slash command
/claude-apd:apd-auditThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
> Qualitative review of how APD is configured in the project — content quality,
Qualitative review of how APD is configured in the project — content quality, not just file existence. Pairs with
verify-apd(mechanical checks).
Use when:
/apd-setup — confirm everything is correctverify-apd passes but something "feels off"Skip when:
verify-apd itself is failing — fix those mechanical issues firstverify-apd is faster| verify-apd | /apd-audit |
|---|---|
| Files exist? | Content correct and complete? |
| JSON valid? | Hook if patterns correct? |
| Agents have model? | Agents have correct model/effort/color/maxTurns? |
| Pipeline runs? | Pipeline output matches expected format? |
| Mechanical ✓/✗ | Qualitative review |
bash ${CLAUDE_PLUGIN_ROOT}/plugins/apd/bin/core/verify-apd
If FAIL → fix those first. This skill builds on top of verify-apd, not replaces it.
For each agent in .claude/agents/*.md:
Frontmatter check:
model: — builders must be sonnet, reviewer must be opuseffort: — builders must be xhigh, reviewer must be maxcolor: — should be set (purple/blue/green/cyan for builders, orange for reviewer)maxTurns: — should be set (40 for builders, 30 for reviewers); legacy 20/15 auto-bumped by apd initpermissionMode: — builders bypassPermissions, reviewer planmemory: project — should be setHook check:
if: field must be inside hook objects, NOT at matcher levelif patterns (e.g., Bash(git *) not Bash(APD_ORCHESTRATOR_COMMIT=1 git *))${CLAUDE_PLUGIN_ROOT}/plugins/apd/bin/core/ pathsBody check:
Check that CLAUDE.md has all required sections:
## Stack — technology table## APD — orchestrator role description### Pipeline — enforced pipeline reference### Guardrails — guard script list### Mandatory skills — brainstorm/tdd/debug/finish table### Human gate — approval requirements### Session memory — session-log reference## Anti-patterns — common mistakes## Memory — @.claude/memory/ referencesCheck that CLAUDE.md does NOT contain:
{{PLACEHOLDER}} unreplaced values/apd-init, /github-projects, /miro-dashboard)superpowers:subagent-driven-development references (should use APD pipeline)Read .claude/settings.json and verify:
enabledPlugins.superpowers@claude-plugins-official: falseattribution.commit: "" (empty — no AI signatures)attribution.pr: "" (empty)permissions.allow includes .claude/memory/** (Write and Edit)Read .claude/rules/workflow.md and verify:
apd pipeline commands (not apd-pipeline)bash .claude/bin/apd pipeline status
bash ${CLAUDE_PLUGIN_ROOT}/plugins/apd/bin/core/apd-init --version
Check .claude/memory/:
MEMORY.md — not empty, has project contextstatus.md — has current phasesession-log.md — exists (may be empty for new projects)[fill in] placeholders in the last session-log entry (blocks new tasks)Run the dedicated drift script — it scans three dimensions where projects typically lag behind the framework baseline:
bash ${CLAUDE_PLUGIN_ROOT}/plugins/apd/bin/core/pipeline-audit-drift
Dimensions checked:
.claude/settings.json deny patterns — compares against current framework baseline (8 mkdir patterns: 4 slash-prefixed + 4 bare-dir). Pre-v6.10 re-inits left projects with only 4 patterns; v6.10 closes the bypass vector by writing all 8 on re-init.
.claude/.apd-config APD_VERSION — compares against the currently loaded plugin version. Stale APD_VERSION means the project was configured under an older minor and may carry stale workflow/agent templates. Patch-only drift is INFO; minor-or-major drift is IMPORTANT.
.claude/rules/workflow.md content markers — checks for presence of v6.7+ guidance markers (Implements:, rationale gate, DEPRECATED, unconditional). Missing markers indicate workflow.md was last refreshed under a pre-v6.7 framework — orchestrator does not see plan-spec consistency / rationale gate / v6.9 deprecation guidance.
Feature claim drift (v6.12.3+) — scans workflow.md and CLAUDE.md for orchestrator confabulation patterns claiming features the framework does not ship. Specifically: any line that mentions BOTH a contracts command (verify-contracts, apd contracts) AND an unsupported language (PHP/Python/Java/Go/Ruby/Kotlin/Rust). First documented instance: Festico apd-setup (2026-05-28) — orchestrator wrote "apd verify-contracts automatically checks PHP DTO ↔ TS types" which is false; framework supports TS ↔ C# only. Detection prevents silent gaps in cross-layer review coverage where humans rely on a feature that errors at runtime.
Output buckets: CRITICAL (drift blocks pipeline structurally, rare) / IMPORTANT (drift compromises guard coverage or orchestrator guidance, most common) / INFO (patch-level, non-blocking) / CLEAN (project tracks current baseline).
Recovery: all drift findings point to /apd-setup (v6.10+ auto-fixes settings.json missing patterns + refreshes workflow.md + bumps APD_VERSION in .apd-config). Manual fixes are documented per item in the drift script output.
Exit code: drift script exits 1 if any CRITICAL or IMPORTANT finding, 0 if only INFO or CLEAN. Use in CI / pre-commit hooks if desired.
APD Project Audit — {project name}
CRITICAL:
1. [file:line] Description
IMPORTANT:
1. [file:line] Description
CLEAN:
✓ Agents (X builder + 1 reviewer)
✓ CLAUDE.md sections complete
✓ Settings configured
✓ Workflow rules current
✓ Pipeline healthy
✓ Memory files present
Result: X findings (Y critical, Z important)
| Excuse | Reality |
|---|---|
| "verify-apd passes so it's fine" | verify-apd checks structure, not content quality |
| "Agents work, no need to audit" | Wrong model or missing maxTurns wastes time and money |
| "CLAUDE.md looks ok" | Missing sections mean orchestrator skips important rules |
| "I'll fix it when it breaks" | Broken pipeline produces broken code silently |
Example 1 — Builder agent missing maxTurns.
Input: .claude/agents/backend-api.md frontmatter has model: sonnet, effort: xhigh, permissionMode: bypassPermissions, but no maxTurns: line. Pipeline has been re-dispatching builders 2–3× per task.
Output:
IMPORTANT:
1. [.claude/agents/backend-api.md:5] maxTurns missing — defaults to 20
Effect: builders hit maxTurn limit before finishing 3+ R-criteria → re-dispatch overhead
Fix: add `maxTurns: 40` after `effort: xhigh`
Example 2 — Stale skill references in CLAUDE.md.
Input: CLAUDE.md ### Mandatory skills table lists /apd-init and /github-projects as required. Both were renamed (/apd-setup, /apd-github).
Output:
CRITICAL:
1. [CLAUDE.md:142] References renamed skill /apd-init
Effect: orchestrator looks for a non-existent skill, falls back to ad-hoc setup
Fix: replace `/apd-init` → `/apd-setup`, `/github-projects` → `/apd-github`
Example 3 — Orphaned scope path on a builder.
Input: .claude/agents/frontend-web.md has scope: src/components/** but the project moved to app/components/. verify-apd passed because the agent file exists; guard-scope blocks every builder write.
Output:
CRITICAL:
1. [.claude/agents/frontend-web.md:8] Scope path src/components/** does not exist
Effect: every builder write blocked by guard-scope — pipeline cannot ship
Fix: update to `scope: app/components/**` (or run /apd-setup gap analysis)
You're done when:
{{PLACEHOLDER}} values.claude/settings.json has all four required keys (env, attribution, enabledPlugins, hooks)apd pipeline status runs without error/apd-setup to regenerate missing pieces/apd-setup → escalate to user with concrete file:line referencesProvides behavioral guidelines to reduce common LLM coding mistakes, focusing on simplicity, surgical changes, assumption surfacing, and verifiable success criteria.
Searches, retrieves, and installs Agent Skills from prompts.chat registry using MCP tools like search_skills and get_skill. Activates for finding skills, browsing catalogs, or extending Claude.
Creates, edits, and optimizes skills for Claude Code, including drafting, evaluating with test prompts, iterating on performance, and improving skill descriptions for better triggering accuracy.
npx claudepluginhub zstevovich/claude-apd --plugin claude-apd