skillgate
Apache-2.0 local gate for Agent Skills: one pack on disk plus skillgate check exiting 0 or 1. No Skill Gate account. Deterministic fixture checks need no API key.
PyPI distribution: skillgate-ai (pip install skillgate is a different project). CLI command: skillgate.
Hosted product (SIWV, vault, Neon, dashboard) stays private at vigneshm1995personal/skillgate-ai and will never be made public.
10 minutes, no account
python3 -m venv .venv && source .venv/bin/activate
pip install -e .
skillgate check skills/pdf-sabotaged # exit 1 — description never matches PDF tasks
# copy SKILL.md from skills/pdf (or paste the CLI “Corrected SKILL.md description”)
skillgate check skills/pdf # exit 0
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.
--expect-fail inverts the exit code (CI for the sabotaged twin):
skillgate check skills/pdf-sabotaged --expect-fail # exit 0
Docker
Image ENTRYPOINT is skillgate; default CMD is check /pack (never serve).
docker compose run --rm --no-TTY skillgate
# bind-mount a pack:
PACK=./skills/pdf-sabotaged docker compose run --rm --no-TTY skillgate
# exit 1
After the first public tag:
docker run --rm -v "$PWD/skills/pdf:/pack:ro" \
ghcr.io/vigneshm1995personal/skillgate:v0.4.0
A :ro mount skips writing evals/history/*.jsonl (EACCES). 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.
- uses: actions/setup-python@v5
with: { python-version: "3.12" }
- run: pip install skillgate-ai==0.4.0
- run: skillgate check .
Until the first PyPI release, CI in this repo uses pip install -e ..
Docs
docs/quickstart.md— red sabotaged → green pdfdocs/pack.md—evals/cases.yamlschema 1, fixtures, goldens, history- Extract plan — allowlist / deny-list
- Local UI + setup wizard plan —
skillgate ui(local stdlib UI; not hostedserve) - Score live checks with your OpenAI key — optional;
OPENAI_API_KEYscores live checks. Built-in checker if unset. - OpenAI judge plan — implementation plan
docs/ui.md— start the local UI, red path, Docker stayscheck /packdocs/proof/PUBLISH.md— secret scan, tag, PyPI Trusted Publishing, GHCR (owner UI; do not flip public from CI)
BYO keys (Cursor / Codex / OpenAI-compatible / Anthropic) run the live check. An OpenAI key also scores live checks. Skip keys for the built-in checker (not a live model). See .env.example and docs/openai-judge.md.
Optional Action secret: OPENAI_API_KEY (not required to merge).
Metadata
Release files for skillgate-ai 0.4.0
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.4.0.tar.gz | 135.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| skillgate_ai-0.4.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 263.0 kB
Release files / skillgate_ai-0.4.0.tar.gz
| Download URL | skillgate_ai-0.4.0.tar.gz |
|---|---|
| Size | 135.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
097e7e3172618d3c4bdb37157fa38810196b50c1446bfbf3b40e3d60d0a2d929
|
|
BLAKE2b-256 checksum How to use checksums |
c37645ebefdbd1d26c9be924bb189888a1f19d5f98d8203429597104dd734e04
|
| 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 9, 2026.
Transparency logRelease files / skillgate_ai-0.4.0-py3-none-any.whl
| Download URL | skillgate_ai-0.4.0-py3-none-any.whl |
|---|---|
| Size | 127.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
9bcd6e84227c7424557b4e218952b8b1aadd778982231a961bdae0285c8e2861
|
|
BLAKE2b-256 checksum How to use checksums |
24765d9b9d75959b872c7d8654ce6025fd20de14cf56a722fa4879a6c960fdbe
|
| 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 9, 2026.
Transparency log