code/audit-skills/SKILL.md
--- name: audit-skills description: >- Audits all personal Claude skills against the SKILLS_GUIDE.md manifest, latest official Claude skills documentation, and best practices. Reports issues, missing patterns, and improvement suggestions per skill. Use to keep skills healthy, consistent, and up-to-date with the latest standards. argument-hint: [skill-name] [--fix] [--verbose] disable-model-invocation: true allowed-tools: - AskUserQuestion - Read - Write - Edit - Glob - Grep
npx skillsauth add mostafa-drz/claude-skills code/audit-skillsInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Audit personal Claude skills for consistency, best practices, and up-to-date standards.
Check $ARGUMENTS:
help → display help then stop--fix [skill-name] → auto-fix issues (see Fix mode)--verbose [skill-name] → show full details for every check (not just failures)<skill-name> → audit a single skillDoctor — Audit personal Claude skills for health and consistency
Usage:
/audit-skills Audit all personal skills
/audit-skills <skill-name> Audit a single skill
/audit-skills --fix Auto-fix all skills
/audit-skills --fix <skill-name> Auto-fix a specific skill
/audit-skills --verbose Full detail for every check
/audit-skills help This help
Checks performed:
Manifest Does the skill follow SKILLS_GUIDE.md conventions?
Frontmatter Are all required/recommended fields present and correct?
Content Is the skill under 500 lines? Are references bundled?
Tools Are allowed-tools minimal? Any duplicates? Any contradictions?
UX Does it have help/config/reset? First-time detection? Memory?
Docs Is the description third-person with trigger keywords?
Security Does disable-model-invocation match the side-effect profile?
Upstream Does it follow latest official Claude skills documentation?
Output:
[PASS] Check passed
[WARN] Non-critical suggestion
[FAIL] Violates manifest or best practice
[INFO] Informational note
Example output:
/slack-to-ticket
[PASS] Third-person description
[PASS] disable-model-invocation: true (has side effects)
[WARN] SKILL.md is 120 lines — fine, but has inline examples that could be bundled
[FAIL] Missing help subcommand
[PASS] Preferences memory pattern present
Read ~/.claude/skills/SKILLS_GUIDE.md — this is the source of truth for local conventions.
Search the web for the latest Claude Code skills documentation:
ultrathink
Search for:
site:code.claude.com skills — official skill format docssite:platform.claude.com agent-skills best-practices — authoring best practicesclaude code skills 2026 — any new features or changesFetch and read the top results. Extract:
Compile a checklist of upstream checks in addition to the manifest checks.
If web search is unavailable, proceed with manifest-only checks and note: "Could not fetch upstream docs — manifest checks only."
~/.claude/skills/*/SKILL.md
List all found skills. If a specific skill-name was given in $ARGUMENTS, filter to just that one.
For each skill, run every check below. Track results as PASS/WARN/FAIL/INFO.
| Check | PASS | FAIL |
|---|---|---|
| name present | Has name | Missing |
| description present | Has description | Missing |
| description is third-person | Starts with verb in third person ("Creates", "Analyzes") | Imperative/second person ("Create", "Analyze") |
| description has trigger keywords | Contains "Use when" or similar usage hint | No usage context |
| description length | ≤1024 chars | Over 1024 |
| argument-hint present | Has hint | WARN: missing (optional but recommended) |
| disable-model-invocation | true if skill has side effects (check allowed-tools for Write, Edit, Bash, MCP create/update tools) | Missing when side effects present |
| allowed-tools present | Listed | WARN: missing (broad permissions) |
| Check | PASS | FAIL |
|---|---|---|
| No duplicate MCP tools | Single prefix per service | Both mcp__linear-server__* and mcp__claude_ai_Linear__* |
| MCP tools use canonical prefix | Uses mcp__claude_ai_Linear__* | Uses mcp__linear-server__* |
| No contradictory tools | Read-only skills don't have Write/Edit | Read-only principle violated |
| Minimal tools | Only tools actually referenced in body | Tools listed but never used |
| Check | PASS | FAIL | |---|---|---| | Under 500 lines | ≤500 | WARN: over 500 | | No redundant instructions | Doesn't tell Claude how to use JSON, git basics, etc. | WARN: generic instructions | | Uses numbered checklists for workflows | Steps are numbered | WARN: prose-only workflow | | References bundled files if >100 lines of examples | Examples in separate files | WARN: large inline examples |
| Check | PASS | FAIL |
|---|---|---|
| help subcommand | Body handles $ARGUMENTS = "help" | Missing |
| config subcommand | Body handles $ARGUMENTS = "config" | Missing |
| reset subcommand | Body handles $ARGUMENTS = "reset" | Missing |
| First-time detection | Checks for preferences file existence | Missing |
| Preferences memory | References preferences.md file | Missing |
| Dynamic context injection | Uses !backtick`` preprocessing | WARN: missing where applicable |
Apply any new checks discovered in Step 1. Common ones:
| Check | PASS | FAIL |
|---|---|---|
| context: fork for self-contained skills | Set when skill doesn't need conversation history | WARN: could benefit from fork |
| model field for reasoning-heavy skills | Set for complex analysis skills | INFO: could benefit from model override |
| Positional args $0, $1 | Used for structured inputs | INFO: could use positional args |
| Skill directory structure | Has SKILL.md + optional reference/examples | Non-standard structure |
SKILLS_GUIDE.md inventory table/skill-name
[PASS] 8 checks passed
[WARN] 2 warnings
[FAIL] 1 failure
Failures:
- disable-model-invocation missing (skill creates Linear issues)
Warnings:
- No dynamic context injection (could pre-fetch git branch)
- SKILL.md is 180 lines with inline examples (consider bundling)
Doctor Summary — {date}
Skills audited: {N}
[PASS] {N} fully healthy
[WARN] {N} with warnings
[FAIL] {N} with failures
Top issues:
1. {most common failure across skills}
2. {second most common}
Upstream updates:
{Any new features/changes from official docs worth adopting}
(or "All skills are up-to-date with latest docs")
Inventory:
{N} skills in SKILLS_GUIDE.md
{N} skill directories found
{discrepancies if any}
--fix flag)If --fix was passed:
AskUserQuestion (multiSelect: true):
SKILLS_GUIDE.md inventory if new skills were foundWithout --fix: just report findings.
Write a timestamped audit log to:
~/.claude/skills/audit-skills/last-audit.md
Format:
# Skill Audit — {date}
## Summary
- Skills: {N}
- Pass: {N}, Warn: {N}, Fail: {N}
## Per-skill results
{compact results}
## Upstream notes
{anything new from docs}
This allows comparing across audits to track improvement.
--fix and user confirmation.development
--- name: triage-board description: >- Generates a structured triage artifact from the current conversation's findings — a self-contained Desktop folder with a JSON Schema, schema-conformant report.json, prose markdown, and a single-file HTML viewer. Viewer ships with MD / CSV / JSON download buttons in the header and a per-finding "Copy as Markdown" action that produces a GitHub/Linear/Notion-ready ticket block. Stateless — triage state lives in the user's ticket system, not in the
development
Runs a beginner-mind end-to-end UI audit of any running app — local dev server, staging, production, or a specific URL. Drives Chrome through every interactive element on the target surface, collects structured findings (severity, category, where, symptom, impact, repro, triage), and hands the result off to `/triage-board` which produces the Desktop folder (schema + JSON + Markdown + single-file HTML viewer with MD/CSV/JSON exports and a per-finding Copy as Markdown button). Use when you want fresh-eyes verification of a feature, page, modal, flow, branch, or whole app — before shipping, before review, before a demo, or any time the UI deserves a careful poke.
development
Reviews the user's past Claude Code conversations from a wellbeing perspective — sentiment, tone, emotional arc, recurring patterns — and generates a supportive, science-grounded report in both Markdown and HTML. Default lookback is 48 hours across all projects. Uses recognised emotion frameworks (Plutchik, Ekman, Russell's circumplex, Pennebaker linguistic markers) and cites the science behind every observation. Learns the user's baseline tone over time so future reports flag genuine shifts, not noise. Use when the user asks for an emotional/wellbeing recap, mood check, sentiment review, or wants to understand their own ups and downs across recent work sessions.
development
--- name: workflow-advisor description: >- Analyzes recent Claude Code conversations and local Claude state (skills, settings, memory files, CLAUDE.md), researches the latest Claude Code features and best practices online, and suggests one workflow improvement at a time with reasoning and a concrete action item. Can save accepted suggestions to memory for tracking. Use when you want to discover underused Claude Code features, improve your development workflow, stay current with the lat