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-07-28
Source checked
2026-07-28

Decision brief

What it does—and 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/7b0b33f68b8f11522e43622e5cb3bacd802999d2/claude-skill-spec-audit/SKILL.md at commit 7b0b33f68b8f11522e43622e5cb3bacd802999d2. 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
7b0b33f68b8f11522e43622e5cb3bacd802999d2
License
MIT
Collected
2026-07-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

Alternatives

Compare before choosing

Computed 8615

Servosity/msp-skills

rewst

Use when the user asks to check Rewst automation health, find failed or dormant workflows, report automation ROI/time-saved, compare config drift between client orgs, or check integration-pack coverage across tenants. Turns Rewst's GraphQL-only gateway into typed commands and adds cross-org rollups the web app makes you assemble one client at a time. Trigger phrases: `check rewst automation health`, `rewst failed workflows`, `how much time did rewst save`, `rewst config drift between orgs`, `whi

Computed 85234,327

affaan-m/ECC

autonomous-agent-harness

Transform Claude Code into a fully autonomous agent system with persistent memory, scheduled operations, computer use, and task queuing. Replaces standalone agent frameworks (Hermes, AutoGPT) by leveraging Claude Code's native crons, dispatch, MCP tools, and memory. Use when the user wants continuous autonomous operation, scheduled tasks, or a self-directing agent loop.

Computed 85234,327

affaan-m/ECC

dmux-workflows

Multi-agent orchestration using dmux (tmux pane manager for AI agents). Patterns for parallel agent workflows across Claude Code, Codex, OpenCode, and other harnesses. Use when running multiple agent sessions in parallel or coordinating multi-agent development workflows.

Computed 8515

Servosity/msp-skills

servosity

Use when the user asks where their attention is needed across Servosity clients, which backups went stale, what changed since yesterday, to build QBR backup reports, draft stale-backup follow-up emails, watch restore queues during a DR event, reconcile the Servosity bill, or find unprovisioned agents. Wraps the Servosity partner API plus a local fleet mirror with snapshot history. Trigger phrases: `what needs my attention on servosity`, `fleet stale backups`, `show me the QBR backup report for`,