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
docs/quickstart.md— keys, example pdf, live checkdocs/pack.md—evals/cases.yamlschema 1, fixtures, goldens, historydocs/plans/0.5-decisions.md— 0.5 live-only / explicit keys- Score live checks with your OpenAI key — optional; OpenAI key scores live checks
docs/ui.md— local React UI (skillgate ui), red path, Docker stayscheck /packdocs/proof/PUBLISH.md— secret scan, tag, PyPI Trusted Publishing, GHCR
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)
| File | Size | Uploaded | |
|---|---|---|---|
| skillgate_ai-0.5.1.tar.gz | 562.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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 logRelease 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