Skip to main content

skillgate-ai

Apache-2.0 local gate for Agent Skills: one pack on disk plus skillgate check exiting 0, 1, or 2. No Skill Gate account. Every check is a live model run with a key you set in Skill Gate.

Requires Python 3.11+. Install from PyPI:

pip install skillgate-ai

(pip install skillgate is a different project.) CLI command: skillgate.

10 minutes, no account

python3 -m venv .venv && source .venv/bin/activate
pip install skillgate-ai
skillgate keys set OPENAI_API_KEY   # hidden prompt; or pipe stdin. Or paste in Settings (`skillgate ui`)
skillgate example pdf
skillgate check pdf

From a clone of this repo, pip install -e . works the same once the virtualenv is on Python 3.11+.

Optional local UI (same engine, no account): skillgate ui → http://127.0.0.1:8765. See docs/ui.md. Docker still runs skillgate check /pack (exit 2 until a key is mounted).

--expect-fail inverts the exit code (CI for a skill that should fail):

skillgate example pdf-sabotaged
skillgate check pdf-sabotaged --expect-fail   # exit 0 after a live red run

skillgate deploy pdf copies only the skill files (not evals/) into Cursor, Claude, or Codex only if this pack already has a passing check. It does not run check for you.

skillgate check pdf
skillgate deploy pdf

Create a workspace and a new skill (same as the UI):

skillgate init
skillgate new notes-helper

Docker

Image ENTRYPOINT is skillgate; default CMD is check /pack (never serve). Without a key, that exits 2.

docker compose run --rm --no-TTY skillgate example pdf --dest /tmp/pdf

Public image tag:

docker run --rm -v "$PWD/pdf:/pack:ro" \
  -e SKILLGATE_OPENAI_API_KEY \
  ghcr.io/vigneshm1995personal/skillgate:v0.5.1

A :ro mount skips writing evals/history/*.jsonl (not writable). Compose mounts the pack read-write so history can append.

Copy-paste GitHub Action

Working directory is the skill pack. Exit 1 fails the job. No account. Needs Python 3.11+ and a key (Skill Gate does not read OPENAI_API_KEY unless you pass --key-env).

- uses: actions/setup-python@v5
  with: { python-version: "3.12" }
- run: pip install skillgate-ai==0.5.1
- run: skillgate check . --key-env OPENAI_API_KEY
  env:
    OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}

Or set SKILLGATE_OPENAI_API_KEY in the job env instead of --key-env.

Docs

Keys live in {project}/.skillgate/keys (gitignored, mode 0600). Ambient OPENAI_API_KEY / AI_GATEWAY_API_KEY are ignored unless you pass --key-env. See .env.example for non-secret config.

Layout

skills/<name>/SKILL.md
skills/<name>/evals/cases.yaml
src/skillgate_ai/     # this package

Metadata

Release files for skillgate-ai 0.5.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for skillgate-ai 0.5.1
File Size Uploaded
skillgate_ai-0.5.1.tar.gz 562.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for skillgate-ai 0.5.1
File Interpreter ABI Platform
skillgate_ai-0.5.1-py3-none-any.whl Python 3 none any Details

Total release size: 1.1 MB

Release files / skillgate_ai-0.5.1.tar.gz

Download URL skillgate_ai-0.5.1.tar.gz
Size 562.7 kB
Tags Source
SHA-256 checksum
How to use checksums
197c04926dd9c277080bdd679da116280f79a839463334a78af139a0f64409c1
BLAKE2b-256 checksum
How to use checksums
85366a94179d63d9947244f323249a363f59bf3fb9782532f5769f79ac08700b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 11, 2026.

Transparency log

Release files / skillgate_ai-0.5.1-py3-none-any.whl

Download URL skillgate_ai-0.5.1-py3-none-any.whl
Size 547.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
9794f8520d2e70defe64e04a21ec6b160e427518e325f74074b75f9b15a1f082
BLAKE2b-256 checksum
How to use checksums
6a5f106076c3c5d20fd7428f684311fa2241706a91c82356be9198b0789530df
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 11, 2026.

Transparency log

Release history Release notifications | RSS feed

0.7.9

2 release files

0.7.8

2 release files

0.7.7

2 release files

0.7.5

2 release files

0.7.4

2 release files

0.7.3

2 release files

0.7.2

2 release files

0.7.1

2 release files

0.7.0

2 release files

0.6.1

2 release files

0.6.0

2 release files

This release

0.5.1 This release

2 release files

0.5.0

2 release files

0.4.2

2 release files

0.4.1

2 release files

0.4.0

2 release files

0.3.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page