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 agentmods add skills/openai/codex/update-v8-versionnpx skills add openai/codex --skill update-v8-versiongit clone --depth 1 https://github.com/openai/codexWhat 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 | $0.00086 | $0.00836 |
| Opus 5 | $0.00043 | $0.00418 |
| Sonnet 5 | $0.00017 | $0.00167 |
| Haiku 4.5 | $0.00009 | $0.00084 |
Grade A, and why
update-v8-version 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 2d 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.
Copies of this mod
6 near-identical copies found in the catalogue:
- update-v8-version — 100% identical, 0 lines differ
- update-v8-version — 100% identical, 0 lines differ
- update-v8-version — 100% identical, 0 lines differ
- update-v8-version — 100% identical, 0 lines differ
- update-v8-version — 100% identical, 0 lines differ
- update-v8-version — 100% identical, 0 lines differ
How it starts
The opening of the file, as written. The whole thing — 73 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Update V8 Version
Core Workflow
-
Read
third_party/v8/README.mdand follow its version-bump sequence. Treat that document as the release-process source of truth. -
Inspect and update the concrete repo surfaces that carry the pin:
codex-rs/Cargo.tomlcodex-rs/Cargo.lockMODULE.bazelthird_party/v8/BUILD.bazelthird_party/v8/README.md- the matching
third_party/v8/rusty_v8_<version>.sha256manifest when the remaining prebuilt inputs change
-
Keep the existing checksum helpers in the loop:
python3 .github/scripts/rusty_v8_bazel.py update-module-bazel python3 .github/scripts/rusty_v8_bazel.py check-module-bazel python3 -m unittest discover -s .github/scripts -p test_rusty_v8_bazel.py -
Validate the release-candidate path before broadening the work:
- Prefer checking the
v8-canaryCI result for the candidate branch or PR when one exists, using GitHub check tooling orghas appropriate. - If CI is unavailable or the user asked for a local-only check, run the closest local validation that is practical for the changed surface and say explicitly that it is a local substitute, not the full hosted canary.
- Prefer checking the
-
If the canary path passes, stop there. Summarize the result and encourage the user to commit the candidate changes or proceed with the release flow they requested. Do not publish tags, releases, or pushes unless the user asked.
Failure Path
Enter this path only when the canary or local build path fails.
- Capture the failing target, workflow job, and first actionable error.
- Compare the currently pinned version with the target version at the relevant
upstream tag or SHA. Inspect both:
denoland/rusty_v8- upstream V8 source at the target Bazel-pinned version
- Track build-relevant deltas rather than broad source churn:
- generated binding layout changes
- archive or asset naming changes
- GN/Bazel target changes
- custom libc++ / libc++abi / llvm-libc inputs
- sandbox or pointer-compression feature relationships
- patch hunks in
patches/that no longer apply or no longer match upstream
- Trace each failing delta back into Codex's build graph:
MODULE.bazelthird_party/v8/BUILD.bazel.github/scripts/rusty_v8_bazel.py.github/workflows/v8-canary.yml.github/workflows/rusty-v8-release.yml
- Update only the pieces required to restore the target version's build and artifact contract. Keep patch explanations and doc changes close to the affected files.
- Re-run the focused validation. If it becomes green, return to the normal workflow and stop with a concise summary plus the remaining release step.
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.
- 2d ago First seen · 73 lines · 86 tokens per session scan A c3d4037f1d7c
update-v8-version is a skill published in the GitHub repository openai/codex (120,598 stars, last pushed today), licensed Apache-2.0. It adds 86 tokens to every session and 836 once invoked, about $0.0004 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
systematic-debugging
Use when encountering any bug, test failure, or unexpected behavior, before proposing fixes.
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…
cpu-profile-analysis
Analyze V8/Chrome CPU profiles (.cpuprofile) and DevTools trace files (Trace-.json). Use when: profiling performance, investigating slow functions, comparing code paths, finding bottlenecks, analyzing timeToRequest, understanding call trees from sampling profiler data, analyzing layout/paint/rendering, investigating…
next-cache-components-optimizer
Drive a Next.js route to instant navigation by setting up an agentic loop, under Cache Components / PPR, on initial load (hard navigation) and client-side navigation (soft navigation). Encode the goal as a failing @next/playwright instant() e2e and work it to green, one verified route at a time; the shipped test then…
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…
auto-perf-optimize
Run agent-driven VS Code performance or memory investigations. Use when asked to launch Code OSS, automate a VS Code scenario, run the Chat memory smoke runner, capture renderer heap snapshots, take workflow screenshots, compare run summaries, or drive a repeatable scenario before heap-snapshot analysis.