Captions Overlay Rules
heygen-com/hyperframes
Rules for captioning talking-head and launch videos: classify each phrase as drop, rail or embed, and composite captions over the film instead of reserving space.
Read this before adding or reviewing an overlay metadata table; do not guess the category or upstream status from memory.
$ npx skills add microsoft/azurelinux --skill azldev-overlay-metadata -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install microsoft/azurelinux azldev-overlay-metadata --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/microsoft/azurelinux.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/azldev-overlay-metadata .claude/skills/azldev-overlay-metadata && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "azldev-overlay-metadata" agent skill from https://github.com/microsoft/azurelinux/tree/4.0/.agents/skills/azldev-overlay-metadata into .claude/skills/azldev-overlay-metadata/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "azldev-overlay-metadata", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/microsoft/azurelinux/tree/4.0/.agents/skills/azldev-overlay-metadataType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add microsoft/azurelinux --skill azldev-overlay-metadata -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install microsoft/azurelinux azldev-overlay-metadata --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/microsoft/azurelinux.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.agents/skills/azldev-overlay-metadata .agents/skills/azldev-overlay-metadata && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "azldev-overlay-metadata" agent skill from https://github.com/microsoft/azurelinux/tree/4.0/.agents/skills/azldev-overlay-metadata into .agents/skills/azldev-overlay-metadata/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "azldev-overlay-metadata", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add microsoft/azurelinux --skill azldev-overlay-metadata -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install microsoft/azurelinux azldev-overlay-metadata --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/microsoft/azurelinux.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.agents/skills/azldev-overlay-metadata .cursor/skills/azldev-overlay-metadata && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "azldev-overlay-metadata" agent skill from https://github.com/microsoft/azurelinux/tree/4.0/.agents/skills/azldev-overlay-metadata into .cursor/skills/azldev-overlay-metadata/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "azldev-overlay-metadata", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/microsoft/azurelinux.git --path .agents/skills/azldev-overlay-metadata--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add microsoft/azurelinux --skill azldev-overlay-metadata -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install microsoft/azurelinux azldev-overlay-metadata --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/microsoft/azurelinux.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.agents/skills/azldev-overlay-metadata .gemini/skills/azldev-overlay-metadata && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "azldev-overlay-metadata" agent skill from https://github.com/microsoft/azurelinux/tree/4.0/.agents/skills/azldev-overlay-metadata into .gemini/skills/azldev-overlay-metadata/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "azldev-overlay-metadata", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install microsoft/azurelinux azldev-overlay-metadataInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add microsoft/azurelinux --skill azldev-overlay-metadata -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/microsoft/azurelinux.git skills-src && mkdir -p .github/skills && cp -r skills-src/.agents/skills/azldev-overlay-metadata .github/skills/azldev-overlay-metadata && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "azldev-overlay-metadata" agent skill from https://github.com/microsoft/azurelinux/tree/4.0/.agents/skills/azldev-overlay-metadata into .github/skills/azldev-overlay-metadata/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "azldev-overlay-metadata", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add microsoft/azurelinux --skill azldev-overlay-metadata -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install microsoft/azurelinux azldev-overlay-metadata --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/microsoft/azurelinux.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.agents/skills/azldev-overlay-metadata .opencode/skills/azldev-overlay-metadata && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "azldev-overlay-metadata" agent skill from https://github.com/microsoft/azurelinux/tree/4.0/.agents/skills/azldev-overlay-metadata into .opencode/skills/azldev-overlay-metadata/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "azldev-overlay-metadata", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
azldev-overlay-metadataRead this before adding or reviewing an overlay metadata table; do not guess the category or upstream status from memory.
Azldev Overlay Metadata is an agent skill from microsoft/azurelinux, published by the product's own GitHub organization. Read this before adding or reviewing an overlay metadata table; do not guess the category or upstream status from memory. Explains the overlay metadata schema that documents why an overlay exists and when it can be dropped, covering the required category and upstream-status values, commit/bug URL references, and the per-file overlay metadata block. Triggers include overlay metadata, category, upstream-status, upstream-backport, azl-pruning, azl-branding-policy, needs-upstream-hook, why overlay.
Its SKILL.md is about 2.6k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
The repository describes itself as: General purpose Linux OS for Azure. The licence is MIT.
5 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit f019108. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
gitFrom the folder's file list and the shell code blocks in SKILL.md.
Hosts in commands or code, which the agent is likely to contact:
src.fedoraproject.orgFrom URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Azldev Overlay Metadata loads about 2.6k tokens when it runs. Until then it costs about 131 tokens; SKILL.md has 1,120 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from microsoft/azurelinux at commit f019108, republished under its MIT licence (© microsoft). 1,120 words, ~2,560 tokens.
.claude/skills/azldev-overlay-metadata/SKILL.md (or your agent's skills folder).Every overlay documents why it exists (description, required) and what class
of change it is (metadata). When a [metadata] block is present it requires both
a category and an upstream-status. This skill covers how to pick the right values,
attach provenance, and write the TOML at the moment you author or review an overlay.
Metadata is pure documentation — it never changes the rendered spec and is excluded
from component fingerprints, so adding or editing it never invalidates build caches or
locks. For overlay types and the render-and-inspect loop, read the azldev-overlays
skill; this skill is only about the metadata table.
[metadata] block = one logical changeA single logical change (a CVE backport, a feature disablement, a Fedora cherry-pick)
may need several overlays — e.g. remove a sub-package and drop the configure flags
that went with it. The per-file overlay format (overlay-files) captures exactly this:
one top-level [metadata] table and one or more [[overlays]] entries it applies to.
Per-overlay metadata inside an overlay file is rejected — the file-level block is
the single source of truth.
So: if you find yourself stamping the same metadata on several inline overlays, that is
a signal they are one logical change — move them into a single overlay file with one
[metadata] block.
[[components.<name>.overlays]] block or [[overlays]]
entry in an overlay file): add metadata with both a category and an upstream-status.category
and upstream-status to match the new intent.Choose exactly one category from this closed set (authoritative — matches
metadata.category in the schema):
category | Use when the overlay… | Extra required/expected fields |
|---|---|---|
upstream-backport | Backports a fix from an upstream source (Fedora dist-git or the component's OSS project) that AZL will inherit once it bumps past the fix. Self-resolves on version bump. | commits (≥1 upstream commit URL) — required. upstream-status must be upstreamed or upstreamable. |
azl-pruning | Removes content for AZL: unshipped deps, unneeded features, sub-packages, or files. | — |
azl-compatibility | Adapts a component to how Azure Linux is built and shipped — build tooling, buildroot, infrastructure, runtime ecosystem — when upstream builds/behaves incorrectly for AZL-specific reasons that are not branding, a missing dependency, architecture, or tests (e.g. azldev downloader quirks, rpmdiff reproducibility, buildroot gaps, Fedora version-skew). | — |
azl-temp-workaround | Temporary workaround explicitly intended to be dropped once an upstream or environmental fix lands. Covers a dependency not yet imported into AZL (or unavailable on a target) and any other transient workaround waiting on an external change. | — |
azl-branding-policy | Fedora→Azure Linux identity differences: intentional name/path/vendor conventions and spec fixes for upstream code that hard-codes Fedora identity strings (e.g. _vendor=redhat, <cpu>-redhat-linux[-gnu] triples, redhat-linux-build dirs). Also covers repointing a Source/URL tag from a Fedora mirror to an Azure Linux one (e.g. azurelinux-rpm-config, golang). | — |
azl-disable-flaky-tests | Skips tests that fail intermittently / due to environmental flakiness, not a real component bug. | — |
azl-disable-unsupported-tests | Skips tests that cannot meaningfully run in AZL's build/runtime env (need network, root, or unavailable hardware in mock). | — |
azl-security-compliance | Makes FIPS or crypto-policy changes. | — |
azl-release-management | Adjusts release-tag / changelog mechanics. | — |
azl-platform-adaptation | Makes architecture-specific adjustments. | — |
upstream-backport (supply commits, with
upstream-status of upstreamed or upstreamable). Use an azl-* category only when
the change is AZL-specific with no upstream equivalent.azl-pruning; temporarily working around a dep that should exist but hasn't been
imported yet (or any transient workaround waiting on an external fix) is
azl-temp-workaround.azl-disable-unsupported-tests; investigate or ask when
the failure mode is unclear.azl-platform-adaptation for
architecture-specific (%ifarch-style) changes; general toolchain/mock/build-env fixes
are azl-compatibility.upstream-statusRequired whenever [metadata] is present. It classifies the overlay's relationship to
upstream — "why are we carrying this?" and "what would it take to drop it?" Pick exactly one:
| Value | Meaning |
|---|---|
upstreamed | Already in Fedora; carried only until AZL bumps past it. |
upstreamable | The patch we carry is itself upstream-shaped (or already in the OSS project but not in Fedora yet); the same diff could be sent upstream and plausibly accepted. Link the upstream PR when you can. |
needs-upstream-hook | AZL-specific change that upstream wouldn't take as-is, but upstream could add a bcond/%if/config knob so we could drop the overlay. |
inapplicable | Permanent AZL-only deviation with no upstream story (branding, deliberate pruning, enterprise policy). |
unknown | Not yet assessed. Prefer a definite value; reviewers should push back on unknown before approving. |
On an upstream-backport overlay only upstreamed and upstreamable are allowed — any
other value is a validation error.
upstreamable vs. needs-upstream-hook: upstreamable means the patch we carry is
itself upstream-shaped (send the same diff upstream); needs-upstream-hook means the
change is AZL-specific and would not be accepted as-is, but upstream could add a hook
that makes patching unnecessary.
commits, bugs)commits — list of { url = "..." } tables pointing at upstream commits (absolute
http(s) URLs). Required for upstream-backport; optional elsewhere but valuable
whenever a change traces to a specific commit. For one logical change spanning several
commits, list them all. Verify each SHA actually exists upstream before recording it — a
discovered-and-verified URL is not "inventing" metadata; an unverified guess is.bugs — list of { url = "..." } tables referencing tracker entries. Never fabricate one.Prefer the per-file layout (an overlay file loaded via overlay-files) for all new
work — even a component with a single overlay. It keeps category/commits/bugs on
their own lines (no inline-table one-line limit) and means a change never has to be
reshuffled when it grows a second overlay. One top-level [metadata] table applies to
every [[overlays]] entry in the file.
Multi-overlay change (one logical change, several overlays):
# One logical change: drop the devel sub-package AZL does not ship.
[metadata]
category = "azl-pruning"
upstream-status = "inapplicable"
[[overlays]]
description = "Remove the devel sub-package — AZL ships no -devel for this component"
type = "spec-remove-subpackage"
package = "devel"
[[overlays]]
description = "Drop the BuildRequires only the devel sub-package needed"
type = "spec-remove-tag"
tag = "BuildRequires"
value = "some-devel-only-dep"Use inline metadata only when the component is already inline and you are not
restructuring it. A single-line inline table must fit on one line (no lists), so it is
limited to one or two scalar fields:
[[components.rpm.overlays]]
description = "Customize RPM vendor to Azure Linux"
type = "spec-search-replace"
regex = "RPM_VENDOR=redhat"
replacement = "RPM_VENDOR=azurelinux"
metadata = { category = "azl-branding-policy", upstream-status = "inapplicable" }Use the sub-table form whenever you need a list (commits, bugs) or more than a couple
of fields:
[[components.xclock.overlays]]
description = "Pass --force to autoreconf so the build survives newer autotools"
type = "spec-search-replace"
regex = "autoreconf -i"
replacement = "autoreconf -fi"
[components.xclock.overlays.metadata]
category = "upstream-backport"
upstream-status = "upstreamed"
commits = [{ url = "https://src.fedoraproject.org/rpms/xclock/c/1e407488" }]Adding or editing metadata must be a no-op on the rendered spec. Re-render and confirm there is no diff:
azldev comp render -p <name>
git diff specs/If you also moved overlays into files, prove the apply order was preserved with
azldev comp diff-sources -p <name> before and after — any difference means an overlay
changed or the sequence shifted. Metadata-only edits need no rebuild or lock refresh; if
you also changed an overlay's behavior, finalize with the azldev-update-component skill.
Generated by azldev docs agent; do not hand-edit.
© microsoft, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in .agents/skills/azldev-overlay-metadata of microsoft/azurelinux.
Open the folder on GitHubat commit f019108
Azldev Overlay Metadata next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Azldev Overlay Metadata this skillmicrosoft/azurelinux | 5.3k | — | ~2.6k | Automated safety check: Pass | MIT | |
| Captions Overlay Rulesheygen-com/hyperframes | 59k | 1 repos | ~1.5k | Automated safety check: Pass | Apache-2.0 | |
| Chat Motion Overlay Generatornexu-io/open-design | 100k | — | ~1.1k | Automated safety check: Pass | Apache-2.0 | |
| Manage Openapi Overlaystrycompai/comp | 2k | — | ~2.8k | Automated safety check: Pass | Apache-2.0 | |
| PR Review Community Overlaytractorjuice/arc-kit | 2.3k | — | ~3.9k | Automated safety check: Pass | Custom licence | |
| Maestro Overlaycatlog22/maestro-flow | 564 | — | ~4.2k | Automated safety check: Notes | None |
heygen-com/hyperframes
Rules for captioning talking-head and launch videos: classify each phrase as drop, rail or embed, and composite captions over the film instead of reserving space.
nexu-io/open-design
Turns a chat transcript or screenshot into a configurable animated chat clip, rendered as a Remotion bundle with optional transparency.
trycompai/comp
A skill your agent uses when creating, applying, or validating overlay files including x-speakeasy extensions.
tractorjuice/arc-kit
A skill your agent uses when reviewing a PR to tractorjuice/arc-kit that adds or extends a community jurisdictional overlay (e.g.
catlog22/maestro-flow
Create or edit command overlays from natural language, or auto-generate them from workflow deficiency signals
hashgraph-online/awesome-codex-plugins
Apply figure-ground separation specifically for overlays — modals, dialogs, drawers, popovers, dropdowns, toasts.
microsoft/azurelinux
Read this before adding or importing a component; follow the workflow instead of guessing.
microsoft/azurelinux
Read this before building a component or diagnosing a build failure; do not guess build flags or the inner loop.
microsoft/azurelinux
Read this before authoring, editing, or reviewing a .comp.toml file; do not work from memory.
microsoft/azurelinux
Read this before building, booting, or configuring an azldev image.
microsoft/azurelinux
Read this before testing or inspecting a built RPM; do not drive mock by hand from memory.
microsoft/azurelinux
Read this before adding, changing, or diagnosing any overlay; never edit a spec or rendered file from memory.
Read this before adding or reviewing an overlay metadata table; do not guess the category or upstream status from memory. Azldev Overlay Metadata is an agent skill from microsoft/azurelinux, published by the product's own GitHub organization. Read this before adding or reviewing an overlay metadata table; do not guess the category or upstream status from memory.
Azldev Overlay Metadata fits situations like: include overlay metadata; upstream-status; upstream-backport; azl-branding-policy.
Run `npx skills add microsoft/azurelinux --skill azldev-overlay-metadata -a claude-code`. Or copy the skill folder (.agents/skills/azldev-overlay-metadata in microsoft/azurelinux) into .claude/skills/azldev-overlay-metadata in your project. Claude Code loads it when a task matches its description.
Run `npx skills add microsoft/azurelinux --skill azldev-overlay-metadata -a codex`. Or copy the skill folder (.agents/skills/azldev-overlay-metadata in microsoft/azurelinux) into .agents/skills/azldev-overlay-metadata in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add microsoft/azurelinux --skill azldev-overlay-metadata -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/azldev-overlay-metadata, .gemini/skills/azldev-overlay-metadata, .github/skills/azldev-overlay-metadata and .opencode/skills/azldev-overlay-metadata in your project.
Going by SKILL.md and its folder, Azldev Overlay Metadata needs the command-line tools its instructions call (git).
SKILL.md names 1 domain. In commands or code: src.fedoraproject.org; the agent is likely to contact it when it follows the instructions. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Azldev Overlay Metadata is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.6k tokens (SKILL.md is roughly 10k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Azldev Overlay Metadata: Captions Overlay Rules (heygen-com/hyperframes, 59k stars), Chat Motion Overlay Generator (nexu-io/open-design, 100k stars), Manage Openapi Overlays (trycompai/comp, 2k stars) and PR Review Community Overlay (tractorjuice/arc-kit, 2.3k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
microsoft (a GitHub organization, an official publisher) maintains it in microsoft/azurelinux, which has 5,348 GitHub stars. The repository holds 10 skills in this directory. The repository was last updated on October 8, 2026.
Source: microsoft/azurelinux on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.