update-schema
Roll out a new major version of the registry.json schema across aqua-registry-g2, which spans aqua, ar2 and this repository.
Skill by aquaproj
Chalk Labs
Need help deploying update-schema?
Chalk Labs sets up agents like this inside real teams: connected to your tools, tested on your data, with a human in the loop where it matters.
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/aquaproj-update-schema
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md and code. Checked Oct 26, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/update-schema
What's inside
- Skill name
update-schema- Description
- Roll out a new major version of the registry.json schema across aqua-registry-g2, which spans aqua, ar2 and this repository. Use when a field has to be added that an older aqua can't read, when asked how a schema change reaches the registry, and before designing one, since the first question decides whether it can be rolled out at all.
- License
- MIT
- Instructions
- 68 lines in SKILL.md · view on GitHub
Files (1)
- SKILL.md
SKILL.md (first lines)
# Update the schema of registry.json What the schema version promises a reader -- the major version is the file name, a change an older aqua can't read arrives as a new file beside the old one, and a published file is never deleted -- is in [README.md](../../README.md#schema-version). This is how to keep that promise when a new major version is needed. Nothing here has been done yet. There is one schema, no migration in ar2 and no fallback in aqua, so the steps below are what to build the first time rather than commands to run. ## First, whether it can be rolled out at all Can the old file still be produced from what is known after the change? The registry has to keep writing `registry-1.json` for versions published during the migration, or an aqua that knows only schema 1 stops getting new releases the day the migration starts. That is possible as long as the old file is derivable. A change that stops recording something the old schema requires is a hard break, and then the support window has to close at the same moment as the migration, which is a different plan from this one. ## In aqua - The reader for the new schema, and the old reader kept. aqua reads what the registry has published, and it published the old one. - The probe: an aqua that knows M asks for `registry-M.json` and steps down to `M-1` and so on. Majors are rare, so this is at most a couple of requests, and a version's file is cached forever once fetched. The fallback is also what makes a partly migrated package legitimate. ## In ar2 - Generate the newest schema, and write the old one from it by a one-way conversion. Not the other way round: a new schema exists to hold what the old one can't express, so deriving it from the old is deriving what isn't there. - The old schema's type comes from aqua, which keeps it for reading, so nothing is maintained twice. - A golden test per schema still being written: the same resolved version, the same bytes. A change to the internal form that would alter the old file then fails in ar2 rather than in the registry. - The migration itself is a fourth kind of work in a run, at strictly lower priority than the sweep: the registry reflecting the present matters more than its files being uniform. It is bounded by the same `limit` and breadth as the backfill, so it is one pull request per package and the newest versions of every package are migrated before any package's history is completed. - The state records, per package, the oldest schema last observed and when -- not what a run tried to do. A migration pull request that fails CI is then retried, because the next observation still sees the old schema. ## In this repository - Raise the pin to the ar2 that knows the new schema. - Let the chain run. Progress is `ar2 state`, which says how much of the registry is still on the old schema. - Read the migration pull requests differently from generated ones. They assert nothing new about a release -- the same asset, the same checksum, rearranged -- so what to check is the diff, and the checks don't download anything. A field derived from the asset itself is the exception, and there the download is unavoidable. ## When the window closes A change in ar2 stops writing the old schema, and new versions get only the new one. That is an aqua release decision -- whether the aqua versions that know only the old schema are still supported -- rather than anything this repository decides. Published files are never deleted. Removing one is the only thing that breaks somebody who hasn't updated, and what the registry would gain is a few kilobytes per version.
From aquaproj/aqua-registry-g2, MIT.
More from aquaproj/aqua-registry-g2
- 0.604score
add-package
aquaproj
Add a package to aqua-registry-g2 that aqua-registry (v1) doesn't have, which is what an issue asking for a new package needs.
SkillAFreshness: A★ 3Claude Code +9 - 0.604score
fix-definition
aquaproj
Edit a package's definition, registry.yaml in its own directory, which is the one file in this registry a person writes.
SkillAFreshness: A★ 3Claude Code +9 - 0.604score
generate-versions
aquaproj
Generate the versions aqua-registry-g2 is missing, which is how a package gets a new release, for a named package or for whatever the order reaches, and start…
SkillAFreshness: A★ 3Claude Code +9 - 0.604score
refresh-index
aquaproj
Bring index.json and names.json up to what the definitions say, for one package or all of them.
SkillAFreshness: A★ 3Claude Code +9 - 0.604score
regenerate-versions
aquaproj
Generate again the versions aqua-registry-g2 already holds, after fixing a definition that was wrong.
SkillAFreshness: A★ 3Claude Code +9 - 0.604score
review-pull-request
aquaproj
Read a pull request ar2 opened in aqua-registry-g2 and decide whether it can merge, which means working out which case it stopped for, what CI has already…
SkillAFreshness: A★ 3Claude Code +9 - 0.601score
remove-package
aquaproj
Stop aqua-registry-g2 serving a package it has published, which is for malware and for a package aqua can't install whatever is generated for it.
SkillAFreshness: A★ 3Claude Code +9 - 0.601score
ignore-package
aquaproj
Stop aqua-registry-g2 trying to generate a package it can't, by adding it to ignored_packages with the reason.
SkillAFreshness: A★ 3Claude Code +9 - 0.601score
rename-package
aquaproj
Rename a package in aqua-registry-g2 to the name it has now, keeping the old name as an alias.
SkillAFreshness: A★ 3Claude Code +9 - 0.599score
update-ar2
aquaproj
Raise the pinned ar2 version in aqua-registry-g2, and release ar2 itself.
SkillAFreshness: A★ 3Claude Code +9
Signals
- Stars
- 3
- Forks
- 1
- Open issues
- 94
- Last commit (this folder)
- Sep 27, 2026 (1 month ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/aquaproj/aqua-registry-g2
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from aquaproj
- 0.604score
add-package
aquaproj
Add a package to aqua-registry-g2 that aqua-registry (v1) doesn't have, which is what an issue asking for a new package needs.
SkillAFreshness: A★ 3Claude Code +9 - 0.604score
fix-definition
aquaproj
Edit a package's definition, registry.yaml in its own directory, which is the one file in this registry a person writes.
SkillAFreshness: A★ 3Claude Code +9 - 0.604score
generate-versions
aquaproj
Generate the versions aqua-registry-g2 is missing, which is how a package gets a new release, for a named package or for whatever the order reaches, and start…
SkillAFreshness: A★ 3Claude Code +9 - 0.604score
refresh-index
aquaproj
Bring index.json and names.json up to what the definitions say, for one package or all of them.
SkillAFreshness: A★ 3Claude Code +9 - 0.604score
regenerate-versions
aquaproj
Generate again the versions aqua-registry-g2 already holds, after fixing a definition that was wrong.
SkillAFreshness: A★ 3Claude Code +9 - 0.604score
review-pull-request
aquaproj
Read a pull request ar2 opened in aqua-registry-g2 and decide whether it can merge, which means working out which case it stopped for, what CI has already…
SkillAFreshness: A★ 3Claude Code +9
Done for you
Rather not set it up yourself?
Chalk Labs scopes, builds and runs agents for your team: the task audit, the eval harness, the integrations and the weekly ops report. Fixed scope, priced before we start.
See how we build AI agents →Read the case studies
Chalk Labs is a two-founder AI and growth studio. We build AI agents, CRMs and MVPs for Web3 and AI companies, and have shipped 50+ product and token launches.
- launches shipped
- 50+
- launches shipped
- media placements
- 500+
- media placements
- founders on every account
- 2
- founders on every account
Press we've placed: Forbes · CoinDesk · Decrypt · Cointelegraph · The Block
Rahil Jain, Co-founder, Chalk Labs. Ex-Goldman Sachs engineer. You talk to the person who builds it.
Get update-schema running in your business
Tell us what you want to automate. A founder replies within one working day with a plan, not a pitch deck.
Cite this page
update-schema skill. Agent Mart. https://agentmart.dev/skills/aquaproj-update-schema (last updated 2026-10-24)