Swig Test
swig/swig
Run SWIG test suite for specific languages. An agent skill from swig/swig.
Describes a decision tree of steps and skills to utilize when, starting from a test failure or the failure of bazel run command using heir-opt, you would like to produce a reproducing input IR that…
$ npx skills add google/heir --skill reproduce-failure -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install google/heir reproduce-failure --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/google/heir.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/reproduce_failure .claude/skills/reproduce-failure && 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 "reproduce-failure" agent skill from https://github.com/google/heir/tree/main/.agents/skills/reproduce_failure into .claude/skills/reproduce-failure/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "reproduce-failure", 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/google/heir/tree/main/.agents/skills/reproduce_failureType 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 google/heir --skill reproduce-failure -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install google/heir reproduce-failure --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/google/heir.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.agents/skills/reproduce_failure .agents/skills/reproduce-failure && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "reproduce-failure" agent skill from https://github.com/google/heir/tree/main/.agents/skills/reproduce_failure into .agents/skills/reproduce-failure/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "reproduce-failure", 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 google/heir --skill reproduce-failure -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install google/heir reproduce-failure --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/google/heir.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.agents/skills/reproduce_failure .cursor/skills/reproduce-failure && 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 "reproduce-failure" agent skill from https://github.com/google/heir/tree/main/.agents/skills/reproduce_failure into .cursor/skills/reproduce-failure/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "reproduce-failure", 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/google/heir.git --path .agents/skills/reproduce_failure--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 google/heir --skill reproduce-failure -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install google/heir reproduce-failure --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/google/heir.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.agents/skills/reproduce_failure .gemini/skills/reproduce-failure && 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 "reproduce-failure" agent skill from https://github.com/google/heir/tree/main/.agents/skills/reproduce_failure into .gemini/skills/reproduce-failure/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "reproduce-failure", 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 google/heir reproduce-failureInstalls 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 google/heir --skill reproduce-failure -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/google/heir.git skills-src && mkdir -p .github/skills && cp -r skills-src/.agents/skills/reproduce_failure .github/skills/reproduce-failure && 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 "reproduce-failure" agent skill from https://github.com/google/heir/tree/main/.agents/skills/reproduce_failure into .github/skills/reproduce-failure/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "reproduce-failure", 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 google/heir --skill reproduce-failure -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install google/heir reproduce-failure --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/google/heir.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.agents/skills/reproduce_failure .opencode/skills/reproduce-failure && 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 "reproduce-failure" agent skill from https://github.com/google/heir/tree/main/.agents/skills/reproduce_failure into .opencode/skills/reproduce-failure/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "reproduce-failure", 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.
reproduce-failureDescribes a decision tree of steps and skills to utilize when, starting from a test failure or the failure of bazel run command using heir-opt, you would like to produce a reproducing input IR that…
Reproduce Failure is an agent skill from google/heir, published by the product's own GitHub organization. Describes a decision tree of steps and skills to utilize when, starting from a test failure or the failure of bazel run command using heir-opt, you would like to produce a reproducing input IR that fails on a particular compiler pass.
Its SKILL.md is about 1.4k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Testing & QA, covering Failing and flaky tests. The repository describes itself as: The compiler for homomorphic encryption. The licence is Apache-2.0.
5 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 26da825. 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:
bazelFrom 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.
Reproduce Failure loads about 1.4k tokens when it runs. Until then it costs about 64 tokens; SKILL.md has 634 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 google/heir at commit 26da825, republished under its Apache-2.0 licence (© google). 634 words, ~1,397 tokens.
.claude/skills/reproduce-failure/SKILL.md (or your agent's skills folder).This skill guides the agent in identifying an IR and compiler pass that
reproduces a failure from a lit or e2e test target, or from a bazel run
command that runs heir-opt.
To reproduce a failure, follow these steps.
The user may input one of multiple "starting points" for a failure.
bazel run command.lit test target or bazel test command pointing to such a target, such
as
//tests/Transforms/convert_to_ciphertext_semantics:assign_layout.mlir.test,third_party/heir/tests/Transforms/convert_to_ciphertext_semantics/assign_layout.mlir//tests/Examples/lattigo/ckks/dot_product_8f:dotproduct8f_test,third_party/heir/tests/Examples/lattigo/ckks/dot_product_8f/dot_product_8f_test.goReiterate to the user that you understand which of these options are the
starting point, and if the user provides a starting point that doesn't fit into
one of these options, warn them and then ask for confirmation when improvising
how to convert their failure to a bazel run command in the next step.
bazel run commandFor option 1 (A direct bazel run command), nothing is needed, continue to the
next step.
For option 2, use the lit_to_bazel skill.
For option 3, use the e2e_to_bazel skill.
At the end of this step, you should have a bazel run command that reproduces
the user's error, but that command may run many compiler passes in a pipeline.
The remaining steps will reduce the bazel run command to a more minimal
reproducer.
Run it to ensure it reproduces the user's error.
Use the dump_intermediate_ir skill to augment the bazel run command with
appropriate flags, so that it writes relevant files that contain the IR and pass
options.
Then inspect the right file (usually the last file dumped before an error occurs) to identify the IR and pass options. The dumped IR should include near the top of the file, a comment like
// -----// IR Dump Before CanonicalizerPass: canonicalize{cse-between-iterations=false max-iterations=5 max-num-rewrites=-1 region-simplify=normal test-convergence=false top-down=true} //----- //The part after : is the relevant pass name and options that will be needed in
the next step. The rest of the file content is the IR that will be needed in the
next step.
bazel run command for the individual passGiven the information from previous steps, construct a bazel run command of
the form:
bazel run //tools:heir-opt -- \
--pass-pipeline="<PASS_AND_OPTIONS>" \
<IR_FILE>where <PASS_AND_OPTIONS> corresponds to the "pass name and options" from the
previous step, and <IR_FILE> corresponds to the dumped IR for that pass.
At this step, run the new bazel run command and make sure that it reproduces
the error.
lit test fileCopy the IR to a new lit regression test file with the bazel run command
modified to a // RUN: line.
The new test should live in third_party/heir/tests/Regression/ and have at the
top of the file a comment describing the origin of the reproducer along with the
// RUN: line.
For example, if the reduced bazel run command from the previous step was
bazel run //tools:heir-opt -- \
--pass-pipeline="canonicalze{cse-between-iterations=true}" \
/tmp/mlir/foo.mlirand the original command was
bazel run //tools:heir-opt -- --big-pipeline /path/to/file.mlir
Then the corresponding lit file should start with
// This file is a minimal reproducer of a failure originally produced with
//
// heir-opt --big-pipeline /path/to/file.mlir
//
// RUN: heir-opt --pass-pipeline="canonicalze{cse-between-iterations=true}" %sBelow that header, place the reproducing IR from the previous step. Then confirm
the test exercises the test failure once more by running
bazel test //tests/Regression:<name_of_file.mlir>.test.
The <name_of_file.mlir> should be chosen appropriately according to the
following heuristic:
issue_1480.mlir.dot_product_8f_regression.mlirdot_product_secret_to_ckks.mlirRENAME_ME_regression_test.mlirCopy this checklist and track progress:
- [ ] Step 1: Identify the starting point of the process
- [ ] Step 2: Identify the right `bazel run` command
- [ ] Step 3: Identify the specific IR, pass, and pass options
- [ ] Step 4: Construct the `bazel run` command for the individual pass
- [ ] Step 5: Create a reproducing `lit` test file
Each step corresponds to a section mentioned above.<!-- mdformat global-off -->
© google, Apache-2.0. 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/reproduce_failure of google/heir.
Open the folder on GitHubat commit 26da825
Reproduce Failure 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 |
|---|---|---|---|---|---|---|
| Reproduce Failure this skillgoogle/heir | 929 | — | ~1.4k | Automated safety check: Pass | Apache-2.0 | |
| Swig Testswig/swig | 6.3k | — | ~2.3k | Automated safety check: Pass | Custom licence | |
| Triage CI FailureDataDog/datadog-agent | 3.8k | — | ~2.3k | Automated safety check: Pass | Apache-2.0 | |
| Dynamo Jira TicketDynamoDS/Dynamo | 2k | — | ~1.1k | Automated safety check: Pass | Apache-2.0 | |
| Fix Ready PRsfastrepl/anarlog | 9.5k | — | ~1.4k | Automated safety check: Pass | MIT | |
| Trx Analysismicrosoft/vstest | 969 | — | ~1.8k | Automated safety check: Pass | MIT |
swig/swig
Run SWIG test suite for specific languages. An agent skill from swig/swig.
DataDog/datadog-agent
Classify a failed CI as either caused by an active incident, flakiness, or a true code regression.
DynamoDS/Dynamo
Create structured Jira tickets for Dynamo from bug reports, failing tests, or feature requests.
fastrepl/anarlog
Inspect every open non-draft PR for CI failures and unresolved Cursor Bugbot findings, then fix them on the existing PR branches.
microsoft/vstest
Parse and analyze Visual Studio TRX test result files. An agent skill from microsoft/vstest.
workersio/skills
Testing workflow skill for finding high-value test candidates, writing focused tests, generating realistic workloads, reviewing test value, and diagnosing test-suite health.
google/heir
Converts MLIR lit test files to bazel run commands. An agent skill from google/heir.
google/heir
Converts end-to-end (e2e) test targets or paths to bazel run commands for heir-opt.
google/heir
Augments a bazel run CLI command for heir-opt with additional flags that dump the IR before each compiler pass, allowing the agent to inspect intermediate IR during compilation, identify a…
Categories
Describes a decision tree of steps and skills to utilize when, starting from a test failure or the failure of bazel run command using heir-opt, you would like to produce a reproducing input IR that…. Reproduce Failure is an agent skill from google/heir, published by the product's own GitHub organization. Describes a decision tree of steps and skills to utilize when, starting from a test failure or the failure of bazel run command using heir-opt, you would like to produce a reproducing input IR that fails on a particular compiler pass.
Reproduce Failure fits situations like: tasks that involve Failing and flaky tests.
Run `npx skills add google/heir --skill reproduce-failure -a claude-code`. Or copy the skill folder (.agents/skills/reproduce_failure in google/heir) into .claude/skills/reproduce-failure in your project. Claude Code loads it when a task matches its description.
Run `npx skills add google/heir --skill reproduce-failure -a codex`. Or copy the skill folder (.agents/skills/reproduce_failure in google/heir) into .agents/skills/reproduce-failure 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 google/heir --skill reproduce-failure -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/reproduce-failure, .gemini/skills/reproduce-failure, .github/skills/reproduce-failure and .opencode/skills/reproduce-failure in your project.
Going by SKILL.md and its folder, Reproduce Failure needs the command-line tools its instructions call (bazel).
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.
Reproduce Failure is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.4k tokens (SKILL.md is roughly 5.6k 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 Reproduce Failure: Swig Test (swig/swig, 6.3k stars), Triage CI Failure (DataDog/datadog-agent, 3.8k stars), Dynamo Jira Ticket (DynamoDS/Dynamo, 2k stars) and Fix Ready PRs (fastrepl/anarlog, 9.5k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
google (a GitHub organization, an official publisher) maintains it in google/heir, which has 929 GitHub stars. The repository holds 4 skills in this directory. The repository was last updated on October 9, 2026.
Source: google/heir on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.