# Skill Release Gate

> Evaluate an Agent Skill bundle for structural integrity, trigger quality, artifact improvement, script correctness, safety, installed-tree integrity, and target-host portability before release.

- Skill: `gabrielmoreira/skill-release-gate` (Agent Skill)
- Install (CLI): `npx skillmds@latest add gabrielmoreira/skill-release-gate`
- Raw SKILL.md: https://api.skillmd.com/api/skills/gabrielmoreira/skill-release-gate/raw
- Safety review: pending (external: skill-scanner PASS, skillspector CAUTION)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: AI & ML
- License: MIT
- Author: gabrielmoreira (https://skillmd.com/u/gabrielmoreira)
- Updated: 2026-09-09
- Page: https://skillmd.com/skills/gabrielmoreira/skill-release-gate

---


# Skill release gate

Use this skill before publishing or distributing an Agent Skill directory bundle.

## Workflow

1. Resolve `SKILL_ROOT` to the absolute directory containing this installed
   `SKILL.md`. Do not assume the process cwd is the installed bundle.
2. Resolve `TARGET_ROOT` from the original workspace working directory and
   resolve the user-supplied candidate as an absolute `TARGET_BUNDLE`.
3. Read `references/eval-contract.md` from `SKILL_ROOT`.
4. Inspect the positive and near-miss trigger cases in
   `evals/cases.json` under `TARGET_BUNDLE`.
5. Inspect the shared baseline and with-skill assertions in
   `evals/artifacts.json` under `TARGET_BUNDLE`.
6. Inspect the explicit script and safety results in
   `evals/evidence.json` under `TARGET_BUNDLE`.
7. Inspect the declared runtime capabilities in
   `assets/hosts.json` under `TARGET_BUNDLE` and verify the target file hashes
   against its `assets/manifest.json`.
8. For production, replace deterministic predictions, artifacts, evidence,
   and host capabilities with captured results; set all four captured modes;
   and bind every raw trigger observation, both artifacts, the complete
   evidence set, and the non-empty host matrix to non-empty sources and
   matching SHA-256 provenance digests. These local checks can set
   `localEvidenceReady`, but locally recomputable hashes do not prove capture.
9. Obtain an external JSON attestation whose `evidenceRoot` matches the report,
   plus the SHA-256 of its exact bytes from a separate trusted policy or
   release channel. The attestation must be a regular file outside the target
   bundle.
10. Before execution, show the exact resolved argv. The installed evaluator is
    `scripts/evaluate_skill.py` under `SKILL_ROOT`. For the shipped lesson
    fixture, build argv from `python3`, that absolute evaluator path,
    `--fixture-demo`, and the absolute `TARGET_BUNDLE`. For production, use the
    same installed script with `--attestation`,
    `--trusted-attestation-sha256`, and the absolute `TARGET_BUNDLE`, without
    `--fixture-demo`.
11. Return `checksPassed`, `fixturePassed`, `localEvidenceReady`,
    `trustAnchorValid`, `productionReady`, and `passed` with the evidence root,
    evaluation modes, failed checks, precision, recall, every raw trigger
    observation, per-case repeated-run rates, artifact comparison, script and
    safety evidence, installed-tree verification, and portability matrix.
    Include the resolved script path, resolved target path, cwd, exact argv,
    and exit code. Mark unavailable observations unverified.

## Output contract

Return the complete JSON evaluation report. Preserve every layer-specific check and its evidence so a passing aggregate cannot hide a routing, artifact, script, safety, installed-tree, or portability failure. `fixturePassed` reports a successful teaching fixture. `localEvidenceReady` reports only local digest integrity. `passed` is true only when `productionReady` also has a valid out-of-bundle trust anchor.

## Failure behavior

If configuration is invalid, provenance is absent or mismatched, the trusted attestation is missing or invalid, a file hash differs, a required capability is absent, or any production gate fails, stop with a nonzero result and report the failed layer. The explicit `--fixture-demo` path may exit successfully only when `fixturePassed` is true, and it never makes a release claim. Never publish, install elsewhere, repair evidence, create the trust decision, or weaken a threshold automatically.

Do not publish a bundle merely because SKILL.md parses or one positive prompt activates. Do not label a package portable when a target drops required companion files or ignores required runtime extensions.

