Skip to main content

The quality gate for Agent Skills — validate, secure, conflict-detect, and test skills across their full lifecycle

Project description

skill-guard

The quality gate for Agent Skills.

PyPI version License Python 3.11+

skill-guard is a CLI tool that validates, secures, and governs Agent Skills across their full lifecycle — from contribution to production monitoring.

The Problem

Agent Skills are powerful. They're also ungoverned. As soon as more than one person contributes skills to a shared agent, things break in hard-to-diagnose ways:

  • A new skill's description overlaps with an existing one → agent picks the wrong skill half the time
  • Skills with dangerous scripts get merged because nobody reviewed the scripts/ directory
  • Nobody knows what skills are installed, who owns them, or whether they still work
  • A skill passes every test in isolation but fails when the real agent uses it with 25 other skills loaded

skill-guard is the quality gate that catches these problems before they reach production.

What It Does

ONBOARDING (pre-merge, in CI):
  skill-guard validate   → format compliance + quality scoring
  skill-guard secure     → scan for dangerous patterns  
  skill-guard conflict   → detect trigger overlap with existing skills
  skill-guard test       → inject into staging agent, run evals [requires --agent-url]
  skill-guard check      → run all four as a single gate

ONGOING (post-merge, scheduled):
  skill-guard monitor    → re-run evals, detect drift, manage lifecycle
  skill-guard catalog    → searchable registry of approved skills

Quick Start

pip install skill-guard

# Initialize in your skills repo
skill-guard init

# Validate a skill
skill-guard validate ./skills/my-skill/

# Check for security issues
skill-guard secure ./skills/my-skill/

# Check for conflicts with existing skills
skill-guard conflict ./skills/my-skill/ --against ./skills/

# Run the full gate (validate + secure + conflict)
skill-guard check ./skills/my-skill/ --against ./skills/

Example Output

$ skill-guard validate ./skills/my-skill/

 skill-guard validate — my-skill
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ Check                     ┃ Result                                           ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┩
│ skill_md_exists           │ ✅ SKILL.md found                                │
│ valid_yaml_frontmatter    │ ✅ Valid YAML frontmatter                        │
│ name_field_present        │ ✅ name: my-skill                                │
│ description_field_present │ ✅ description field present                     │
│ directory_name_matches    │ ✅ Directory name matches skill name             │
│ description_trigger_hint  │ ✅ Description contains trigger hint ('Use when')│
│ no_broken_body_paths      │ ✅ No broken relative paths in SKILL.md body     │
│ evals_directory_exists    │ ⚠️ No evals/ directory found                     │
│                           │ → Create evals/config.yaml with test cases       │
│ metadata_has_author       │ ✅ author: my-team                               │
│ metadata_has_version      │ ✅ version: 1.0                                  │
└───────────────────────────┴──────────────────────────────────────────────────┘
Score: 97/100 | Grade: A | Blockers: 0 | Warnings: 1

Installation

# Core (static analysis — no agent required)
pip install skill-guard

# With embedding-based conflict detection
pip install skill-guard[embeddings]

Requires Python 3.11+.

Documentation

What skill-guard Does NOT Do

  • Does not replace Anthropic's skill-creator for writing skills
  • Does not host or serve skills — skills live in your repo
  • Does not modify skills — it reports issues, authors fix them
  • Does not require a database or server — the catalog is a YAML file in your repo

Contributing

See CONTRIBUTING.md. We welcome contributions of all kinds.

License

Apache 2.0. See LICENSE.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

skill_guard-0.4.3.tar.gz (64.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

skill_guard-0.4.3-py3-none-any.whl (45.3 kB view details)

Uploaded Python 3

File details

Details for the file skill_guard-0.4.3.tar.gz.

File metadata

  • Download URL: skill_guard-0.4.3.tar.gz
  • Upload date:
  • Size: 64.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for skill_guard-0.4.3.tar.gz
Algorithm Hash digest
SHA256 91a210a6ea96792bfa379c7f0139b690cc860d9e570379873e0c881aad7377b7
MD5 7ea87c5d2416f920fa2790d6f60ff206
BLAKE2b-256 b77312c076f9b3c2ea16c0b39431d727436958d17ff94c547a9d935f200643f3

See more details on using hashes here.

Provenance

The following attestation bundles were made for skill_guard-0.4.3.tar.gz:

Publisher: publish.yaml on vaibhavtupe/skill-guard

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file skill_guard-0.4.3-py3-none-any.whl.

File metadata

  • Download URL: skill_guard-0.4.3-py3-none-any.whl
  • Upload date:
  • Size: 45.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for skill_guard-0.4.3-py3-none-any.whl
Algorithm Hash digest
SHA256 87c0a090b59754bd0772c4bcb8bd64a0cffcc6a92b12a6b227ee8247507a81b1
MD5 5dcecb256007ddc77fcce5c4cb34f3bc
BLAKE2b-256 7d1e6f6c3d7b1e42dd0e63b9ac0b9483e61738f4fd39f6078f7ca9a6a73bf790

See more details on using hashes here.

Provenance

The following attestation bundles were made for skill_guard-0.4.3-py3-none-any.whl:

Publisher: publish.yaml on vaibhavtupe/skill-guard

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page