Source profileQuality 93/100

jackchuka/skills/claude-skill-spec-audit/SKILL.md

claude-skill-spec-audit

Audit skill SKILL.md files for compliance with the agentskills.io specification and house conventions. Checks frontmatter fields (name, description, compatibility, metadata, argument-hint), metadata sub-fields (author, scope, layer, confirms), and layer/suffix consistency. Use when adding new skills, reviewing skill quality, or ensuring all skills follow the spec. Triggers: "audit skills", "check skill spec", "skill compliance", "are my skills up to spec", "/claude-skill-spec-audit".

Source repository stars
15
Declared platforms
1
Static risk flags
1
Last source update
2026-08-17
Source checked
2026-08-28

Decision brief

What it does: where it fits

Check installed skills against the agentskills.io specification and local conventions for metadata completeness.

Best for

  • Use when adding new skills, reviewing skill quality, or ensuring all skills follow the spec.

Not for

  • Tasks that require unconfirmed production actions or broad system permissions.
  • Environments where the pinned source and install steps cannot be inspected.

Compatibility matrix

Platform support, with evidence labels

PlatformStatusEvidenceWhat to check
CodexNot declaredNo explicit evidencePortability before use
Claude CodeDeclaredSource recordInstall path and trigger
CursorNot declaredNo explicit evidencePortability before use
Gemini CLINot declaredNo explicit evidencePortability before use
Open the compatibility checker

Installation

Inspect first. Install second.

The source command is displayed only when detected. A safe inspection prompt is always available so your agent can explain every action before execution.

Source-detected install commandSource
npx skills add https://github.com/jackchuka/skills --skill "claude-skill-spec-audit"
Safe inspection promptEditorial

Inspect the Agent Skill "claude-skill-spec-audit" from https://github.com/jackchuka/skills/blob/93358a1cb4bafddb4dd90a4bae56422315e9922f/claude-skill-spec-audit/SKILL.md at commit 93358a1cb4bafddb4dd90a4bae56422315e9922f. List every install step, command, network request, credential, file read/write, external action, and rollback step. Explain whether it fits my task. Do not install or execute anything until I approve.

Workflow

What the source asks the agent to do

  1. 01

    Workflow

    1. Glob for /.claude/skills//SKILL.md 2. Also check .claude/skills//SKILL.md (project-level) 3. Skip symlinks — those point to .agents/skills/ and have their own conventions 4. If user specified skill names, filter to matching directories 5. Read each SKILL.md frontmatter

    Glob for /.claude/skills//SKILL.mdAlso check .claude/skills//SKILL.md (project-level)Skip symlinks — those point to .agents/skills/ and have their own conventions
  2. 02

    Phase 1: Discover Skills

    1. Glob for /.claude/skills//SKILL.md 2. Also check .claude/skills//SKILL.md (project-level) 3. Skip symlinks — those point to .agents/skills/ and have their own conventions 4. If user specified skill names, filter to matching directories 5. Read each SKILL.md frontmatter

    Glob for /.claude/skills//SKILL.mdAlso check .claude/skills//SKILL.md (project-level)Skip symlinks — those point to .agents/skills/ and have their own conventions
  3. 03

    Phase 2: Validate Each Skill

    For each SKILL.md, check:

    name exists, matches directory name, is lowercase with hyphens only, no consecutive hyphens, 1-64 charsdescription exists, is non-empty, 1-1024 charscompatibility exists (warn if missing — not required by spec but expected locally)
  4. 04

    Phase 3: Report

    Review the “Phase 3: Report” section in the pinned source before continuing.

    Review and apply the “Phase 3: Report” source section.
  5. 05

    Phase 4: Fix (if --fix or user asks)

    For each issue, prompt the user for the value or infer it:

    For each issue, prompt the user for the value or infer it:After fixing, use Edit to insert missing fields before the closing ---.Re-run validation and show updated table.

Permission review

Static risk signals and limitations

Writes files

medium · line 136

The documentation asks the agent to create, modify, or delete local files.

Files: `save to`, `write to`, `create file`

Evidence record

Why each signal appears

EvidenceSourceComputedTestedEditorial
SignalValueEvidence typeMeaning
Quality score93/100ComputedDocumentation, specificity, maintenance, and trust rules
Repository stars15SourceRepository attention, not individual Skill quality
Compatibility1 platformsSourceDeclared in the catalog source record
Usage guideautomated source guideEditorialGenerated or reviewed according to the visible evidence level

Pinned source

Provenance and original SKILL.md

Repository
jackchuka/skills
Skill path
claude-skill-spec-audit/SKILL.md
Commit
93358a1cb4bafddb4dd90a4bae56422315e9922f
License
MIT
Collected
2026-08-28
Default branch
main
View the original SKILL.md

Skill Spec Audit

Check installed skills against the agentskills.io specification and local conventions for metadata completeness.

Arguments

  • Skill names: tokens after the command -> filter to those skills only
  • --fix: automatically add missing fields (prompts for values)
  • Default: scan all non-symlinked skills in ~/.claude/skills/

Spec Requirements (agentskills.io)

FieldRequiredNotes
nameYes1-64 chars, lowercase, hyphens only, must match directory name
descriptionYes1-1024 chars, non-empty
compatibilityNoMax 500 chars, environment requirements
metadataNoArbitrary key-value map
allowed-toolsNoSpace-delimited tool list (experimental)

Naming Conventions

Skill names follow the pattern: [scope]-[platform/org]-[group]-<name-with-layer-suffix>

Rules

  1. Lowercase, kebab-case, no consecutive hyphens, 2-4 words, max 40 chars
  2. Suffix encodes the layer (see "Layer Conventions" below)
  3. Standardized action synonyms: audit (compliance), scan (broad analysis), search (lookup), triage (classify+act)

Scope prefix (required)

Derived from metadata.scope:

ScopePrefixExample
personalp-p-slack-triage, p-daily-standup
organizationo-o-org-release-digest
generic(none)skill-spec-audit, gh-dep-pr-triage

Platform prefix (when single-platform dependent)

PlatformPrefixWhen to use
GitHubgh-Skill requires gh CLI or GitHub API
Gitgit-Skill requires git but not GitHub
Slackslack-Skill requires Slack MCP server
Google Workspacegws-Skill requires gws CLI

Multi-platform or general skills stay unprefixed. If a skill touches 2+ platforms, no platform prefix — the scope prefix alone is enough.

Group prefix (when 2+ skills share a domain)

GroupSkills in group
daily-standup, report, reflection
skill-dry-run, prereq-audit, spec-audit
blog-writer, post-mining
oss-release, release-prep
org-release-digest, incident-investigation, sync-skills-to-plugins

When creating a new skill, check for existing siblings. If a second skill appears in the same domain, retroactively add a shared prefix to both.

Layer Conventions

Every skill is exactly one of four layers, declared via metadata.layer. The suffix of the name must match the layer.

Layermetadata.layerSuffix familyExample
Primitiveprimitiveverb: -read, -list, -fetch, -search, -post, -insert, -append, -query, -get, -scangws-sheets-read
Rendererrendererformat noun (-slides, -docs, -pdf, -card, -message) or agent noun (-writer, -explainer, -namer, -generator)gws-slides, visual-explainer
Workflowworkflowoutcome noun: -digest, -deck, -report, -triage, -audit, -standup, -prep, -recap, -investigationo-tailor-allhands-deck
Referencereference-sharedo-tailor-shared

Reference skills must:

  • End in -shared.
  • Begin their description with: "Internal reference loaded by other <prefix>-* skills. Do not invoke directly."
  • Not appear in user-facing trigger phrases.

See ~/.claude/skills/CONVENTIONS.md for full rationale.

Local Conventions (beyond spec)

These are project-specific conventions enforced on top of the spec:

FieldExpectedValues
argument-hintIf skill accepts argsShort usage hint string
metadata.authorAlwaysMust be present (non-empty)
metadata.scopeAlwaysgeneric, personal, or organization
metadata.layerAlwaysprimitive, renderer, workflow, or reference
metadata.confirmsIf skill has side effectsList of operations requiring user confirmation

Workflow

Phase 1: Discover Skills

  1. Glob for ~/.claude/skills/*/SKILL.md
  2. Also check .claude/skills/*/SKILL.md (project-level)
  3. Skip symlinks — those point to .agents/skills/ and have their own conventions
  4. If user specified skill names, filter to matching directories
  5. Read each SKILL.md frontmatter

Phase 2: Validate Each Skill

For each SKILL.md, check:

Spec compliance:

  1. name exists, matches directory name, is lowercase with hyphens only, no consecutive hyphens, 1-64 chars
  2. description exists, is non-empty, 1-1024 chars
  3. compatibility exists (warn if missing — not required by spec but expected locally)

Naming conventions:

  1. Scope prefix matches metadata.scope: p- for personal, o- for organization, none for generic
  2. Platform prefix present if skill depends on a single platform (gh-, git-, slack-, gws-)
  3. No platform prefix if skill uses 2+ platforms
  4. Action synonym is standardized: audit not review/check, scan not inspect
  5. No single-word names (must have at least one hyphen)
  6. Max 40 chars, 2-4 words
  7. Abbreviations only from allowlist: pr, cli, oss, dep, mcp, gh, gws

Local conventions:

  1. metadata.author is present and non-empty
  2. metadata.scope is one of: generic, personal, organization
  3. metadata.confirms exists if the skill body references any of these patterns:
  • Slack: send_message, post message, post to Slack
  • Git: git commit, git push, create commit, push to remote
  • GitHub: merge, approve, create PR, create issue, create release, gh release
  • Calendar: create event, insert event
  • Files: save to, write to, create file
  • Install: brew install, install
  1. argument-hint exists if the skill body references arg parsing, ## Arguments, or accepts parameters

Phase 3: Report

Print a table:

## Skill Spec Audit

| Skill | name | naming | desc | compat | author | scope | confirms | arg-hint | Issues |
|-------|------|--------|------|--------|--------|-------|----------|----------|--------|
| gh-dep-pr-triage | ok | ok | ok | ok | ok | ok | ok | — | 0 |
| p-blog-writer | ok | ok | ok | ok | ok | ok | ok | ok | 0 |
| new-skill | ok | MISS:scope-prefix | ok | MISS | MISS | MISS | WARN | — | 4 |

Legend: ok = present and valid, MISS = missing, WARN = likely needed but missing, — = not applicable
Summary: N skills checked, M fully compliant, X issues found

Phase 4: Fix (if --fix or user asks)

For each issue, prompt the user for the value or infer it:

FieldInference strategy
compatibilityScan for CLI tools, MCP servers in body -> suggest "Requires X, Y"
metadata.authorInfer from existing skills or ask user
metadata.scopeAsk user: generic, personal, or organization?
metadata.confirmsExtract side-effect patterns from body, present list for confirmation
argument-hintExtract from ## Arguments section if present, otherwise ask

After fixing, use Edit to insert missing fields before the closing ---.

Re-run validation and show updated table.

Determining metadata.scope

ScopeCriteria
genericWorks for anyone, no personal/org-specific data
personalReferences your specific accounts, channels, search terms, voice
organizationReferences company repos, internal tools, team-specific workflows

Determining metadata.confirms

Only add confirms if the skill can perform irreversible or externally-visible operations. Read-only skills (scanning, searching, reporting) do NOT need confirms.

Common confirms patterns:

Operationconfirms entry
Post Slack messagesend Slack messages
Merge PRmerge PRs
Approve PRapprove PRs
Create GitHub issuecreate GitHub issues
Create GitHub releasecreate GitHub releases
Create calendar eventcreate calendar event
Git commitcreate git commit
Git pushpush to remote
Write filessave to filesystem
Install toolsinstall missing tools
Create PRcreate PR
Modify settingsmodify settings files

Frequently asked questions

What to verify before installation and use

What does the claude-skill-spec-audit source document cover?

Check installed skills against the agentskills.io specification and local conventions for metadata completeness.

How do I install claude-skill-spec-audit?

The source record exposes this install command: npx skills add https://github.com/jackchuka/skills --skill "claude-skill-spec-audit". Inspect the command and pinned source before running it.

Which Agent platforms does the source record declare?

The pinned source record declares support for: claude code.

Which permission-related actions were detected?

Static rules flagged write-files in the source; the page lists the matching lines and excerpts.

Alternatives

Compare before choosing