跳到正文
cccskills
免费在 GitHub 公开

agd-version-upgrade

Ingest a new AnimeGameData (AGD) build end-to-end — deobfuscation mappings, TextMap fallback-list audit, first-seen version index, and corpus regen. Use when bumping AGD_PATH / AGD to a new game version.

中文简介正在准备中。当前显示原文说明。

查看安装方法

包含的文件(1)

  • SKILL.md5.0 KB

SKILL.md(原文)

安装前可以查看交给 AI 代理的指令内容。

Ingest a New AGD Version

Orchestrates the steps needed whenever <AGD> moves to a new build: new deobfuscation mappings, an audit of the TextMap fallback list, an update of the first-seen version index, then a corpus regen. Some steps have their own skill; this one sequences them and adds the steps that don't otherwise have a home.

1. Add deobfuscation mappings

Run the agd-deobfuscate skill (.agents/skills/agd-deobfuscate/SKILL.md) first. This is the most important step of ingesting a new version: 6.x+ builds obfuscate JSON field names, and any field missing from the new-version block in rust/istaroth-agd-regen/src/deob.rs reads as absent rather than erroring — it produces silently incomplete output (e.g. dropped speaker names, empty fields) instead of a loud failure. Every later step depends on this being correct and complete for the new build.

2. Audit the TextMap fallback list

Every version bump drops some talkContentTextMapHash entries from the current build's TextMap that resolved in the previous build (investigated in issue #273: renders as Missing text (<hash>) in the corpus). The regen recovers these via FALLBACK_REFS in rust/istaroth-agd-regen/src/textmap.rs — a small list of pinned older-build commit refs (in <AGD>), ordered newest-to-oldest, merged in as a fallback source when the current TextMap lacks a hash.

  1. Regenerate ad hoc into a throwaway directory for both languages (there is no partial-regen flag, but a full run takes only seconds; the audit below reads just agd_quest — dialog-heavy and where regressions concentrate):

    cargo build --profile fast --manifest-path rust/Cargo.toml
    AGD_PATH=<AGD> ./rust/target/fast/istaroth-agd-regen generate-all --language CHS -f /tmp/audit_chs
    AGD_PATH=<AGD> ./rust/target/fast/istaroth-agd-regen generate-all --language ENG -f /tmp/audit_eng
    

    If the run fails because the new build has ids missing from the first-seen index, do step 3 first, then rerun.

  2. Count unique missing hashes and compare against the pre-upgrade corpus (the last committed text/agd_quest):

    grep -rho "Missing text ([0-9]*)" /tmp/audit_chs/agd_quest | sort -u | wc -l
    grep -rho "Missing text ([0-9]*)" text/chs/agd_quest | sort -u | wc -l
    
  3. If the new build's count jumped meaningfully above the old corpus's baseline, the new build dropped hashes the old build still had. Add the immediately preceding minor-version build's commit (from <AGD>'s git history — git log --oneline --all | grep <prev-minor-version> — pick the last commit for that version) to the front of FALLBACK_REFS, newest-first.

    • Per the #273 investigation, going back further than the 1-2 immediately preceding minor versions has essentially zero marginal recovery — nothing older than that ever contributed a recoverable hash in that audit. Don't add a long tail of old refs; add just enough of the most recent versions to flatten the count.
    • Verify by re-running step 1 with the new ref in place and confirming the missing-hash count drops back toward baseline.
    • Not every hash is recoverable this way: some are genuinely new content whose TextMap row is simply absent from the new dump. Don't chase the count to zero — chase it back to the old baseline.
  4. AGD_PATH=<AGD> cargo test --manifest-path rust/Cargo.toml to confirm the SEXPRO pronoun-hash resolution and fallback tests in rust/istaroth-agd-regen/tests/agd_integration.rs still pass — they're sensitive to FALLBACK_REFS changes.

3. Update the first-seen version index

Corpus items carry min_version/max_version metadata resolved from the per-version delta files in text/first_seen/ in the text/ submodule (see rust/istaroth-agd-regen/src/firstseen.rs). Ingesting a new build must extend the index, or generate-all fails on the new build's ids:

  1. Append the new version's (version, commit) entry to SNAPSHOTS in rust/istaroth-agd-regen/src/firstseen_build.rs. Use the new build's snapshot commit in <AGD>'s git history; normalize hotfix versions to major.minor.
  2. Rebuild, then run AGD_PATH=<AGD> ./rust/target/fast/istaroth-agd-regen build-first-seen — it scans only the snapshots whose delta files are missing on disk and writes text/first_seen/<version>.json with the ids not seen in any earlier version. The new data file is committed to the text/ submodule as part of the corpus regen commit (step 4); the SNAPSHOTS entry is committed in the main repo.

4. Regenerate and commit the corpus

Run the regen-text skill (.agents/skills/regen-text/SKILL.md) for the full committed regeneration, diff audit, and commit — never commit the ad hoc --only output from step 2.

评价

还没有评价。欢迎分享你的使用感受。

评论

无需登录即可发表。欢迎分享使用感受、提问,或说明在哪些环境下无法运行。

还没有评论。来写第一条吧。

提交后会立即公开。请勿填写邮箱、电话等个人信息。URL 最多 2 个。

0 / 1000 字

此表单受 reCAPTCHA 保护,适用 Google 的隐私权政策和服务条款。

同一仓库的技能

Identify and add new AnimeGameData field deobfuscation mappings by comparing cleartext and obfuscated AGD revisions. Use when a new Genshin Impact build changes obfuscated JSON field names or when rust/istaroth-agd-regen/src/deob.rs needs a new version mapping block.

中文简介正在准备中。当前显示原文说明。

isundaylee/istaroth122026年10月20日 更新

changelog

免费

Generate or update CHANGELOG.md from landed git history. Use when the user asks to "write a changelog", "update the changelog", or summarize what changed over the last week/period.

中文简介正在准备中。当前显示原文说明。

isundaylee/istaroth122026年10月20日 更新

Create a simple, modern HTML review page and run a local browser feedback loop with inline element/text annotations and structured questions. Use when the user wants to discuss or iterate on a design, plan, comparison, scope decision, content draft, or other topic that is easier to review visually than in chat.

中文简介正在准备中。当前显示原文说明。

isundaylee/istaroth122026年10月20日 更新

pr

免费

Squash the current branch's work into a single commit and open (or update) a GitHub pull request with Graphite (`gt`). Use when asked to "create a PR", "open a pull request", "put this up for review", or to update an existing PR for the current branch.

中文简介正在准备中。当前显示原文说明。

isundaylee/istaroth122026年10月20日 更新

Regenerate, audit, commit, and push Istaroth's generated text corpus in the text/ submodule. Use when the user asks to "regen corpus", regenerate committed text output, audit a corpus diff for content loss, or push a previously verified text regeneration.

中文简介正在准备中。当前显示原文说明。

isundaylee/istaroth122026年10月20日 更新

Add or revise retrieval-quality eval fixtures under istaroth/rag/eval/retrieval_fixtures/ (one JSON file per category, e.g. breadth.json). Use when asked to add a retrieval eval case, add a new eval category, improve a fixture's ground truth, or harden fixtures against false misses. Fixtures grade whether retrieval surfaces the sources a query needs, measured by passage-anchored facet coverage.

中文简介正在准备中。当前显示原文说明。

isundaylee/istaroth122026年10月20日 更新

查看 isundaylee 的全部技能

报告此技能的问题