Token导航 LogoToken导航TokenDH.com
研究检索需要联网github未标认证来源可访问许可证需确认审计提醒

update-v8更新 v8

Agent Skill

update-v8 用于查找、检索和筛选相关信息,适合在 Codex、Claude、Cursor、Gemini CLI 中需要根据关键词、任务场景或来源线索快速定位候选结果时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

285

周安装

12

GitHub Stars

8,215

下载量

356
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

unknown

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:update-v8(更新 v8)
来源仓库:https://github.com/cloudflare/workerd
仓库路径:skills/update-v8
安装命令:
npx skills add https://github.com/cloudflare/workerd --skill update-v8
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

skills.shnpx skills
npx skills add https://github.com/cloudflare/workerd --skill update-v8

简介

用于查找、检索和筛选相关信息。update-v8 属于研究检索类 Skill,可作为该场景下的辅助能力补充。

  • 适合在需要根据关键词或任务场景快速定位候选结果时使用。
  • 可结合来源仓库、安装命令和原始 README 继续核验具体用法。
  • 安装前建议确认权限范围、维护状态,以及是否会触发联网或文件读写。
  • 注意该技能当前分类为研究检索,功能聚焦信息获取。

SKILL.md

Updating V8 in workerd

V8 updates are high-risk changes that require careful patch management and human judgment for merge conflicts. This skill covers the full process. Always confirm the target version with the developer before starting.

See also: docs/v8-updates.md for the original reference document.

Always communicate and confirm with the developer at each step. Never take irreversible actions (like dropping patches or updating hashes) without explicit confirmation.


Prerequisites

  • depot_tools installed and on $PATH (setup guide)
  • A local V8 checkout (outside the workerd repo to avoid confusing Bazel): mkdir v8 && cd v8 && fetch v8

Step 1: Identify the target version

Check chromiumdash.appspot.com for the latest V8 version used by Chrome Beta. Confirm the target <new_version> with the developer.

Find the current version in build/deps/v8.MODULE.bazel:

VERSION = "14.5.201.6"    # example — check the actual file

We'll call this <old_version>.

Step 2: Sync local V8 to the current workerd version

cd <path_to_v8>/v8
git checkout <old_version>
gclient sync

Step 3: Apply workerd's patches onto a branch

git checkout -b workerd-patches
git am <path_to_workerd>/patches/v8/*

There are multiple patches in patches/v8/. These include workerd-specific customizations:

Patch categoryExamples
SerializationCustom ValueSerializer/Deserializer format versions, proxy/function host object support
Build systemWindows/Bazel fixes, shared linkage, dependency path overrides (fp16, fast_float, simdutf, dragonbox)
Embedder hooksPromise context tagging, cross-request promise resolution, extra isolate embedder slot
Bug workaroundsMemory leak assert disable, slow handle check disable, builtin-can-allocate workaround
API additionsString::IsFlat, AdjustAmountOfExternalAllocatedMemory exposure, additional Exception constructors
ICU/configICU data export, googlesource ICU binding, verify_write_barriers flag

Step 4: Rebase patches onto the new V8 version

git rebase --onto <new_version> <old_version>

This is where most of the work happens. Expect conflicts. Key guidance:

  • Build-system patches (dependency paths, Bazel config) conflict most often as upstream V8 restructures its build.
  • API patches (new methods on V8 classes) may conflict if upstream changed the surrounding code.
  • Always preserve workerd's intent — understand what each patch does before resolving conflicts. The patch filenames are descriptive.
  • Do not drop patches without explicit confirmation from the developer.
  • Do not auto-resolve conflicts — flag them for human review. Merge conflicts in V8 patches almost always require human judgment.

Step 5: Regenerate patches

git format-patch --full-index -k --no-signature --no-stat --zero-commit <new_version>

This produces numbered .patch files in the current directory.

Step 6: Replace patches in workerd

Always confirm with the human before replacing patches. If any patches were dropped or added, the human needs to review the changes.

rm <path_to_workerd>/patches/v8/*
cp *.patch <path_to_workerd>/patches/v8/

Step 7: Update build/deps/v8.MODULE.bazel

Three things need updating:

  1. VERSION: Set to <new_version>.
  2. INTEGRITY: Compute the sha256 hash of the new tarball: curl -sL "https://github.com/v8/v8/archive/refs/tags/<new_version>.tar.gz" -o v8.tar.gz openssl dgst -sha256 -binary v8.tar.gz | openssl base64 -A Format: "sha256-<base64_hash>=". Alternatively, attempt a build and copy the expected hash from Bazel's mismatch error.
  3. PATCHES: Update the list if patches were added, removed, or renamed. The list must match the filenames in patches/v8/ exactly, in order.

Step 8: Update V8's dependencies

V8 depends on several libraries that are pinned in build/deps/v8.MODULE.bazel and build/deps/deps.jsonc. Check the local V8 checkout's DEPS file for commit versions:

cat <path_to_v8>/v8/DEPS

Dependencies to check and update:

DependencyWhereNotes
com_googlesource_chromium_icuv8.MODULE.bazel (git_repository commit)Chromium fork; update commit from V8's DEPS
perfettodeps.jsonc (managed by update-deps.py)V8 depends via Chromium; safe to bump to latest GitHub release
simdutfdeps.jsonc (managed by update-deps.py)V8 depends via Chromium; safe to bump to latest GitHub release

For dependencies in deps.jsonc, you can use the update script:

python3 build/deps/update-deps.py perfetto
python3 build/deps/update-deps.py simdutf

This fetches the latest version, computes integrity hashes, and regenerates the gen/ MODULE.bazel fragments. Do not hand-edit files in build/deps/gen/.

Step 9: Build and test

# Full build
just build

# Full test suite
just test

Watch for:

  • Build failures from V8 API changes: V8 may deprecate or change APIs between versions. Search for deprecation warnings in the build output. Common areas affected:

- src/workerd/jsg/ — V8 binding layer, most directly affected - src/workerd/api/ — APIs that interact with V8 types directly - src/workerd/io/worker.c++ — Isolate creation and configuration

  • Test failures from behavior changes: V8 may change observable JS behavior. Check:

- just test //src/workerd/jsg/... — JSG binding tests - just test //src/workerd/api/tests/... — API tests - Node.js compatibility tests (just node-test) - Web Platform Tests (just wpt-test)

  • New V8 deprecation warnings: These are future breakage signals. Document them in the PR description even if tests pass.

Step 10: Commit and submit

Prompt the user to commit the changes and push for review.

Never push the branch for review without a human review of the patch changes.

You May prepare the draft PR text for the user. The PR should include:

  • Updated build/deps/v8.MODULE.bazel (version, integrity, patches list)
  • Updated patches in patches/v8/
  • Updated dependency versions if changed
  • Any C++ fixes for V8 API changes
  • PR description listing: old version, new version, patches that required conflict resolution, any deprecation warnings observed, and any behavior changes noted

Checklist

  • Target V8 version confirmed with developer
  • Local V8 checked out and synced to old version
  • workerd patches applied and rebased onto new version
  • Conflicts resolved with human review (no auto-resolution)
  • Patches regenerated with git format-patch
  • Old patches replaced with new patches in patches/v8/
  • VERSION updated in v8.MODULE.bazel
  • INTEGRITY updated in v8.MODULE.bazel
  • PATCHES list updated if patches added/removed/renamed
  • V8 dependencies checked and updated (ICU, perfetto, simdutf)
  • just build succeeds
  • just test passes (or failures documented and explained)
  • No new patches dropped without explicit confirmation
  • PR description documents version change, conflict resolutions, and deprecation warnings

Troubleshooting

Bazel integrity mismatch: If you see expected sha256-... but got sha256-..., copy the "got" hash into the INTEGRITY field. This happens when the hash was computed incorrectly or the tarball was re-generated by GitHub.

Patch won't apply: A patch that applied cleanly during git am but fails in Bazel means the git format-patch output differs from what Bazel expects. Verify you used --full-index -k --no-signature --no-stat --zero-commit flags. Also verify patch order matches the PATCHES list.

ICU build failures: ICU is a Chromium fork fetched via git_repository. If the commit in v8.MODULE.bazel is wrong, you'll see missing-file or compilation errors in ICU. Cross-reference with V8's DEPS file for the correct commit.

update-deps.py fails: The script requires network access to fetch versions. If a dependency's GitHub release format changed, you may need to update the version manually in deps.jsonc and run python3 build/deps/update-deps.py to regenerate hashes.

适合场景

01

用户想查找某类 Agent Skill 时

02

需要根据任务场景推荐可安装能力包时

03

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

Codex

38.51%
按下载量换算137

Claude

28.36%
按下载量换算101

Cursor

18.47%
按下载量换算66

Gemini CLI

10.24%
按下载量换算36

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

可疑

权限和风险

需要联网

该 Skill 可能需要联网访问来源站点、仓库或外部 API;具体网络访问范围需要结合源码和 README 复核。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在 warning/failed 结果,不能写成本站确认安全。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills