This proves the GitHub job identity and recorded observations at issuance time. It does not prove that every test passed or that the observed deployment contains this commit.
Your coding agent says it shipped. Check the slip.
ProofSlip gives you a checkable link showing which GitHub Actions job released which commit—so you or the next coding agent can verify the claim before moving on.
From install to a checkable release in three steps.
No new dashboard and no ProofSlip login. Add the open-source skill, ask your favourite coding agent to wire it into the real release workflow, and get a proof URL on the next release.
Add the skill once
This teaches your agent how to add release proof safely and how to inspect an existing slip.
npx skills add Johnny-Z13/proofslip --skill proofslip-release-proof
Install the proofslip-release-proof skill from https://github.com/Johnny-Z13/proofslip using the skills CLI. Then inspect this repository's real release workflow and explain what ProofSlip would change. Do not edit yet.
Prompt your favourite agent
It finds the workflow that actually releases the project and shows you the smallest safe patch first.
Get the proof URL
After the next release, the Actions summary contains a portable slip for the exact job and commit.
Every fact says where it came from.
A release proof is useful only if provider facts, ProofSlip observations, and workflow-supplied context never blur together.
Provider-verified
Claims cryptographically tied to a valid GitHub Actions OIDC token.
- repository and owner
- commit SHA and ref
- workflow, run, actor and event
ProofSlip-observed
Facts ProofSlip measured directly at the moment the proof was issued.
- deployment URL requested
- HTTP status and latency
- observation timestamp
Submitted, not verified
Useful labels supplied by the workflow, visibly separated from evidence.
- environment label
- release name
- human-readable context
A proof with limits is stronger than a bigger claim.
One release. One portable proof.
Release from GitHub Actions
Your workflow requests a short-lived OIDC token scoped to the ProofSlip audience.
Issue the slip
ProofSlip verifies GitHub's signature and required claims, records optional observations, and stores an immutable proof.
Check before continuing
The next agent fetches the proof URL and sees the exact verified facts, limits, and expiry.
Add a slip, or check one you received.
The readable skill can inspect an existing release proof, or prepare the smallest GitHub Actions change in the workflow that actually releases your project. It asks before editing and never commits, pushes, or releases on its own.
Add release proof after your release job.
The release workflow grants OIDC permission, requests a token for ProofSlip, and exchanges it for a public proof URL.
permissions:
contents: read
id-token: write
steps:
- name: Create ProofSlip release proof
shell: bash
run: |
TOKEN="$(curl -fsS \
-H "Authorization: Bearer $ACTIONS_ID_TOKEN_REQUEST_TOKEN" \
"${ACTIONS_ID_TOKEN_REQUEST_URL}&audience=https%3A%2F%2Fproofslip.ai" \
| jq -r '.value')"
RESPONSE="$(curl -fsS -X POST \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
https://proofslip.ai/v1/proofs/releases/github-actions \
--data '{"idempotency_key":"${{ github.repository }}:${{ github.run_id }}:${{ github.run_attempt }}"}')"
PROOF_URL="$(jq -r '.proof_url' <<< "$RESPONSE")"
echo "### [View release proof]($PROOF_URL)" >> "$GITHUB_STEP_SUMMARY"
Fetch the proof. Read the provenance. Decide.
Machine-readable
Public JSON exposes provider claims, ProofSlip observations, submitted context, validity, and expiry as separate fields.
Human-readable
The same proof opens as an evidence page with direct links to the exact GitHub run and commit.