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.0

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.0
- 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.0

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.0
File Size Uploaded
skillgate_ai-0.5.0.tar.gz 551.6 kB Details

Built distribution (wheel)

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

Total release size: 1.1 MB

Release files / skillgate_ai-0.5.0.tar.gz

Download URL skillgate_ai-0.5.0.tar.gz
Size 551.6 kB
Tags Source
SHA-256 checksum
How to use checksums
6b791b17b00d450dce1820c31af69520a6863c9fbadd8775da670e454b7af969
BLAKE2b-256 checksum
How to use checksums
cb1cf6f9101bfed0f7eaa81063861e77b07b719f9ab4c49f58154af6485fdd05
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.0-py3-none-any.whl

Download URL skillgate_ai-0.5.0-py3-none-any.whl
Size 543.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
5866f64537806f57608e61e6e2e80a03f4e66d3d640054a5fffc7c1e1beebe6d
BLAKE2b-256 checksum
How to use checksums
53cdbe11545481facaa6672c8085b1a7071225fb4d57e7afed3d4ce072c2f8e0
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

0.5.1

2 release files

This release

0.5.0 This release

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