Getting it into your agent
This one installs as part of its plugin. Adding the marketplace and installing the plugin brings it with everything else the plugin ships.
/plugin marketplace add Lykhoyda/ask-llm/plugin install ask-llmWrote 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/lykhoyda/ask-llm/ask-llm-codex-pair-resume)<a href="https://agentmods.dev/skills/lykhoyda/ask-llm/ask-llm-codex-pair-resume"><img src="https://agentmods.dev/badge/skills/lykhoyda/ask-llm/ask-llm-codex-pair-resume/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/lykhoyda/ask-llm/ask-llm-codex-pair-resume"><img src="https://agentmods.dev/badge/skills/lykhoyda/ask-llm/ask-llm-codex-pair-resume.svg" alt="Reviewed on agentmods" width="80" 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.00056 | $0.00690 |
| Opus 5.5 | $0.00022 | $0.00276 |
| Sonnet 5.5 | $0.00011 | $0.00138 |
| Haiku 4.5 | $0.00006 | $0.00069 |
Grade A, and why
ask-llm-codex-pair-resume 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 14d ago.
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
94% identical to codex-pair-resume — 56 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 — 57 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Portable contract
Remove the project-local pause sentinel and clear the consecutive-failure counter so the next successful edit can be reviewed. Missing state is a no-op.
Host adapters
Pi adapter
Run /codex-pair-resume or remove the sentinel and failure counter exactly as described by the portable contract.
Other hosts adapter
Apply the portable contract above: remove the sentinel and failure counter exactly as described. It resumes the codex-pair reviewer that Claude Code or Pi runs for this project.
Claude Code adapter
The existing detailed workflow below is the Claude Code adapter. Its Agent, MCP, hook, CLAUDE_PLUGIN_ROOT, and AskUserQuestion mechanics apply only on Claude Code; they do not override the Pi adapter above.
Resume codex-pair for this project
Removes the pause sentinel written by /codex-pair-pause, restoring normal codex-pair review behavior. The .codex-pair/context.md marker and .codex-pair/state/ directory are left in place (the directory holds the cache, inflight locks, and any other future state per ADR-092).
Instructions
-
Locate the
.codex-pair/context.mdmarker by walking up from the current working directory (the project ROOT is the directory holding.codex-pair/). If no marker is found, inform the user: "codex-pair is not enabled in this project (no.codex-pair/context.mdmarker found). Nothing to resume." -
Check whether the pause sentinel exists at
<marker-dir>/.codex-pair/state/paused:- If it does not exist, tell the user: "codex-pair was not paused — no
.codex-pair/state/pausedsentinel found. No change." - If it exists and is non-empty, it is an auto-pause written by the hook itself
(quota exhaustion or repeated failures — see #176).
catit and show the user thekind,reason, andresetHintfields before removing, so they know whether the provider has likely recovered. - Remove it, together with the consecutive-failure counter — resuming while
the counter is still at threshold would re-pause on the very next single
failure. Quote the paths so marker directories with spaces work:
rm -f -- "<marker-dir>/.codex-pair/state/paused" "<marker-dir>/.codex-pair/state/failures.json"
- If it does not exist, tell the user: "codex-pair was not paused — no
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.
- 14d ago First seen · 57 lines · 56 tokens per session scan A af69a1974baf
ask-llm-codex-pair-resume is a skill published in the GitHub repository Lykhoyda/ask-llm (18 stars, last pushed 2d ago), licensed MIT. It adds 56 tokens to every session and 690 once invoked, about $0.0002 per session on Opus 5.5. A static security scan graded it A with 0 findings. It is 94% identical to codex-pair-resume, differing in 56 lines, and is treated as a copy.
Other skills, from other repositories
handoff
Generate a handoff note summarizing skill project state for a future session or collaborator. Use when crossing a non-persistent boundary (e.g., Chat upload), ending a session that made significant decisions, or when the user explicitly asks for a handoff note. Triggers on: "generate a handoff", "write a handoff…
adk-go-self-review
Review an ADK Go change the way a maintainer will — a fresh-context pass over the whole diff, five lenses (correctness and tests, scope, simplicity, style, adk-python parity), and the mutation check that proves your tests pin the change. Use before opening a PR, before any later push that changes code, and when asked…
verify-change
A change-checking skill that reviews code differences and checks whether related documentation, tests, and records were updated.
pr-description-writer
Redacta una descripción de pull request clara y estructurada a partir de un diff de git, resumen de rama o lista de commits. Úsalo cuando te pidan escribir una descripción de PR, redactar una solicitud de cambios o documentar cambios de código. Produce una descripción con resumen, motivación, cambios realizados, pasos…
Send WhatsApp messages, list chats, and search history via wacli (local CLI backed by a synced store at /.wacli). Unpaired? Run the guided connect flow (scripts/guidedconnect.py) from chat — no terminal needed.
obsidian-vault
Voice-inline capture into a Sutando-owned Obsidian vault. The voice agent calls addtovault(kind, body, title?) directly — no core round-trip, no Obsidian plugin required. Filesystem-direct: Obsidian's watcher picks up the change instantly when the vault is open.