Skip to main content

skill-auditor

Audit the skills library for duplicates, stale content, spec violations, and structural issues. Run periodically or before releases.

ソース情報

リポジトリ
shipshitdev/skills
ソースの最終更新活動
2026年10月7日 07:31
検出された SKILL.md の言語
英語
スター
38
フォーク
3

インストール方法

デフォルトでは、最初にソースを確認する Prompt が選択されています。直接コマンドに切り替えるか、ローカルコピーをダウンロードすることもできます。

ソースファイルを確認

インストールを決める前に、SKILL.md と SkillsMP に表示されている付属ファイルをお読みください。

SKILL.md を表示中

SKILL.md
ソースの指示 · 読み取り専用プレビュー
name
skill-auditor
description
Audit the skills library for duplicates, stale content, spec violations, and structural issues. Run periodically or before releases.
metadata
{"internal":true,"version":"2.2.4","tags":"audit, skills, quality, maintenance"}
# Skill Auditor Comprehensive audit of the skills library for quality and consistency. ## Audit Modes | Mode | Scope | Command | |---|---|---| | `skills` (default) | Public skills, commands, bundles, and catalog sync | Follow the categories below | | `routines` | Local Claude scheduled tasks and Codex automations | `python3 scripts/audit-routines.py` | Routine mode follows `.agents/memory/system/routine-standards.md`. It is read-only: detect normalized duplicate bodies and prompt-level model, effort, schedule, cwd/workspace/worktree, and environment leakage. Report source identifiers and field names only; never print prompt bodies, environment values, or TOML values. Use `--show-paths` only when the caller explicitly wants local paths in the report. ## Audit Categories ### 1. Duplicate Detection Find skills that overlap and should be consolidated: - Compare descriptions for semantic similarity - Check for skills with near-identical `when_to_use` triggers - Flag naming collisions (e.g., `react-patterns` vs `react-refactor`) ### 2. Spec Compliance For each SKILL.md, check: - Frontmatter follows Agent Skills spec (see `.agents/memory/system/skill-standards.md`) - `version`/`tags` inside `metadata:` block, not top-level - No forbidden fields (`auto_activate`, `auto_trigger`, `risk`) - `metadata.tags` is a comma-separated string, not YAML list - No harness-owned execution parameters in reusable content; apply `.agents/memory/system/execution-boundary.md` to skills, commands, and routine templates ### 3. Structural Issues - Orphaned nested directories (`skills/<name>/<name>/`) - Empty skill directories (no SKILL.md) - Skills in README that no longer exist in filesystem - Skills in filesystem that are missing from README - Broken references to non-existent files in skill content ### 4. Content Quality - Empty or placeholder descriptions - Hardcoded project-specific paths (`/workspace/`, `@genfeedai/`) - Escaped backtick fences (`\`\`\``) instead of real fences - Skills that reference scripts not bundled with the skill ### 5. README Sync Compare the `skills/` directory listing against the README's categorized skill lists (backticked names under the `## Skills (N)` heading — the README has no per-skill link table): ```bash # Get skills from filesystem REPO_TMP="$(git rev-parse --show-toplevel)/.tmp" mkdir -p "$REPO_TMP" find skills -maxdepth 1 -mindepth 1 -type d | sed 's|skills/||' | sort > "$REPO_TMP/fs-skills.txt" # Get skills from the README's categorized lists sed -n '/^## Skills (/,/^## How Skills Adapt/p' README.md \ | grep -oE '`[a-z0-9-]+`' | tr -d '`' | sort -u > "$REPO_TMP/readme-skills.txt" # Diff comm -23 "$REPO_TMP/fs-skills.txt" "$REPO_TMP/readme-skills.txt" # in fs, not README comm -13 "$REPO_TMP/fs-skills.txt" "$REPO_TMP/readme-skills.txt" # in README, not fs ``` Also verify each category heading's `(N)` count matches the number of names in its list. A skill may appear in more than one category, so the per-category sum exceeding the total is expected. ## Output Format Report findings as a table: | Skill | Issue | Severity | Action | |-------|-------|----------|--------| | `code-refactoring-refactor-clean` | Duplicate of `refactor-code` | HIGH | Merge | | `spec-to-code-compliance` | Empty directory | HIGH | Delete | | `skill-capture` | tags as YAML list | MEDIUM | Fix to string | For routine mode, report totals, leakage categories, anonymous source identifiers, duplicate-family groups, and observed app-owned field names. Do not include the matched text or configuration values.
GitHubで見る