Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add OutlineDriven/odin-claude-plugin --skill agent-transcriptgit clone --depth 1 https://github.com/OutlineDriven/odin-claude-pluginWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/outlinedriven/odin-claude-plugin/agent-transcript)<a href="https://agentmods.dev/skills/outlinedriven/odin-claude-plugin/agent-transcript"><img src="https://agentmods.dev/badge/skills/outlinedriven/odin-claude-plugin/agent-transcript.svg" alt="Measured on agentmods" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00041 | $0.01215 |
| Opus 5 | $0.00020 | $0.00607 |
| Sonnet 5 | $0.00008 | $0.00243 |
| Haiku 4.5 | $0.00004 | $0.00121 |
Grade A, and why
agent-transcript scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured yesterday.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
This is a copy
98% identical to agent-transcript — 0 lines differ, which has more behind it and is treated as the original. This page carries a canonical link to it rather than competing with it.
How it starts
The opening of the file, as written. The whole thing — 49 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Agent transcript
Contract
| Field | Bound contract |
|---|---|
| Trigger | An agent is creating or updating a GitHub PR or issue body and needs local, redacted transcript provenance automatically when the session is hosted on openclaw.ai unless the user explicitly requests it |
| Authority | Remote: appends to a PR or issue body on GitHub; requires explicit human invocation. Previews the target and consequence before appending. Session discovery reads local agent logs only and uses no network. |
| Side effect | A redacted, trimmed agent-transcript section is appended to a PR/issue body file or previewed locally; no raw logs, secrets, or unrelated turns are included; user approval is required |
| Done | The inserted section is session-approved, relevant to the PR/issue, redacted, and wrapped in a collapsed details block; if no safe session is found or the user declines, the body continues with no placeholder |
Inputs
- The PR/issue body file being drafted (a local temp file). Required before any transcript work.
- The PR/issue title, branch name, changed files, and stated goal. Required; these define the relevance scope for trimming.
- The current session's hosting URL. Required; it drives the hosted-session exception. Determine it from the session hosting URL, not the repository URL or a deployment/test target.
- A candidate local session JSONL log path. Optional; when absent, discovery scans local logs to find one.
Procedure
- Read the current session's hosting URL. If the hostname matches
*.openclaw.ai, skip automatic discovery, rendering, insertion, and upload, and do not offer or ask about a separate transcript export; those servers already support sharing the original session. Follow the remaining steps only if the user explicitly requests a separate exported transcript, in which case use the native session-sharing flow instead of creating a transcript copy. - Draft the normal PR/issue body first, before any transcript work.
- Find candidate local session logs without using the network. Scan the newest local JSONL agent-session logs (Codex, Claude, Pi, and OpenClaw formats) under the working directory and standard session-log locations. Match the PR/issue title, branch, PR URL or number, and cwd within roughly the last 14 days.
- For each candidate, assess relevance to this PR/issue using the title, branch, changed files, and stated goal as scope. Select at most one high-confidence session whose turns explain this PR/issue's goal, implementation choices, files, tests, proof, blockers, and final outcome.
- If no safe, relevant session is found, stop and continue body creation with no transcript section and no placeholder.
- Render the selected session to sanitized Markdown. Drop system/developer prompts, raw tool outputs, reasoning, environment values, cookies, tokens, auth URLs, and broad local paths. Keep user prompts, assistant visible decisions, terse tool summaries, and test/proof outcomes. If unresolved secrets, private keys, browser/session/cookie details, or auth URLs remain, fail closed: discard that candidate and try the next, or stop with no transcript.
- Trim the rendered transcript automatically: keep only turns relevant to this PR/issue scope; omit earlier or later unrelated tasks even within the same session log. Inspect the trimmed text and re-trim if unrelated work remains. Never paste a raw or untrimmed full-session render into a public body even if rendering produced it.
- Ask the user: "Include a redacted agent transcript? It helps reviewers and can make the PR easier to prioritize. I can open a local preview first."
- If the user wants a preview, write a local HTML preview file, open it, and wait for confirmation before proceeding.
- If the user approves, append or update a
## Agent Transcriptsection inside a collapsed<details>block in the body file, updating existing markers instead of duplicating sections. Use the enriched body file for PR/issue creation or update. - If the user declines, continue without transcript and add no placeholder section. Done when: the approved redacted section is appended, or the unchanged body is retained under a named non-insertion outcome.
What ships with it
1 file beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- yesterday First seen · 49 lines · 41 tokens per session scan A 118cd7ce20bf
agent-transcript is a skill published in the GitHub repository OutlineDriven/odin-claude-plugin (35 stars, last pushed yesterday), licensed Apache-2.0. It adds 41 tokens to every session and 1,215 once invoked, about $0.0002 per session on Opus 5. A static security scan graded it A with 0 findings. It is 98% identical to agent-transcript, differing in 0 lines, and is treated as a copy.
Other skills, from other repositories
systematic-debugging
Use when encountering any bug, test failure, or unexpected behavior, before proposing fixes.
local-ai-agents
Build local-first AI agents that run entirely on a developer workstation with Microsoft Foundry Local and Qwen function-calling models. Covers Small Language Models (SLMs), the OpenAI-compatible local endpoint, sandboxed local tools, local RAG with Chroma, local MCP servers, hybrid cloud/local routing, and the…
next-cache-components-adoption
Turn on Cache Components in a Next.js app and resolve the blocking routes it surfaces. Use when the user wants to enable, adopt, or migrate to Cache Components, flip the cacheComponents flag, work through a flood of blocking-prerender / instant validation errors, run the cache-components-instant-false codemod, or…
next-partial-prefetching-adoption
Turn on Partial Prefetching in a Next.js app and work through the insights it surfaces. Use when the user wants to enable or adopt Partial Prefetching, flip the partialPrefetching flag, opt routes in with export const prefetch = 'partial', audit Link prefetch={true} behavior, preserve existing prefetched UI with…
chronicle
Analyze Copilot session history for standup reports, usage tips, session search, and session reindexing. Use when the user asks for a standup, daily summary, usage tips, workflow recommendations, wants to search or find past sessions by keyword/file/PR, wants to reindex their session store, or asks about deleting…
babysit-pr
Babysit a GitHub pull request after creation by continuously polling review comments, CI checks/workflow runs, and mergeability state until the PR is merged/closed or user help is required. Diagnose failures, retry likely flaky failures up to 3 times, auto-fix/push branch-related issues when appropriate, and keep…