Object Alt
thedaviddias/Front-End-Checklist
A skill your agent uses when reviewing rendered HTML, interactive components, or design-system patterns related to Provide alternative text for objects.
Optimization skill — reuse NPU BufferObjects across calls instead of re-allocating/re-writing them.
$ npx skills add Xilinx/mlir-air --skill opt-buffer-object-reuse -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install Xilinx/mlir-air opt-buffer-object-reuse --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/Xilinx/mlir-air.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/opt-buffer-object-reuse .claude/skills/opt-buffer-object-reuse && 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 "opt-buffer-object-reuse" agent skill from https://github.com/Xilinx/mlir-air/tree/main/.claude/skills/opt-buffer-object-reuse into .claude/skills/opt-buffer-object-reuse/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "opt-buffer-object-reuse", 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/Xilinx/mlir-air/tree/main/.claude/skills/opt-buffer-object-reuseType 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 Xilinx/mlir-air --skill opt-buffer-object-reuse -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install Xilinx/mlir-air opt-buffer-object-reuse --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Xilinx/mlir-air.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.claude/skills/opt-buffer-object-reuse .agents/skills/opt-buffer-object-reuse && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "opt-buffer-object-reuse" agent skill from https://github.com/Xilinx/mlir-air/tree/main/.claude/skills/opt-buffer-object-reuse into .agents/skills/opt-buffer-object-reuse/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "opt-buffer-object-reuse", 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 Xilinx/mlir-air --skill opt-buffer-object-reuse -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install Xilinx/mlir-air opt-buffer-object-reuse --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Xilinx/mlir-air.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.claude/skills/opt-buffer-object-reuse .cursor/skills/opt-buffer-object-reuse && 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 "opt-buffer-object-reuse" agent skill from https://github.com/Xilinx/mlir-air/tree/main/.claude/skills/opt-buffer-object-reuse into .cursor/skills/opt-buffer-object-reuse/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "opt-buffer-object-reuse", 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/Xilinx/mlir-air.git --path .claude/skills/opt-buffer-object-reuse--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 Xilinx/mlir-air --skill opt-buffer-object-reuse -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install Xilinx/mlir-air opt-buffer-object-reuse --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Xilinx/mlir-air.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.claude/skills/opt-buffer-object-reuse .gemini/skills/opt-buffer-object-reuse && 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 "opt-buffer-object-reuse" agent skill from https://github.com/Xilinx/mlir-air/tree/main/.claude/skills/opt-buffer-object-reuse into .gemini/skills/opt-buffer-object-reuse/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "opt-buffer-object-reuse", 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 Xilinx/mlir-air opt-buffer-object-reuseInstalls 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 Xilinx/mlir-air --skill opt-buffer-object-reuse -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/Xilinx/mlir-air.git skills-src && mkdir -p .github/skills && cp -r skills-src/.claude/skills/opt-buffer-object-reuse .github/skills/opt-buffer-object-reuse && 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 "opt-buffer-object-reuse" agent skill from https://github.com/Xilinx/mlir-air/tree/main/.claude/skills/opt-buffer-object-reuse into .github/skills/opt-buffer-object-reuse/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "opt-buffer-object-reuse", 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 Xilinx/mlir-air --skill opt-buffer-object-reuse -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install Xilinx/mlir-air opt-buffer-object-reuse --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Xilinx/mlir-air.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.claude/skills/opt-buffer-object-reuse .opencode/skills/opt-buffer-object-reuse && 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 "opt-buffer-object-reuse" agent skill from https://github.com/Xilinx/mlir-air/tree/main/.claude/skills/opt-buffer-object-reuse into .opencode/skills/opt-buffer-object-reuse/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "opt-buffer-object-reuse", 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.
opt-buffer-object-reuseOptimization skill — reuse NPU BufferObjects across calls instead of re-allocating/re-writing them.
Opt Buffer Object Reuse is an agent skill from Xilinx/mlir-air. Optimization skill — reuse NPU BufferObjects across calls instead of re-allocating/re-writing them. Two mechanics in one class: (B1) per-layer weight BOs pre-loaded once and skipped via staticinputindices, and (B2) intermediate BOs the kernel overwrites, skipped via intermediateindices. Invoked by phase-4-prefill-optimization and phase-5-decode-optimization to cut redundant host↔NPU data movement. Decode amplifies the weight-BO win (weights reused on every token).
Its SKILL.md is about 1.3k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
The licence is MIT.
5 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit bca27e5. 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:
makeFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From 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.
Opt Buffer Object Reuse loads about 1.3k tokens when it runs. Until then it costs about 124 tokens; SKILL.md has 574 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 Xilinx/mlir-air at commit bca27e5, republished under its MIT licence (© Xilinx). 574 words, ~1,325 tokens.
.claude/skills/opt-buffer-object-reuse/SKILL.md (or your agent's skills folder).NPU kernels re-allocate and re-upload BufferObjects (BOs) on every call by default. For an N-layer transformer that re-runs the same kernels per layer (prefill) and per token (decode), this is pure redundant host↔NPU traffic. This skill removes it. It is the same optimization the reference ablation isolated as cells A→B (weight BOs) and B→C (intermediate BOs); together they were a multi-second prefill saving and the dominant decode host-side cost.
Two mechanics, one class:
static_input_indices): allocate each
layer's weight BOs once during setup, write them once, and pass
static_input_indices=[<weight slots>] on every cache.load_and_run() so
the runtime skips re-writing them.intermediate_indices): for buffers the kernel
fully overwrites (its own outputs / scratch), pass
intermediate_indices=[<output slots>] so the host does not write them
before the call.Applying this skill is "successful" when ALL hold:
max_abs / max_rel informational (match the BF16 convention from
phase-1-kernel-validation; do not use a tight rtol).make verify still PASSES (the end-to-end gate; token-set top-k vs HF bf16).If (1)/(2) regress (NaN or garbage on the 2nd+ call, correct on the 1st) →
the BO bookkeeping is wrong; invoke debug-bo-corruption.
If (3) shows no gain → the per-call upload wasn't the bottleneck here;
document and keep or revert.
programming_examples/llms/llama_kernel_builder/cache.py —
KernelCache.load_and_run, the static_input_indices /
intermediate_indices mechanics this skill drives.programming_examples/llms/llama32_1b/multi_launch_builder/* — the worked
example of weight + intermediate BO slots passed to a fused ELF.programming_examples/llms/llama32_1b/llama32_1b_inference.py —
prepare_runtime / setup where per-layer BOs are allocated once.From the kernel group's argument signature, classify each BO slot:
static_input_indices).intermediate_indices).prepare_runtime() (setup), keyed per
layer (e.g. bo_key=f"kernel_L{layer_idx}"), and write the weights ONCE.cache.load_and_run(), pass static_input_indices=[<weight slots>]
so the runtime does not re-upload them.intermediate_indices=[<output slots>] on cache.load_and_run() so the
host does not write that buffer before the call.Same mechanic, two contexts (pass which one as the caller's parameter):
make verify → must still PASS.| Symptom | Likely cause | Where to look |
|---|---|---|
| Correct on 1st call, NaN/garbage on 2nd+ call | per-layer BO key collision OR static_input_indices slot list wrong | Invoke debug-bo-corruption |
| Output mismatch on the very 1st call | a slot marked intermediate is actually read before being written | Re-classify that slot as a real input (drop it from intermediate_indices) |
| No host-time reduction | the per-call upload wasn't the bottleneck (kernel-bound) | Document; the merge skill (dispatch) or opt-layout-alignment may be the bigger win |
For any failure not in the table, invoke superpowers:systematic-debugging.
Append to <model>/docs/development_progress/phase{4,5}_*.md:
## Buffer-object reuse
- B1 weight BOs: applied / skipped (reason)
- B2 intermediate BOs: applied / skipped (reason)
- Host/wall time before: X ms
- Host/wall time after: Y ms
- Cosine vs baseline: <value> | make verify: PASS/FAIL© Xilinx, 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 .claude/skills/opt-buffer-object-reuse of Xilinx/mlir-air.
Open the folder on GitHubat commit bca27e5
Opt Buffer Object Reuse 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 |
|---|---|---|---|---|---|---|
| Opt Buffer Object Reuse this skillXilinx/mlir-air | 150 | — | ~1.3k | Automated safety check: Pass | MIT | |
| Object Altthedaviddias/Front-End-Checklist | 74k | — | ~429 | Automated safety check: Pass | MIT | |
| Bio Variant Calling Joint CallingFreedomIntelligence/OpenClaw-Medical-Skills | 3.1k | 1 repos | ~2.1k | Automated safety check: Pass | None | |
| BufferLeoYeAI/openclaw-master-skills | 2.2k | — | ~7.5k | Automated safety check: Pass | MIT | |
| Object Storagesickn33/agentic-awesome-skills | 47k | 2 repos | ~2.6k | Automated safety check: Pass | MIT | |
| Bio Variant Calling Structural Variant CallingFreedomIntelligence/OpenClaw-Medical-Skills | 3.1k | — | ~1.7k | Automated safety check: Pass | None |
thedaviddias/Front-End-Checklist
A skill your agent uses when reviewing rendered HTML, interactive components, or design-system patterns related to Provide alternative text for objects.
FreedomIntelligence/OpenClaw-Medical-Skills
Joint genotype calling across multiple samples using GATK CombineGVCFs and GenotypeGVCFs.
LeoYeAI/openclaw-master-skills
Buffer API integration with managed authentication. An agent skill from LeoYeAI/openclaw-master-skills.
sickn33/agentic-awesome-skills
Configure object storage with S3, GCS, and MinIO. An agent skill from sickn33/agentic-awesome-skills.
FreedomIntelligence/OpenClaw-Medical-Skills
Call structural variants (SVs) from short-read sequencing using Manta, Delly, and LUMPY.
alirezarezvani/claude-skills
/em:hard-call — Framework for decisions with no good options.
Xilinx/mlir-air
A skill your agent uses when an NPU kernel passes its standalone shape test but produces NaN, garbage, or stale values when invoked as part of a larger pipeline.
Xilinx/mlir-air
A skill your agent uses when NPU FlashAttention hangs (ERTCMDSTATETIMEOUT) or produces NaN at headdim ≥ 128.
Xilinx/mlir-air
A skill your agent uses when stitching kernels into a multi-launch ELF and the AIE compiler rejects the merged module (BD exhaustion, channel routing, herd shape conflict, IR validation error, DMA…
Xilinx/mlir-air
Entry point for deploying a new decoder-only LLM on AMD NPU2.
Xilinx/mlir-air
Optimization skill — choose activation layouts so consecutive kernels hand off on-device without a host-side transpose.
Xilinx/mlir-air
Procedural recipe for fusing multiple air.launch kernels into one multi-launch ELF (single XRT invocation).
Optimization skill — reuse NPU BufferObjects across calls instead of re-allocating/re-writing them. Opt Buffer Object Reuse is an agent skill from Xilinx/mlir-air. Optimization skill — reuse NPU BufferObjects across calls instead of re-allocating/re-writing them.
Run `npx skills add Xilinx/mlir-air --skill opt-buffer-object-reuse -a claude-code`. Or copy the skill folder (.claude/skills/opt-buffer-object-reuse in Xilinx/mlir-air) into .claude/skills/opt-buffer-object-reuse in your project. Claude Code loads it when a task matches its description.
Run `npx skills add Xilinx/mlir-air --skill opt-buffer-object-reuse -a codex`. Or copy the skill folder (.claude/skills/opt-buffer-object-reuse in Xilinx/mlir-air) into .agents/skills/opt-buffer-object-reuse 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 Xilinx/mlir-air --skill opt-buffer-object-reuse -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/opt-buffer-object-reuse, .gemini/skills/opt-buffer-object-reuse, .github/skills/opt-buffer-object-reuse and .opencode/skills/opt-buffer-object-reuse in your project.
Going by SKILL.md and its folder, Opt Buffer Object Reuse needs the command-line tools its instructions call (make).
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. 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.
Opt Buffer Object Reuse is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.3k tokens (SKILL.md is roughly 5.3k 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 Opt Buffer Object Reuse: Object Alt (thedaviddias/Front-End-Checklist, 74k stars), Bio Variant Calling Joint Calling (FreedomIntelligence/OpenClaw-Medical-Skills, 3.1k stars), Buffer (LeoYeAI/openclaw-master-skills, 2.2k stars) and Object Storage (sickn33/agentic-awesome-skills, 47k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
Xilinx (a GitHub organization) maintains it in Xilinx/mlir-air, which has 150 GitHub stars. The repository holds 15 skills in this directory. The repository was last updated on October 7, 2026.
Source: Xilinx/mlir-air on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.