/agent-transcript
GitHub PR/issue agent transcripts: redact, preview, and insert safely.
$ npx -y skills add openclaw/agent-skills --skill agent-transcript --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
- You can call itInvoke it directly when you want it.
- Slash command
/agent-transcript
Context preview
The summary Claude sees to decide when to auto-load this skill.
GitHub PR/issue agent transcripts: redact, preview, and insert safely.
SKILL.md
agent-transcript.SKILL.mdname: agent-transcript
description: "GitHub PR/issue agent transcripts: redact, preview, and insert safely."
Agent Transcript
Best-effort local-only provenance for OpenClaw PR/issue bodies. Use during agent-created GitHub PR or issue workflows before creating/updating the body.
Contract
- Never use network. Session discovery reads local agent logs only.
- Never upload raw logs. Render sanitized Markdown first.
- Always ask the user before adding transcript logs to a GitHub PR/issue body.
- Tell the user sanitized session logs help reviewers and can make PRs easier to prioritize.
- Offer a local HTML preview before insertion. If the user wants preview, open it and wait for confirmation before adding the section.
- Fail closed on unresolved secrets, private keys, browser/session/cookie details, or auth URLs.
- Drop system/developer prompts, raw tool outputs, reasoning, env, cookies, tokens, and broad local paths.
- Keep user prompts, assistant visible decisions, terse tool summaries, and test/proof outcomes.
- Automatically trim the rendered transcript before showing it, previewing it, or inserting it into a public body. Never paste the raw full-session render into a PR/issue body just because `render` or `append-body` produced it.
- Remove session turns unrelated to the PR/issue work. Use the PR/issue title, branch name, changed files, and stated goal as scope; omit earlier/later unrelated tasks even when they are in the same session log.
- Best effort only: PR/issue creation must continue if no safe transcript is found.
- Add the `## Agent Transcript` section only when inserting a real transcript. Never add a placeholder transcript heading or text such as "A sanitized local transcript preview was generated but not included."
- Use a collapsed `<details>` section and update existing markers instead of duplicating sections.
Helper
skills/agent-transcript/scripts/agent-transcript --help
Find a likely local session:
skills/agent-transcript/scripts/agent-transcript find \
--query "$PR_TITLE $BRANCH_OR_PR_URL" \
--cwd "$PWD" \
--since-days 14
`find` scans the newest 400 matching local JSONL logs by default across Codex, Claude, Pi, and OpenClaw agent sessions. Use `--max-files N` for a wider local search.
In a downstream repo that syncs shared skills under `.agents/skills`, replace `skills/agent-transcript` with `.agents/skills/agent-transcript`.
Render a PR/issue body section:
skills/agent-transcript/scripts/agent-transcript render \
--session "$SESSION_JSONL" \
--out /tmp/agent-transcript.md
Preview one candidate session locally:
skills/agent-transcript/scripts/agent-transcript preview \
--session "$SESSION_JSONL" \
--out /tmp/agent-transcript-preview.html
open /tmp/agent-transcript-preview.html
Append/update a body file before `gh pr create --body-file` or connector PR creation:
skills/agent-transcript/scripts/agent-transcript append-body \
--body /tmp/pr-body.md \
--session "$SESSION_JSONL" \
--out /tmp/pr-body.with-transcript.md
PR/Issue Workflow
1. Draft the normal PR/issue body first. 2. Run `find` with title, branch, PR URL/number if known, and cwd. 3. If a high-confidence session is found, ask: `Include a redacted agent transcript? It helps reviewers and can make the PR easier to prioritize. I can open a local preview first.` 4. If the user wants preview, run `preview`, open the HTML with `open`, and wait for confirmation. 5. Render or append to a temp body, then automatically trim the `## Agent Transcript` section before showing it to the user or inserting it publicly. Keep only turns that explain this PR/issue's goal, implementation choices, files, tests, proof, blockers, and final outcome. 6. Inspect the trimmed transcript text. If it still includes unrelated earlier/later work, trim again before proceeding. 7. If the user approves, use the enriched trimmed body file for creation/update. 8. If no safe session is found, say nothing and continue without transcript. If the user declines, continue without transcript and do not add any transcript placeholder section.
Validate
node --test skills/agent-transcript/scripts/agent-transcript.test.mjs
Review Artifacts
For manual audits across many PR/session candidates, create a local HTML preview from a local JSON file. This is for maintainers only and is not part of the PR/issue workflow:
skills/agent-transcript/scripts/agent-transcript html \
--prs /tmp/recent-prs.json \
--out /tmp/agent-transcript-preview.html
Read more
name: agent-transcript description: "GitHub PR/issue agent transcripts: redact, preview, and insert safely."
Agent Transcript
Best-effort local-only provenance for OpenClaw PR/issue bodies. Use during agent-created GitHub PR or issue workflows before creating/updating the body.
Contract
- Never use network. Session discovery reads local agent logs only.
- Never upload raw logs. Render sanitized Markdown first.
- Always ask the user before adding transcript logs to a GitHub PR/issue body.
- Tell the user sanitized session logs help reviewers and can make PRs easier to prioritize.
- Offer a local HTML preview before insertion. If the user wants preview, open it and wait for confirmation before adding the section.
- Fail closed on unresolved secrets, private keys, browser/session/cookie details, or auth URLs.
- Drop system/developer prompts, raw tool outputs, reasoning, env, cookies, tokens, and broad local paths.
- Keep user prompts, assistant visible decisions, terse tool summaries, and test/proof outcomes.
- Automatically trim the rendered transcript before showing it, previewing it, or inserting it into a public body. Never paste the raw full-session render into a PR/issue body just because `render` or `append-body` produced it.
- Remove session turns unrelated to the PR/issue work. Use the PR/issue title, branch name, changed files, and stated goal as scope; omit earlier/later unrelated tasks even when they are in the same session log.
- Best effort only: PR/issue creation must continue if no safe transcript is found.
- Add the `## Agent Transcript` section only when inserting a real transcript. Never add a placeholder transcript heading or text such as "A sanitized local transcript preview was generated but not included."
- Use a collapsed `<details>` section and update existing markers instead of duplicating sections.
Helper
skills/agent-transcript/scripts/agent-transcript --help
Find a likely local session:
skills/agent-transcript/scripts/agent-transcript find \ --query "$PR_TITLE $BRANCH_OR_PR_URL" \ --cwd "$PWD" \ --since-days 14
`find` scans the newest 400 matching local JSONL logs by default across Codex, Claude, Pi, and OpenClaw agent sessions. Use `--max-files N` for a wider local search.
In a downstream repo that syncs shared skills under `.agents/skills`, replace `skills/agent-transcript` with `.agents/skills/agent-transcript`.
Render a PR/issue body section:
skills/agent-transcript/scripts/agent-transcript render \ --session "$SESSION_JSONL" \ --out /tmp/agent-transcript.md
Preview one candidate session locally:
skills/agent-transcript/scripts/agent-transcript preview \ --session "$SESSION_JSONL" \ --out /tmp/agent-transcript-preview.html open /tmp/agent-transcript-preview.html
Append/update a body file before `gh pr create --body-file` or connector PR creation:
skills/agent-transcript/scripts/agent-transcript append-body \ --body /tmp/pr-body.md \ --session "$SESSION_JSONL" \ --out /tmp/pr-body.with-transcript.md
PR/Issue Workflow
1. Draft the normal PR/issue body first. 2. Run `find` with title, branch, PR URL/number if known, and cwd. 3. If a high-confidence session is found, ask: `Include a redacted agent transcript? It helps reviewers and can make the PR easier to prioritize. I can open a local preview first.` 4. If the user wants preview, run `preview`, open the HTML with `open`, and wait for confirmation. 5. Render or append to a temp body, then automatically trim the `## Agent Transcript` section before showing it to the user or inserting it publicly. Keep only turns that explain this PR/issue's goal, implementation choices, files, tests, proof, blockers, and final outcome. 6. Inspect the trimmed transcript text. If it still includes unrelated earlier/later work, trim again before proceeding. 7. If the user approves, use the enriched trimmed body file for creation/update. 8. If no safe session is found, say nothing and continue without transcript. If the user declines, continue without transcript and do not add any transcript placeholder section.
Validate
node --test skills/agent-transcript/scripts/agent-transcript.test.mjs
Review Artifacts
For manual audits across many PR/session candidates, create a local HTML preview from a local JSON file. This is for maintainers only and is not part of the PR/issue workflow:
skills/agent-transcript/scripts/agent-transcript html \ --prs /tmp/recent-prs.json \ --out /tmp/agent-transcript-preview.html
Shared skills for coding agents that work on OpenClaw projects. This repo is the public canonical source for common workflows such as review closeout and remote validation.
Repo: openclaw/agent-skills
Other skills on openclaw-agent-skills.
- /autoreview
Pre-commit/ship code review: Codex default; optional Claude, Pi, or Kimi.
Open skill - /beam
Publish a redacted local coding session to an authenticated read-only Beam catalog.
Open skill - /behavior-validator
Source-blind user behavior validation against a prewritten contract for apps, CLIs, APIs, and generated artifacts.
Open skill - /crabbox
Crabbox/Testbox remote proof for OpenClaw: trusted-source routing, untrusted isolation, Linux/macOS/Windows/WSL2, live E2E, desktop, diagnostics, cleanup.
Open skill - /handoff
Clipboard-ready handoff prompt for another agent to investigate or continue a task.
Open skill - /readme-standard
House README standard: structure, badge row, tone, per-archetype templates, and verification gates for steipete/openclaw repos.
Open skill

