Best for
- Use when adding new skills, reviewing skill quality, or ensuring all skills follow the spec.
jackchuka/skills/claude-skill-spec-audit/SKILL.md
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".
Decision brief
Check installed skills against the agentskills.io specification and local conventions for metadata completeness.
Compatibility matrix
| Platform | Status | Evidence | What to check |
|---|---|---|---|
| Codex | Not declared | No explicit evidence | Portability before use |
| Claude Code | Declared | Source record | Install path and trigger |
| Cursor | Not declared | No explicit evidence | Portability before use |
| Gemini CLI | Not declared | No explicit evidence | Portability before use |
Installation
The source command is displayed only when detected. A safe inspection prompt is always available so your agent can explain every action before execution.
npx skills add https://github.com/jackchuka/skills --skill "claude-skill-spec-audit"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
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
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
For each SKILL.md, check:
Review the “Phase 3: Report” section in the pinned source before continuing.
For each issue, prompt the user for the value or infer it:
Permission review
The documentation asks the agent to create, modify, or delete local files.
Files: `save to`, `write to`, `create file`Evidence record
| Signal | Value | Evidence type | Meaning |
|---|---|---|---|
| Quality score | 93/100 | Computed | Documentation, specificity, maintenance, and trust rules |
| Repository stars | 15 | Source | Repository attention, not individual Skill quality |
| Compatibility | 1 platforms | Source | Declared in the catalog source record |
| Usage guide | automated source guide | Editorial | Generated or reviewed according to the visible evidence level |
Pinned source
Check installed skills against the agentskills.io specification and local conventions for metadata completeness.
~/.claude/skills/| Field | Required | Notes |
|---|---|---|
name | Yes | 1-64 chars, lowercase, hyphens only, must match directory name |
description | Yes | 1-1024 chars, non-empty |
compatibility | No | Max 500 chars, environment requirements |
metadata | No | Arbitrary key-value map |
allowed-tools | No | Space-delimited tool list (experimental) |
Skill names follow the pattern: [scope]-[platform/org]-[group]-<name-with-layer-suffix>
audit (compliance), scan (broad analysis), search (lookup), triage (classify+act)Derived from metadata.scope:
| Scope | Prefix | Example |
|---|---|---|
personal | p- | p-slack-triage, p-daily-standup |
organization | o- | o-org-release-digest |
generic | (none) | skill-spec-audit, gh-dep-pr-triage |
| Platform | Prefix | When to use |
|---|---|---|
| GitHub | gh- | Skill requires gh CLI or GitHub API |
| Git | git- | Skill requires git but not GitHub |
| Slack | slack- | Skill requires Slack MCP server |
| Google Workspace | gws- | 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 | Skills 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.
Every skill is exactly one of four layers, declared via metadata.layer. The
suffix of the name must match the layer.
| Layer | metadata.layer | Suffix family | Example |
|---|---|---|---|
| Primitive | primitive | verb: -read, -list, -fetch, -search, -post, -insert, -append, -query, -get, -scan | gws-sheets-read |
| Renderer | renderer | format noun (-slides, -docs, -pdf, -card, -message) or agent noun (-writer, -explainer, -namer, -generator) | gws-slides, visual-explainer |
| Workflow | workflow | outcome noun: -digest, -deck, -report, -triage, -audit, -standup, -prep, -recap, -investigation | o-tailor-allhands-deck |
| Reference | reference | -shared | o-tailor-shared |
Reference skills must:
-shared."Internal reference loaded by other <prefix>-* skills. Do not invoke directly."See ~/.claude/skills/CONVENTIONS.md for full rationale.
These are project-specific conventions enforced on top of the spec:
| Field | Expected | Values |
|---|---|---|
argument-hint | If skill accepts args | Short usage hint string |
metadata.author | Always | Must be present (non-empty) |
metadata.scope | Always | generic, personal, or organization |
metadata.layer | Always | primitive, renderer, workflow, or reference |
metadata.confirms | If skill has side effects | List of operations requiring user confirmation |
~/.claude/skills/*/SKILL.md.claude/skills/*/SKILL.md (project-level).agents/skills/ and have their own conventionsFor each SKILL.md, check:
Spec compliance:
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)Naming conventions:
metadata.scope: p- for personal, o- for organization, none for genericgh-, git-, slack-, gws-)audit not review/check, scan not inspectpr, cli, oss, dep, mcp, gh, gwsLocal conventions:
metadata.author is present and non-emptymetadata.scope is one of: generic, personal, organizationmetadata.confirms exists if the skill body references any of these patterns:send_message, post message, post to Slackgit commit, git push, create commit, push to remotemerge, approve, create PR, create issue, create release, gh releasecreate event, insert eventsave to, write to, create filebrew install, installargument-hint exists if the skill body references arg parsing, ## Arguments, or accepts parametersPrint 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
For each issue, prompt the user for the value or infer it:
| Field | Inference strategy |
|---|---|
compatibility | Scan for CLI tools, MCP servers in body -> suggest "Requires X, Y" |
metadata.author | Infer from existing skills or ask user |
metadata.scope | Ask user: generic, personal, or organization? |
metadata.confirms | Extract side-effect patterns from body, present list for confirmation |
argument-hint | Extract 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.
metadata.scope| Scope | Criteria |
|---|---|
generic | Works for anyone, no personal/org-specific data |
personal | References your specific accounts, channels, search terms, voice |
organization | References company repos, internal tools, team-specific workflows |
metadata.confirmsOnly 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:
| Operation | confirms entry |
|---|---|
| Post Slack message | send Slack messages |
| Merge PR | merge PRs |
| Approve PR | approve PRs |
| Create GitHub issue | create GitHub issues |
| Create GitHub release | create GitHub releases |
| Create calendar event | create calendar event |
| Git commit | create git commit |
| Git push | push to remote |
| Write files | save to filesystem |
| Install tools | install missing tools |
| Create PR | create PR |
| Modify settings | modify settings files |
Alternatives
Servosity/msp-skills
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
affaan-m/ECC
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.
affaan-m/ECC
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.
Servosity/msp-skills
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`,