Audits the current project against the development standards defined in ~/.claude/CLAUDE.md. Documents non-compliant findings as GitHub issues and writes a prioritised fix plan to the project CLAUDE.md. Use when the user says audit against settings, audit standards, check standards compliance, or audit this project.
How this skill is triggered — by the user, by Claude, or both
Slash command
/claude-workflow-skills:audit-standardsThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Project: !`basename $(git rev-parse --show-toplevel 2>/dev/null) 2>/dev/null || basename $PWD`
Project: !basename $(git rev-parse --show-toplevel 2>/dev/null) 2>/dev/null || basename $PWD
Branch: !git branch --show-current 2>/dev/null || echo "unknown"
Audits the current project against the personal development standards loaded from ~/.claude/CLAUDE.md.
Generates actionable GitHub issues and a prioritised fix plan.
The development standards from the user's global ~/.claude/CLAUDE.md are already loaded into context.
The key principles to audit against are:
gh auth status 2>&1 || { echo "ERROR: gh is not authenticated. Run: gh auth login"; exit 1; }
find . -not -path './.git/*' -type f | sort
Also read:
README.md — documentation tone and completenessCLAUDE.md — project AI context file exists and is current.env, .env.template, .gitignore — secrets handling*.sh files — bash scripting standards*.md files — markdown quality#!/usr/bin/env bash shebang?@param, @return, @example doc comments?git config user.name/git config user.email?Run: grep -rn "#!/" --include="*.sh" . to find all scripts.
For each .sh file:
echo for status messages)?pfb info/success/warn/error) used for single-line status only?Run: grep -rn "pfb\|echo" --include="*.sh" . and compare usage patterns.
Check for a .markdownlint.json at the repo root:
cat .markdownlint.json 2>/dev/null || echo "MISSING"
Run markdownlint if available:
markdownlint '**/*.md' 2>&1 | head -50
Check:
<> or link syntaxRead README.md and any formal docs. Flag:
Note: READMEs and tutorials may use "you" in instructional sections — this is acceptable.
cat .gitignore 2>/dev/null || echo "MISSING .gitignore"
ls .env* 2>/dev/null
Check:
.gitignore exists and excludes .env, secrets, build artifacts, IDE files.env.template exists if the project requires environment configuration.env with real values presentCLAUDE*.md, AGENTS*.md, GEMINI*.md) are gitignored and symlinkedFind all AI context files in the project (excluding .git):
find . -not -path './.git/*' \( -name 'CLAUDE*.md' -o -name 'AGENTS*.md' -o -name 'GEMINI*.md' \) | sort
For each file found, verify two things:
Gitignored — the pattern appears in .gitignore:
git check-ignore -v <file>
Symlink — the file is a symbolic link (pointing to the private ai-context repo), not a regular tracked file:
[ -L "<file>" ] && echo "SYMLINK" || echo "REGULAR FILE — should be a symlink"
A finding is raised for any AI context file that is not gitignored OR is not a symlink. The expected
pattern is: file is listed in .gitignore, stored in the private ai-context repo, and symlinked back into
the project directory so local AI tooling finds it normally (see extract-ai-context.sh in that repo).
First, fetch all open issues to avoid creating duplicates:
gh issue list --state open --limit 100 --json title --jq '.[].title'
For each finding, check whether an open issue with a matching title already exists. If one does, skip it. Only create an issue if no existing open issue covers the same finding.
For each distinct finding with no existing open issue, create a GitHub issue:
gh issue create \
--title "<principle>: <brief description of violation>" \
--body "$(cat <<'EOF'
## Principle
<which standard this relates to>
## Finding
<description of the non-compliance>
## Expected
<what the standard requires>
## Current state
<what was found in the project>
## Suggested fix
<concrete change to make>
EOF
)" \
--label "enhancement"
Use --label "bug" for missing required files or broken standards; --label "enhancement" for
improvements and style compliance.
Note each issue number as you go.
Append or update a section in the project CLAUDE.md under the heading
## Standards Audit — <today's date>:
## Standards Audit — YYYY-MM-DD
Issues generated from `/audit-standards` review against ~/.claude/CLAUDE.md.
Suggested fix order:
### Group 1 — Correctness (fix first)
- #N: <title>
- #N: <title>
### Group 2 — Standards Compliance
- #N: <title>
- #N: <title>
### Group 3 — Quality Improvements
- #N: <title>
- #N: <title>
Order: missing required files first, then standards violations, then style improvements.
Output a brief summary:
npx claudepluginhub ali5ter/claude-plugins --plugin claude-workflow-skillsCreates bite-sized, testable implementation plans from specs or requirements, with file structure and task decomposition. Activates before coding multi-step tasks.