Agent skill

Validate Tt Mlir Against Tt Xla

by tenstorrent in tenstorrent/tt-mlir

Validate a tt-mlir PR against tt-xla by creating a cherry-picked branch and triggering CI.

Apache-2.0Auto-check passedTesting & QA

Install Validate Tt Mlir Against Tt Xla

skills CLI
$ npx skills add tenstorrent/tt-mlir --skill validate-tt-mlir-against-tt-xla -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install tenstorrent/tt-mlir validate-tt-mlir-against-tt-xla --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/tenstorrent/tt-mlir.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/validate-tt-mlir-against-tt-xla .claude/skills/validate-tt-mlir-against-tt-xla && rm -rf skills-src

Use ~/.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/

Facts

Skill name
validate-tt-mlir-against-tt-xla
GitHub stars
314
Token cost
~4.5k tokens
SKILL.md length
1,899 words
Files
1
Skills in repo
9
Repo updated
First seen
Licence
Apache-2.0

At a glance

Validate a tt-mlir PR against tt-xla by creating a cherry-picked branch and triggering CI.

  • Works in 12 steps: Identify the PR → Resolve tt-xla branch → Resolve the uplifted tt-mlir commit → …
  • The user wants to test
  • SKILL.md covers Repos, Workflow, Editing PR descriptions safely and Error handling
  • Calls gh, git and python3

What it does

Validate Tt Mlir Against Tt Xla is an agent skill from tenstorrent/tt-mlir. Validate a tt-mlir PR against tt-xla by creating a cherry-picked branch and triggering CI. Invoked as: /validate-tt-mlir-against-tt-xla <PR number or URL. Use this skill whenever the user wants to test, validate, qualify, or check a tt-mlir PR in tt-xla, or mentions running uplift qualification test suite, or asks to trigger tt-xla CI for a tt-mlir change. Also triggers when the user mentions "xla validate", "xla test", or "validate in xla".

Its SKILL.md is about 4.5k 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 Test generation. The repository describes itself as: Tenstorrent MLIR compiler. The licence is Apache-2.0.

When your agent uses it

  • The user wants to test
  • Check a tt-mlir PR in tt-xla
  • Mentions running uplift qualification test suite
  • Asks to trigger tt-xla CI for a tt-mlir change

Example prompts

  • “xla validate”
  • “xla test”
  • “validate in xla”
  • “/validate-tt-mlir-against-tt-xla”

Workflow steps

12 steps, taken from the step headings in SKILL.md.

  1. Identify the PR
  2. Resolve tt-xla branch
  3. Resolve the uplifted tt-mlir commit
  4. Gather remaining user inputs
  5. Re-run detection and stale uplift warning
  6. Create the branch
  7. Trigger tt-xla CI
  8. Update the PR description (initial — in_progress)
  9. Report to user and start polling
  10. Poll for run completion
  11. Finalize
  12. Analyze failures and report

What it can do on your machine

Read from SKILL.md and the folder at commit 78b7044. It shows what the files ask for, not the result of running them.

  • Tool permissions

    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.

  • Runs code

    Shell commands in SKILL.md call:

    • gh
    • git
    • python3

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use gh and git, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Validate Tt Mlir Against Tt Xla loads about 4.5k tokens when it runs. Until then it costs about 120 tokens; SKILL.md has 1,899 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~120
When it runs · the whole SKILL.md, loaded when a task matches
~4.5k

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.

Safety

Auto-check passed

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.

SKILL.md

The full file from tenstorrent/tt-mlir at commit 78b7044, republished under its Apache-2.0 licence (© tenstorrent). 1,899 words, ~4,460 tokens.

Download SKILL.mdSave it as .claude/skills/validate-tt-mlir-against-tt-xla/SKILL.md (or your agent's skills folder).
name
validate-tt-mlir-against-tt-xla
description
Validate a tt-mlir PR against tt-xla by creating a cherry-picked branch and triggering CI. Invoked as: /validate-tt-mlir-against-tt-xla <PR number or URL>. Use this skill whenever the user wants to test, validate, qualify, or check a tt-mlir PR in tt-xla, or mentions running uplift qualification test suite, or asks to trigger tt-xla CI for a tt-mlir change. Also triggers when the user mentions "xla validate", "xla test", or "validate in xla".

Validate tt-mlir PR in tt-xla

This skill automates cross-repo validation of tt-mlir PRs against tt-xla CI. The core idea: tt-xla pins a specific tt-mlir commit. To test a PR before it merges, you create a temporary branch that layers the PR's commits on top of that pinned commit, then trigger tt-xla's test workflows against it. The branch is ephemeral — it is deleted once CI completes, and always recreated fresh on each run.

Repos

  • tt-mlir: tenstorrent/tt-mlir (the PR lives here)
  • tt-xla: tenstorrent/tt-xla (CI runs here)

Workflow

1. Identify the PR

The PR number or URL can be provided as an argument (e.g. /validate-tt-mlir-against-tt-xla 1234). If not provided, detect the PR for the current branch:

bash
gh pr view $(git branch --show-current) --repo tenstorrent/tt-mlir --json number,headRefName,baseRefName,body,commits,state

If no PR is found for the current branch, ask once: PR number or URL:

Extract the PR metadata:

bash
gh pr view <PR> --repo tenstorrent/tt-mlir --json number,headRefName,baseRefName,body,commits,state

If the PR is merged or closed, stop — nothing to do.

2. Resolve tt-xla branch

Determine XLA_BRANCH before anything else — both the uplifted commit and test suite discovery depend on it.

Check if there is a related branch in tt-xla that the user might want to test against. Extract the PR author's GitHub username from the PR metadata, then search for their branches in tt-xla. The tt-xla repo has many branches (100+), so use --paginate:

bash
gh api "repos/tenstorrent/tt-xla/branches" --paginate \
  -q '.[].name' | grep -i "<author-username>"

tt-xla branches follow the convention username/branch-name (e.g. acicovic/rms-test). If any branches match the same author, evaluate whether each candidate branch is semantically related to the tt-mlir PR branch — not just keyword overlap. Strip the username/ prefix from both branches and compare the remaining names. Consider them related only if they clearly refer to the same feature, fix, or work item (e.g. add-permute-reshape-canon and permute-reshape-test are related; fix-reshape and reshape-perf-dashboard are not). When in doubt, treat the branch as unrelated.

If exactly one semantically related branch is found, present a choice via AskUserQuestion:

  • question: "Found a related tt-xla branch. Which branch to run CI against?"
  • "main (Recommended)"
  • "<matched-branch-name>" — with description noting the author match

If multiple related branches are found, list them all as options alongside main. If no related branch is found, silently default to main. The user can also override by specifying a branch as part of their invocation or in conversation. Call the result XLA_BRANCH.

3. Resolve the uplifted tt-mlir commit

Read the version pin from XLA_BRANCH:

bash
gh api "repos/tenstorrent/tt-xla/contents/third_party/CMakeLists.txt?ref=<XLA_BRANCH>" \
  -q .content | base64 -d \
  | grep -oP 'set\(TT_MLIR_VERSION "\K[^"]+'

This returns the SHA that XLA_BRANCH currently builds against. Call it UPLIFTED_SHA.

4. Gather remaining user inputs
Discover available test suites

Fetch the valid test_suite options directly from the workflow file — this is the authoritative source for what values manual-test.yml will actually accept:

bash
gh api "repos/tenstorrent/tt-xla/contents/.github/workflows/manual-test.yml?ref=<XLA_BRANCH>" \
  -q .content | base64 -d \
  | grep -A100 'test_suite:' | grep -oP "'\K[^']+"

Do not truncate this output — capture all options before selecting the default.

If the workflow uses options: under test_suite, parse those. If it uses a free-text input with no enumerated options, fall back to listing JSON files in test-matrix-presets/:

bash
gh api "repos/tenstorrent/tt-xla/git/trees/<XLA_BRANCH>?recursive=1" \
  -q '.tree[] | select(.path | test("test-matrix-presets/.*\\.json$")) | .path | split("/") | last | rtrimstr(".json")'

From the discovered suite names, identify the default suite by finding the one most likely intended for uplift/qualification testing. Look for names containing uplift, qualification, or mlir — in that priority order. If multiple match, prefer the most specific. If none match, present all suites to the user and ask them to designate a default. Never hardcode a suite name — always select from what was actually discovered.

The default suite always runs. From the remaining suites, pick the 3 most relevant to surface as additional options. If discovery fails entirely, fall back to a text prompt.

Ask remaining questions via AskUserQuestion

Use the AskUserQuestion tool with both questions batched together:

Question 1 — header: Extra suites, multiSelect: true

  • question: "<default-suite> will always run (discovered dynamically). Select additional suites to run in parallel, if any."
  • Options are the 3 most relevant non-default suites discovered above. Do NOT include the default suite as an option — it always runs.
  • The auto-added "Type something" option lets the user type any suite name not shown.
  • Leave all unselected to run the default suite only.

Question 2 — header: Baseline

  • question: "Baseline failure detection? Type a run ID to compare against a previous run."
  • "Skip — just report failures (Recommended)"
  • "Run baseline in parallel"
  • The auto-added "Type something" option lets the user paste a run ID as baseline.

Parse all answers before proceeding. The default suite always runs; selected extra suites run in parallel alongside it.

5. Re-run detection and stale uplift warning

Check if the xla-validate/<pr-number> branch already exists on the remote:

bash
git ls-remote --exit-code origin xla-validate/<pr-number>

If the branch exists, CI from a previous run is likely still in progress. Warn the user:

Note: xla-validate/<pr-number> already exists — a previous CI run may still be in progress. Re-triggering will delete and recreate the branch. Continue?

If they confirm, proceed. If not, stop.

If the branch does not exist but a previous validation block is present in the PR description, this is a re-run after the previous CI completed. Extract the previous UPLIFTED_SHA from the **Base (uplifted):** line in the description. If it differs from the current UPLIFTED_SHA, inform the user:

Note: tt-xla has uplifted to a newer tt-mlir commit since your last validation (<PREV_SHA_SHORT> → <UPLIFTED_SHA_SHORT>). The cherry-pick base has changed.

6. Create the branch

The branch name is always xla-validate/<pr-number>.

If the branch already exists (user confirmed re-trigger above), delete it first:

bash
git push origin --delete xla-validate/<pr-number>

Get the list of commits from the PR:

bash
gh api repos/tenstorrent/tt-mlir/pulls/<pr-number>/commits --paginate -q '.[].sha'

Fetch the PR's head ref to ensure all commit objects are present locally before cherry-picking (the commits may not exist in the local clone if the PR branch was never checked out):

bash
git fetch origin refs/pull/<pr-number>/head

Create the branch fresh by cherry-picking those commits onto UPLIFTED_SHA:

bash
git fetch origin <UPLIFTED_SHA>
git checkout -B xla-validate/<pr-number> <UPLIFTED_SHA>
git cherry-pick <commit1> <commit2> ... <commitN>
git push origin xla-validate/<pr-number>

If cherry-pick has conflicts, stop and tell the user — they need to resolve manually.

Get the HEAD SHA of the pushed branch — this is the MLIR_OVERRIDE_SHA for CI.

7. Trigger tt-xla CI

Dispatch the "Run test" workflow for each selected test suite:

bash
gh workflow run manual-test.yml \
  --repo tenstorrent/tt-xla \
  --ref <XLA_BRANCH> \
  -f test_suite=<suite> \
  -f mlir_override=<MLIR_OVERRIDE_SHA>

If the user chose baseline option 2, also dispatch baseline runs for each suite without mlir_override:

bash
gh workflow run manual-test.yml \
  --repo tenstorrent/tt-xla \
  --ref <XLA_BRANCH> \
  -f test_suite=<suite>

After dispatching, wait ~5 seconds then find the newly created runs. Record the timestamp just before dispatching and use it to filter:

bash
# capture before dispatch
DISPATCH_TIME=$(date -u +%Y-%m-%dT%H:%M:%SZ)

# ... dispatch commands ...

# wait for GitHub to register the run
sleep 5

gh run list --repo tenstorrent/tt-xla --workflow=manual-test.yml --limit 20 \
  --json databaseId,status,name,createdAt,url \
  --jq "[.[] | select(.createdAt >= \"$DISPATCH_TIME\")]"

Match each dispatched suite to exactly one run created at or after DISPATCH_TIME. If multiple candidates appear for the same suite, take the most recent. If no run appears within 15 seconds, retry once — GitHub Actions dispatch is occasionally slow.

Important: Re-triggering failed jobs within an existing run does NOT create a new run ID. The run ID is stable for the lifetime of the workflow run. Only dispatch creates new IDs. Once IDs are recorded here, treat them as final — never update them during polling.

Collect run URLs and IDs. These are the only IDs tracked for the rest of the skill.

Show full SKILL.md (828 more words)Show less
8. Update the PR description (initial — in_progress)

Immediately append (or replace) a validation block at the end of the PR description. Use HTML comment markers so the skill can find and replace it on re-runs.

IMPORTANT: Always use the tempfile approach for editing PR descriptions. Writing markdown with backticks, pipes, and special characters into shell variables causes escaping issues that can wipe the PR body. See the "Editing PR descriptions safely" section below for the exact procedure.

Format with no baseline (option 1):

markdown
<!-- xla-validate -->
---
### tt-xla Validation

**Base (uplifted):** `<UPLIFTED_SHA_SHORT>`
**tt-xla branch:** `<XLA_BRANCH>` ← omit this line when XLA_BRANCH is `main`

| Test Suite | Run | Status |
|------------|-----|--------|
| <default-suite> | [Run #<id>](<url>) | :hourglass: in_progress |
<!-- /xla-validate -->

Use the actual suite name discovered dynamically — never write a hardcoded name here.

Format with parallel baseline (option 2) — add a Baseline row beneath each PR row, marked with a (baseline) label:

markdown
| Test Suite | Run | Status |
|------------|-----|--------|
| <default-suite> | [Run #<id>](<url>) | :hourglass: in_progress |
| <default-suite> (baseline) | [Run #<id>](<url>) | :hourglass: in_progress |

Format with provided baseline (option 3) — same as option 2 but the baseline row links to the user-supplied run and starts as either in_progress or already-resolved depending on that run's current state.

On re-runs, replace everything between <!-- xla-validate --> and <!-- /xla-validate --> with the fresh block.

9. Report to user and start polling

Tell the user:

  • CI runs triggered with links
  • PR description updated with in_progress status
  • That you will monitor the runs and update the PR when they finish

Use the /loop skill (main agent) to poll every 3 minutes so the user can continue other work.

10. Poll for run completion

Each iteration, check the exact run IDs recorded in step 7 — never scan for new runs or add IDs during polling. Re-triggered jobs stay under the same run ID and will be reflected in the existing run's status automatically.

bash
gh run view <run-id> --repo tenstorrent/tt-xla --json status,conclusion,url

A run with re-triggered jobs may cycle through queued or in_progress again after previously being completed — this is normal. Keep polling until the run settles in a terminal state and stays there for one full poll cycle.

Report status in the terminal each iteration (e.g. [12:34] <default-suite>: in_progress, next check in 3min). Keep polling until all tracked runs (PR runs + any baseline runs) reach a terminal state (completed, failure, cancelled, timed_out).

11. Finalize

Once all runs are done:

  1. Delete the branch — it is no longer needed:

    bash
    git push origin --delete xla-validate/<pr-number>
  2. Update the PR description with final statuses. Map conclusions to status indicators:

    • success → :white_check_mark: passed
    • failure → :x: failed
    • cancelled → :no_entry_sign: cancelled
    • timed_out → :alarm_clock: timed_out

    If any PR runs failed, run the failure analysis (step 12) first so the failure table is included in the same edit.

  3. Notify the user with a summary of results.

12. Analyze failures and report

When a PR run fails, analyze the CI logs to identify which tests failed and why. Then add a compact failure table to the validation block.

Finding failed tests
  1. Get the failed jobs:
bash
gh run view <run-id> --repo tenstorrent/tt-xla --json jobs \
  --jq '.jobs[] | select(.conclusion == "failure") | {name, databaseId}'
  1. For each failed job, extract test names and errors:
bash
gh api repos/tenstorrent/tt-xla/actions/jobs/<job-id>/logs 2>&1 \
  | grep -E "FAILED|PASSED" | head -30
  1. Get error details for each failed test:
bash
gh api repos/tenstorrent/tt-xla/actions/jobs/<job-id>/logs 2>&1 \
  | grep -B5 -A15 "_____ test_all_models_jax\[<test-name>" | head -40
Comparing against baseline (options 2 and 3)

If the user requested a baseline, compare the failed tests against the baseline run's results to classify each failure:

  • If the same test failed in the baseline too → (pre-existing)
  • If the test passed in the baseline → (regression)
  • If the baseline is still in_progress, note that classification is pending

If no baseline was requested (option 1), omit the classification column entirely.

Failure table format

Add this directly below the status table in the validation block:

Without baseline:

markdown
#### Failures

| Test | Arch | Error |
|------|------|-------|
| `gpt2/causal_lm/jax-Base-inference` | n150, p150 | `XlaRuntimeError: Error code 13` |

With baseline:

markdown
#### Failures

| Test | Arch | Error | Classification |
|------|------|-------|----------------|
| `gpt2/causal_lm/jax-Base-inference` | n150, p150 | `XlaRuntimeError: Error code 13` | regression |
| `t5/summarization/jax-Base-inference` | n150, p150 | `XlaRuntimeError: Error code 13` | pre-existing |

Rules for the failure table:

  • Shorten test names: drop single_device and test_all_models_jax[] wrapper
  • Combine architectures if the same test fails on multiple (e.g. "n150, p150")
  • Error column: just the exception class and code/message
  • No graph URLs unless CI actually uploaded graph artifacts (check artifacts list first)

Editing PR descriptions safely

Shell variables containing markdown (backticks, pipes, dollar signs) break when passed through --body. Always use the tempfile + --body-file approach:

Writing the body
  1. Use the Write tool (or cat <<'HEREDOC' > /tmp/pr_body_<pr-number>.md) to write the full PR body to a temp file. Using a quoted heredoc (<<'EOF') prevents any shell expansion of the content.

  2. Apply the edit:

bash
gh pr edit <PR> --repo tenstorrent/tt-mlir --body-file /tmp/pr_body_<pr-number>.md
  1. Clean up:
bash
rm /tmp/pr_body_<pr-number>.md
Verification (required after every edit)

After every gh pr edit, immediately verify the body was applied correctly:

bash
BODY=$(gh pr view <PR> --repo tenstorrent/tt-mlir --json body -q .body)
if [ -z "$BODY" ]; then
  echo "ERROR: PR body is empty after edit!"
elif echo "$BODY" | grep -q "xla-validate"; then
  echo "OK: PR body looks correct"
else
  echo "WARNING: PR body may be corrupted — missing validation block"
fi

If verification fails:

  1. Re-read the current PR body to assess damage
  2. Reconstruct the full body (original content + validation block) using the Write tool
  3. Retry with --body-file
  4. Verify again
Constructing updated bodies for re-runs

When replacing an existing validation block, use Python for reliable text manipulation instead of shell tools like awk/sed/perl which struggle with markdown:

bash
python3 -c "
import sys
body = open('/tmp/pr_body_old_<pr-number>.md').read()
new_block = open('/tmp/pr_validation_block_<pr-number>.md').read()
start = body.find('<!-- xla-validate -->')
end = body.find('<!-- /xla-validate -->')
if start >= 0 and end >= 0:
    end = end + len('<!-- /xla-validate -->')
    body = body[:start] + new_block + body[end:]
else:
    body = body + '\n\n' + new_block
open('/tmp/pr_body_<pr-number>.md', 'w').write(body)
"

Error handling

  • Cherry-pick conflicts: Stop immediately, show the conflicting commit, and tell the user to resolve manually. Do not force through conflicts.
  • Branch push fails: Report clearly and stop.
  • Workflow dispatch fails: Delete the xla-validate/<pr-number> branch (it is no longer needed if CI cannot run), then check gh auth and repo permissions. Report the error.
  • Test suite discovery fails: Fall back to prompting the user to enter a suite name manually rather than erroring out.
  • PR not found: Verify the PR number/URL and repo.
  • PR body corrupted: See "Editing PR descriptions safely" — always verify and retry.

© tenstorrent, 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

Files

Just SKILL.md in .claude/skills/validate-tt-mlir-against-tt-xla of tenstorrent/tt-mlir.

Open the folder on GitHubat commit 78b7044

Compare with similar skills

Validate Tt Mlir Against Tt Xla 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.

Validate Tt Mlir Against Tt Xla compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Validate Tt Mlir Against Tt Xla this skilltenstorrent/tt-mlir314—~4.5kAutomated safety check: PassApache-2.0
Emcaklofas/kicad-happy1.4k1 repos~2.8kAutomated safety check: PassMIT
Swig Testswig/swig6.3k—~2.3kAutomated safety check: PassCustom licence
Generate Test Cases342164796/generate-test-cases1201 repos~2.9kAutomated safety check: PassNone
Wioworkersio/skills204—~5.8kAutomated safety check: PassMIT
Verify Cc Safety Netkenryu42/cc-safety-net1.6k—~2kAutomated safety check: PassMIT

Similar skills

  • Emc

    aklofas/kicad-happy

    EMC pre-compliance risk analysis for KiCad PCB designs — 18 check categories, 44 rule IDs covering ground planes, decoupling, I/O filtering, switching harmonics, clock routing, differential pair…

    1.4k GitHub starsUsed in 1 repo~2.8k tokens
    Testing & QAAuto-check passed
  • Swig Test

    swig/swig

    Run SWIG test suite for specific languages. An agent skill from swig/swig.

    6.3k GitHub stars~2.3k tokensUpdated 4 days ago
    Testing & QAAuto-check passed
  • Generate Test Cases

    342164796/generate-test-cases

    自主学习型测试文档生成器。从需求文档(Markdown)生成测试用例 XMind 文件,支持持久化记忆和持续学习。当用户提到"生成测试用例"、"根据需求生成测试"时触发。

    120 GitHub starsUsed in 1 repo~2.9k tokens
    Testing & QAAuto-check passed
  • Wio

    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.

    204 GitHub stars~5.8k tokensUpdated 2 mo ago
    Testing & QAAuto-check passed
  • Verify Cc Safety Net

    kenryu42/cc-safety-net

    Launch and drive the real cc-safety-net CLI — the hook decision path, explain, status/doctor, logs, and the local policy GUI — against an isolated home, capturing evidence.

    1.6k GitHub stars~2k tokensUpdated today
    Testing & QAAuto-check passed
  • File Server

    microsoft/WindowsProtocolTestSuites

    Official

    ALWAYS LOAD THIS SKILL when working with FileServer, SMB, SMB2, SMB3, CIFS, file sharing, MS-SMB2, MS-FSCC, MS-FSA, MS-DFSC, MS-FSRVP, MS-RSVD, MS-SQOS, or any file server protocol test…

    567 GitHub stars~4.1k tokensUpdated 25 days ago
    Testing & QAAuto-check passed

More from tenstorrent/tt-mlir

All 9 skills in this repo
  • Add Op

    tenstorrent/tt-mlir

    How to add a new operation (op) to the tt-mlir compiler across all layers: TTIR/TTNN dialect definitions, StableHLO composite conversion, TTIR-to-TTNN conversion, EmitC/EmitPy conversions…

    314 GitHub stars~11k tokensUpdated yesterday
    Auto-check passed
  • Add Ttir Builder Op

    tenstorrent/tt-mlir

    Add full builder API support (@tag, @parse, @split) for a TTIR op.

    314 GitHub stars~1.6k tokensUpdated yesterday
    Auto-check passed
  • Run Ops Mlir Snippets

    tenstorrent/tt-mlir

    Compile and optionally execute every func.func in an ops.mlir-style snippet file (or every .mlir file in a directory) using runopsmlirsnippets.py.

    314 GitHub stars~1.8k tokensUpdated yesterday
    Auto-check passed
  • Add a new composite op decomposition pattern to the TTMetal pipeline.

    314 GitHub stars~2.2k tokensUpdated yesterday
    Auto-check passed
  • Uplift Ttsim CI

    tenstorrent/tt-mlir

    Uplift the TTSim version used by tt-mlir CI and refresh WH/BH simulator skips.

    314 GitHub stars~3.1k tokensUpdated yesterday
    Auto-check passed
  • Triage Tt Metal Asserts

    tenstorrent/tt-mlir

    Triage a tt-metal uplift diff or digest of TTFATAL validation changes against what tt-mlir guarantees at each optimization level (0: workarounds only, 1: optimizer with DRAM-only fallback, 2: L1…

    314 GitHub stars~7.8k tokensUpdated yesterday
    Auto-check passed

Categories

Questions about Validate Tt Mlir Against Tt Xla

What does Validate Tt Mlir Against Tt Xla do?

Validate a tt-mlir PR against tt-xla by creating a cherry-picked branch and triggering CI. Validate Tt Mlir Against Tt Xla is an agent skill from tenstorrent/tt-mlir. Validate a tt-mlir PR against tt-xla by creating a cherry-picked branch and triggering CI.

When should I use Validate Tt Mlir Against Tt Xla?

Validate Tt Mlir Against Tt Xla fits situations like: the user wants to test; check a tt-mlir PR in tt-xla; mentions running uplift qualification test suite; asks to trigger tt-xla CI for a tt-mlir change.

How do I install Validate Tt Mlir Against Tt Xla in Claude Code?

Run `npx skills add tenstorrent/tt-mlir --skill validate-tt-mlir-against-tt-xla -a claude-code`. Or copy the skill folder (.claude/skills/validate-tt-mlir-against-tt-xla in tenstorrent/tt-mlir) into .claude/skills/validate-tt-mlir-against-tt-xla in your project. Claude Code loads it when a task matches its description.

How do I install Validate Tt Mlir Against Tt Xla in Codex?

Run `npx skills add tenstorrent/tt-mlir --skill validate-tt-mlir-against-tt-xla -a codex`. Or copy the skill folder (.claude/skills/validate-tt-mlir-against-tt-xla in tenstorrent/tt-mlir) into .agents/skills/validate-tt-mlir-against-tt-xla in your project. Codex loads it when a task matches its description.

Can I use Validate Tt Mlir Against Tt Xla in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add tenstorrent/tt-mlir --skill validate-tt-mlir-against-tt-xla -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/validate-tt-mlir-against-tt-xla, .gemini/skills/validate-tt-mlir-against-tt-xla, .github/skills/validate-tt-mlir-against-tt-xla and .opencode/skills/validate-tt-mlir-against-tt-xla in your project.

What does Validate Tt Mlir Against Tt Xla need to run?

Going by SKILL.md and its folder, Validate Tt Mlir Against Tt Xla needs the command-line tools its instructions call (gh, git and python3).

Does Validate Tt Mlir Against Tt Xla access the network?

SKILL.md contains no URLs. Its commands use gh and git, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Validate Tt Mlir Against Tt Xla safe to install?

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.

What licence does Validate Tt Mlir Against Tt Xla use?

Validate Tt Mlir Against Tt Xla 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.

How many tokens does Validate Tt Mlir Against Tt Xla use?

About 4.5k tokens (SKILL.md is roughly 18k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Validate Tt Mlir Against Tt Xla?

Skills that share tags, products or a category with Validate Tt Mlir Against Tt Xla: Emc (aklofas/kicad-happy, 1.4k stars), Swig Test (swig/swig, 6.3k stars), Generate Test Cases (342164796/generate-test-cases, 120 stars) and Wio (workersio/skills, 204 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Validate Tt Mlir Against Tt Xla?

tenstorrent (a GitHub organization) maintains it in tenstorrent/tt-mlir, which has 314 GitHub stars. The repository holds 9 skills in this directory. The repository was last updated on October 10, 2026.

Source: tenstorrent/tt-mlir on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.