Skip to content
cccskills
FreePublished on GitHub

registry-yaml-sort-policy

The alphabetical-sort invariants the hyperlane-registry CI / CodeRabbit enforces on warp route YAML (deploy.yaml and config.yaml) — top-level chain entries sorted by chain name, and keys within each entry in strict alphabetical order — plus the canonical per-file key orderings and a verification pass. Referenced by any warp deploy/update skill that writes or edits a registry YAML file.

The English summary is being prepared. Showing the original description.

Run score Not tested

See how to install

Files included (1)

  • SKILL.md3.0 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

Registry YAML Sort Policy

The hyperlane-registry CI (and CodeRabbit) reject a PR whose warp route YAML isn't alphabetically sorted on two levels. Every skill that writes or edits a deploy.yaml or config.yaml must satisfy both invariants before showing the file for review or committing, so this is the single source of the rule and the canonical key orders.

This ordering is a lint / CI requirement, not a schema-semantic one — YAML mappings parse identically regardless of key order, so a mis-ordered entry never breaks a deploy or changes behavior (e.g. type after tokenFee is valid); it only fails the PR check. Sort for the lint, not for correctness.

The two invariants

  1. Top-level chain entries must be in alphabetical order by chain name. E.g. an arbitrum + base + ethereum route has arbitrum: before base: before ethereum:. When inserting a new chain or restructuring a file, re-sort the top level by chain name — insert at the alphabetical position, never at the top or bottom.
  2. Keys within each chain entry must be in strict alphabetical order. When adding a field, insert it at its alphabetical position — never at the top, the bottom, or "after a specific sibling key".

Canonical key orders

These are the alphabetical orderings for the two file types (use them as the visual reference when inserting a key):

  • deploy.yaml token entry: decimals, mailbox, name, owner, symbol, token, tokenFee, type. (Additional keys — e.g. hook, interchainSecurityModule, gas, collateralChainName — slot in at their own alphabetical position.)
  • config.yaml token block: addressOrDenom, chainName, coinGeckoId, connections, decimals, logoURI, name, standard, symbol, tokenType.

Any key not listed slots in at its own alphabetical position; the lists above are the common cases, not an exhaustive schema.

Verify before review / commit

Before showing the file for review (or committing), confirm both invariants on the final file:

  • Top-level chain entries are alphabetical by chain name.
  • Within each chain's block, keys are alphabetical (a visual scan against the canonical order above is enough; for stronger confidence pipe the file through yq and compare against a sorted rendering).

If either invariant fails, fix the file first — CI / CodeRabbit will otherwise block the PR.

Consumers

/warp-deploy-init-route (deploy.yaml generation), /warp-deploy-update-owners (config.yaml finalize), /warp-update (deploy.yaml edits), /warp-update-extend (new-chain deploy.yaml entry).

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

Write a changeset file in the `hyperlane-registry` repo for a PR that adds, updates, or modifies warp route config / chain metadata / addresses. Canonical pattern — never run the interactive `pnpm changeset` CLI; write the file directly. Referenced by any skill that opens a registry PR.

The English summary is being prepared. Showing the original description.

hyperlane-xyz/hyperlane-monorepo76Updated Oct 23, 2026

Trigger Docker image builds for Hyperlane agent, monorepo, or node service images. Use when the user wants to build new Docker images for a branch, commit, or tag.

The English summary is being prepared. Showing the original description.

hyperlane-xyz/hyperlane-monorepo76Updated Oct 23, 2026

The low-level on-chain probes for identifying what an owner address is — cast code → EOA / EIP-7702-delegated EOA / contract, VERSION() → Gnosis Safe, read-only get-owner-ica.ts derive → ICA derivation, getAccountInfo → Sealevel account existence — with how to interpret each result. The primitive layer beneath validate-owners / resolve-artifacts / update-owners, which each apply their own per-chain or per-artifact policy on top.

The English summary is being prepared. Showing the original description.

hyperlane-xyz/hyperlane-monorepo76Updated Oct 23, 2026

Review code changes using Hyperlane monorepo coding standards. Use when reviewing PRs, checking your own changes, or doing self-review before committing.

The English summary is being prepared. Showing the original description.

hyperlane-xyz/hyperlane-monorepo76Updated Oct 23, 2026

Debug why a Hyperlane message is not being processed. Use when given a message ID or explorer URL to investigate delivery failures, gas estimation errors, validator issues, or other processing problems.

The English summary is being prepared. Showing the original description.

hyperlane-xyz/hyperlane-monorepo76Updated Oct 23, 2026

Debug RPC provider health issues for a chain. Use when alerts mention RPC failures, high latency, stale blocks, or provider errors. Diagnoses the issue and recommends fixes.

The English summary is being prepared. Showing the original description.

hyperlane-xyz/hyperlane-monorepo76Updated Oct 23, 2026

See all skills by hyperlane-xyz

Report a problem with this skill