## Attach a transcript to pass this check
Every commit must have a transcript of the work behind it. The easiest way is to run the `finish-pr` skill — it uploads this session's transcript automatically.
### Submit manually (e.g. from an agent)
```bash
curl -X POST https://transcript-check.demo.vectara.dev/transcripts \
-H "X-Upload-Token: $TRANSCRIPT_CHECK_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"owner": "<owner>",
"repo": "<repo>",
"head_sha": "<commit-sha>",
"pr_number": <PR_NUMBER>,
"author": "<your name>",
"type": "claude-code-jsonl",
"content": "<the transcript>"
}'
```
`type` is one of:
- `claude-code-jsonl` — a Claude Code session transcript; parsed and summarized.
- `text` — plain text; redacted and shown as-is.
- `html` — a pre-rendered HTML artifact; shown as-is.
- `link` — a single URL (e.g. an oncall Slack thread); shown as a clickable link.
A Slack thread link in the PR description is detected and attached automatically — no upload needed.
After a successful upload this check turns green and links to the rendered transcript.
### No machine transcript?
Use one of the buttons on the failing check to attest manually (e.g. you wrote the commit by hand). The attestation is recorded as the commit's transcript.