Auditeur d'hygiène des compétences

VérifiéPrudence

Audite ~/.claude/skills/ pour des problèmes d'hygiène : compétences inutilisées, doublons, descriptions manquantes ou trop longues. Rapporte la fréquence d'utilisation et les compétences les plus utilisées.

Spar Skills Guide Bot
ProductiviteIntermédiaire
22/07/2026
Claude Code
#skill-management#usage-audit#hygiene#claude-code#meta

Recommandé pour

Synthèse automatique

Audite les skills utilisateur de Claude Code dans ~/.claude/skills/ et produit un rapport Markdown sur leur fréquence d'usage, les doublons et les descriptions manquantes ou trop longues.

Points forts

  • S'appuie sur un journal d'usage JSONL alimenté par un hook PostToolUse (matcher Skill) plutôt que sur un simple grep de transcripts, avec repli explicite sur l'heuristique transcript quand le journal est absent
  • Signale honnêtement la couverture du journal et marque les verdicts « unused » comme provisoires ou heuristiques, plutôt que de les présenter comme définitifs
  • Rapport structuré et actionnable : liste des non-utilisés, compte d'invocations et date de dernier usage, top 5 des descriptions les plus longues, doublons de champ name
  • Outil purement consultatif : ne supprime ni ne modifie rien sans confirmation explicite

Limites

  • Sous-estime l'usage : une invocation tapée manuellement via /name ne déclenche pas le tool Skill et n'est donc jamais journalisée
  • Ne produit des verdicts fiables qu'après une période d'accumulation du journal ; sur une machine récente, la liste des non-utilisés est surtout du bruit
  • Dépend de zsh, jq et ripgrep, et suppose une arborescence ~/.claude/ avec hook déjà installé
Quand l'utiliser

À utiliser lorsqu'on veut faire le ménage dans son jeu de skills et savoir lesquels sont réellement invoqués, redondants ou mal décrits.

Quand l'éviter

À éviter si l'on cherche une suppression automatique ou un audit de skills projet stockés ailleurs que sous ~/.claude/skills/, ou si le hook d'usage n'a jamais été installé et qu'on veut des chiffres fiables immédiatement.

Analyse de sécurité

Prudence
Score qualité86/100

The instruction text itself is benign and explicitly advisory ("suggest only — never delete or edit a skill without explicit confirmation"), with no network calls, exfiltration, obfuscation, or destructive commands. Risk is limited to Bash being used to run a bundled helper script and read local log files for a legitimate read-only audit; because that script's contents are not shipped in the manifest, it warrants a caution rather than a clean safe rating.

Points d'attention
  • •Grants Bash and executes `~/.claude/skills/skill-cleaner/scripts/cleaner.sh`, whose body is not included in SKILL.md and therefore cannot be reviewed here
  • •Reads local runtime state (`~/.claude/state/skill-usage.jsonl`) and optionally transcripts; no evidence of anything being sent off-machine, but scope of filesystem reads is defined only by the unshipped script
  • •Requires a top-level Claude Code hook (`PostToolUse` on `Skill`) to be installed for accurate results — a config-modifying instruction, though it is scoped and user-confirmed
Comment cette analyse est faite

Exemples

Find unused skills
Which of my Claude Code skills haven't been used in the last 90 days? Run the skill cleaner audit with a 90-day lookback and show me the unused list with its coverage caveat.
Trim the skill set
My ~/.claude/skills folder has grown a lot. Audit it, show me the most-used skills and any duplicates, then recommend what to tighten or remove — don't change anything yet.
Description bloat check
Run the skill audit and list the five longest skill descriptions so I can see which ones are eating prompt budget every turn.

description: Audits ~/.claude/skills/ for hygiene issues. Use when trimming the skill set, asking which skills are unused or most-used, or finding duplicates. Reports usage frequency, unused skills, duplicates, and missing or overlong descriptions. allowed-tools:

  • Bash
  • Read

Skill Cleaner

Audits user-level Claude Code skills under ~/.claude/skills/. Suggest only — never delete or edit a skill without explicit confirmation.

Prerequisites

  • zsh (the script's interpreter — shebang is #!/usr/bin/env zsh)
  • jq — parses the usage log (the ground-truth source for unused detection)
  • rg (ripgrep) — only for the transcript fallback used before the log has coverage

Usage log (source of truth)

Unused detection reads a JSONL usage log written by a PostToolUse hook, not a transcript grep. The hook (~/.claude/hooks/log-skill-use.sh, matcher Skill) appends one {"ts","skill","cwd"} record per skill invocation to ~/.claude/state/skill-usage.jsonl. This captures every invocation deterministically — including skills invoked only by other skills via the Skill tool, which the old transcript heuristic could miss.

The log is runtime state (gitignored) and only accumulates from when the hook was installed. Until it reaches back the full lookback window, the report marks the Unused list provisional and shows the log's actual coverage. If the log is empty or missing entirely, the script falls back to the transcript grep and labels the result a heuristic.

One undercount to keep in mind: a user-typed /name invocation expands in place without a Skill tool call, so the hook never logs it. Log-based "unused" verdicts are a lower bound — sanity-check against the transcript heuristic before recommending deletion.

To bootstrap coverage on a fresh machine where the hook isn't wired yet, add a PostToolUse hook with matcher Skill that runs ~/.claude/hooks/log-skill-use.sh (use the update-config skill), then let the log accumulate.

Run

~/.claude/skills/skill-cleaner/scripts/cleaner.sh

Flags:

  • --days N — lookback window (default 60)
  • --root DIR — override skills root
  • --usage-log FILE — override the usage-log path
  • --transcripts DIR — override transcripts root (fallback only)

Output

Markdown report to stdout. A header line names the source (usage log vs. transcript fallback) and, in log mode, the log's coverage. Then:

  • Unused — skills with zero invocations in the last N days per the usage log. Marked provisional while log coverage is shorter than the window, or heuristic when running off the transcript fallback.
  • Usage (log mode only) — skills that were invoked in the window, with invocation count and last-used date, most-used first. Turns "unused" from a binary into a frequency signal.
  • Longest descriptions — top 5 by character count. Long descriptions cost prompt budget every turn; trim only if trigger keywords are redundant.
  • Duplicates — same name: field across two skill directories.
  • Missing description — skills with no description: in frontmatter.

Example output

# Skill Audit

- Source: usage log (`~/.claude/state/skill-usage.jsonl`) — 1 record, 1 in last 60d
- Log coverage: ~0d (oldest record 2026-07-05)

## Unused (no invocation in 60d)
> ⚠ Provisional — the usage log only reaches back ~0d, less than the 60d window.
- cc-review
- deps-audit
- …

## Usage (last 60d, most-used first)
- skill-cleaner — 1× (last 2026-07-05)

## Duplicates
_None._

Acting on results

  • Treat "unused" as a candidate list, not a kill list. Confirm with the user before deleting any skill directory.
  • Weight the list by its label: a provisional or heuristic Unused list may flag skills that are simply older than the log — lean on the Usage section and let coverage accrue before acting.
  • Prefer tightening a long description over deleting the skill.
  • For duplicates, identify which copy is canonical (usually the one in ~/.claude/skills/ over any project-local override) before removing.

Do not use when

  • Scoring a skill's quality or content depth — use cc-review
  • Checking a skill against a newly-shipped Claude Code release — use cc-release-review

Du fichier au premier essai

Le téléchargement contient exactement le contenu affiché sur cette fiche. Cette copie peut différer de la dernière version du dépôt source.

Consulter la source et ses fichiers annexes

Ce téléchargement contient uniquement SKILL.md. Les scripts, références, modèles et dépendances éventuels ne sont pas inclus. Récupérez les fichiers nécessaires depuis la source en conservant leur arborescence avant de poursuivre.

1. Télécharger le fichier

Télécharger SKILL.md

Depuis la racine d’un projet de test, enregistrez le fichier sous .skill-downloads/skill-hygiene-auditor-mrwakb7d/SKILL.md, ou utilisez la commande suivante. Ce dossier sert à examiner la skill avant son installation.

Commande pour macOS/Linux ou WSL : un shell POSIX et curl sont nécessaires. Sous Windows sans WSL, utilisez le bouton de téléchargement et créez le dossier manuellement.

mkdir -p '.skill-downloads/skill-hygiene-auditor-mrwakb7d' && curl --fail --show-error --location 'https://skills-guides.com/api/skills/skill-hygiene-auditor-mrwakb7d/download' --output '.skill-downloads/skill-hygiene-auditor-mrwakb7d/SKILL.md.part' && mv '.skill-downloads/skill-hygiene-auditor-mrwakb7d/SKILL.md.part' '.skill-downloads/skill-hygiene-auditor-mrwakb7d/SKILL.md'

2. Vérifier les prérequis

Lisez SKILL.md avant de l’utiliser. Si le fichier cite des scripts ou services externes, examinez-les et préparez les accès nécessaires dans votre environnement de test.

Extrait original : Prerequisites
  • zsh (the script's interpreter — shebang is #!/usr/bin/env zsh)
  • jq — parses the usage log (the ground-truth source for unused detection)
  • rg (ripgrep) — only for the transcript fallback used before the log has coverage

Les plateformes de la fiche sont des indications du catalogue. Les chemins ci-dessous suivent la documentation des outils ; ils ne prouvent pas que cette skill y a été exécutée. Aucune version minimale de ces outils n’est attestée pour cette fiche.

3. Charger la skill

Le fichier ne fournit pas un en-tête name/description exploitable pour cette procédure native. Le téléchargement reste disponible pour lecture ; utilisez le mode manuel ci-dessous.

Mode manuel ou autre outil : joignez SKILL.md à une conversation, ou ouvrez-le dans un agent capable de lire les fichiers. Ajoutez les ressources annexes nécessaires. Il n’existe pas de dossier universel reconnu par tous les outils.

4. Faire un premier essai

Utilisez une entrée courte et fictive : un endpoint d’API, un petit document ou un brief d’interface. Dans une nouvelle conversation, joignez le fichier ou donnez son chemin à l’agent, puis adaptez cette demande :

Lis .skill-downloads/skill-hygiene-auditor-mrwakb7d/SKILL.md et applique ses instructions à cet exemple : [décrire une entrée de test]. Indique les fichiers, dépendances ou accès qui manquent. Produis le résultat demandé par la skill sans inventer de données ni exécuter de script non examiné.

Résultat attendu : une sortie correspondant aux instructions de la skill, ou une liste précise des prérequis manquants. Une simple confirmation de lecture ne valide pas le premier usage. Si une ressource externe est indisponible, ce parcours reste à tester.

Skills similaires