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…
Validate a tt-mlir PR against tt-xla by creating a cherry-picked branch and triggering CI.
$ npx skills add tenstorrent/tt-mlir --skill validate-tt-mlir-against-tt-xla -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install tenstorrent/tt-mlir validate-tt-mlir-against-tt-xla --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/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-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 "validate-tt-mlir-against-tt-xla" agent skill from https://github.com/tenstorrent/tt-mlir/tree/main/.claude/skills/validate-tt-mlir-against-tt-xla into .claude/skills/validate-tt-mlir-against-tt-xla/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "validate-tt-mlir-against-tt-xla", 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/tenstorrent/tt-mlir/tree/main/.claude/skills/validate-tt-mlir-against-tt-xlaType 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 tenstorrent/tt-mlir --skill validate-tt-mlir-against-tt-xla -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install tenstorrent/tt-mlir validate-tt-mlir-against-tt-xla --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/tenstorrent/tt-mlir.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.claude/skills/validate-tt-mlir-against-tt-xla .agents/skills/validate-tt-mlir-against-tt-xla && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "validate-tt-mlir-against-tt-xla" agent skill from https://github.com/tenstorrent/tt-mlir/tree/main/.claude/skills/validate-tt-mlir-against-tt-xla into .agents/skills/validate-tt-mlir-against-tt-xla/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "validate-tt-mlir-against-tt-xla", 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 tenstorrent/tt-mlir --skill validate-tt-mlir-against-tt-xla -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install tenstorrent/tt-mlir validate-tt-mlir-against-tt-xla --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/tenstorrent/tt-mlir.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.claude/skills/validate-tt-mlir-against-tt-xla .cursor/skills/validate-tt-mlir-against-tt-xla && 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 "validate-tt-mlir-against-tt-xla" agent skill from https://github.com/tenstorrent/tt-mlir/tree/main/.claude/skills/validate-tt-mlir-against-tt-xla into .cursor/skills/validate-tt-mlir-against-tt-xla/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "validate-tt-mlir-against-tt-xla", 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/tenstorrent/tt-mlir.git --path .claude/skills/validate-tt-mlir-against-tt-xla--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 tenstorrent/tt-mlir --skill validate-tt-mlir-against-tt-xla -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install tenstorrent/tt-mlir validate-tt-mlir-against-tt-xla --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/tenstorrent/tt-mlir.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.claude/skills/validate-tt-mlir-against-tt-xla .gemini/skills/validate-tt-mlir-against-tt-xla && 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 "validate-tt-mlir-against-tt-xla" agent skill from https://github.com/tenstorrent/tt-mlir/tree/main/.claude/skills/validate-tt-mlir-against-tt-xla into .gemini/skills/validate-tt-mlir-against-tt-xla/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "validate-tt-mlir-against-tt-xla", 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 tenstorrent/tt-mlir validate-tt-mlir-against-tt-xlaInstalls 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 tenstorrent/tt-mlir --skill validate-tt-mlir-against-tt-xla -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/tenstorrent/tt-mlir.git skills-src && mkdir -p .github/skills && cp -r skills-src/.claude/skills/validate-tt-mlir-against-tt-xla .github/skills/validate-tt-mlir-against-tt-xla && 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 "validate-tt-mlir-against-tt-xla" agent skill from https://github.com/tenstorrent/tt-mlir/tree/main/.claude/skills/validate-tt-mlir-against-tt-xla into .github/skills/validate-tt-mlir-against-tt-xla/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "validate-tt-mlir-against-tt-xla", 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 tenstorrent/tt-mlir --skill validate-tt-mlir-against-tt-xla -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install tenstorrent/tt-mlir validate-tt-mlir-against-tt-xla --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/tenstorrent/tt-mlir.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.claude/skills/validate-tt-mlir-against-tt-xla .opencode/skills/validate-tt-mlir-against-tt-xla && 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 "validate-tt-mlir-against-tt-xla" agent skill from https://github.com/tenstorrent/tt-mlir/tree/main/.claude/skills/validate-tt-mlir-against-tt-xla into .opencode/skills/validate-tt-mlir-against-tt-xla/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "validate-tt-mlir-against-tt-xla", 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.
validate-tt-mlir-against-tt-xlaValidate 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. 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.
12 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 78b7044. 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:
ghgitpython3From the folder's file list and the shell code blocks in SKILL.md.
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.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
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.
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 tenstorrent/tt-mlir at commit 78b7044, republished under its Apache-2.0 licence (© tenstorrent). 1,899 words, ~4,460 tokens.
.claude/skills/validate-tt-mlir-against-tt-xla/SKILL.md (or your agent's skills folder).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.
tenstorrent/tt-mlir (the PR lives here)tenstorrent/tt-xla (CI runs here)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:
gh pr view $(git branch --show-current) --repo tenstorrent/tt-mlir --json number,headRefName,baseRefName,body,commits,stateIf no PR is found for the current branch, ask once: PR number or URL:
Extract the PR metadata:
gh pr view <PR> --repo tenstorrent/tt-mlir --json number,headRefName,baseRefName,body,commits,stateIf the PR is merged or closed, stop — nothing to do.
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:
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:
"main (Recommended)""<matched-branch-name>" — with description noting the author matchIf 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.
Read the version pin from XLA_BRANCH:
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.
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:
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/:
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.
Use the AskUserQuestion tool with both questions batched together:
Question 1 — header: Extra suites, multiSelect: true
<default-suite> will always run (discovered dynamically). Select additional suites to run in parallel, if any."Question 2 — header: Baseline
Parse all answers before proceeding. The default suite always runs; selected extra suites run in parallel alongside it.
Check if the xla-validate/<pr-number> branch already exists on the remote:
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.
The branch name is always xla-validate/<pr-number>.
If the branch already exists (user confirmed re-trigger above), delete it first:
git push origin --delete xla-validate/<pr-number>Get the list of commits from the PR:
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):
git fetch origin refs/pull/<pr-number>/headCreate the branch fresh by cherry-picking those commits onto UPLIFTED_SHA:
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.
Dispatch the "Run test" workflow for each selected test suite:
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:
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:
# 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.
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):
<!-- 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:
| 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.
Tell the user:
Use the /loop skill (main agent) to poll every 3 minutes so the user can continue
other work.
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.
gh run view <run-id> --repo tenstorrent/tt-xla --json status,conclusion,urlA 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).
Once all runs are done:
Delete the branch — it is no longer needed:
git push origin --delete xla-validate/<pr-number>Update the PR description with final statuses. Map conclusions to status indicators:
success → :white_check_mark: passedfailure → :x: failedcancelled → :no_entry_sign: cancelledtimed_out → :alarm_clock: timed_outIf any PR runs failed, run the failure analysis (step 12) first so the failure table is included in the same edit.
Notify the user with a summary of results.
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.
gh run view <run-id> --repo tenstorrent/tt-xla --json jobs \
--jq '.jobs[] | select(.conclusion == "failure") | {name, databaseId}'gh api repos/tenstorrent/tt-xla/actions/jobs/<job-id>/logs 2>&1 \
| grep -E "FAILED|PASSED" | head -30gh api repos/tenstorrent/tt-xla/actions/jobs/<job-id>/logs 2>&1 \
| grep -B5 -A15 "_____ test_all_models_jax\[<test-name>" | head -40If the user requested a baseline, compare the failed tests against the baseline run's results to classify each failure:
(pre-existing)(regression)If no baseline was requested (option 1), omit the classification column entirely.
Add this directly below the status table in the validation block:
Without baseline:
#### Failures
| Test | Arch | Error |
|------|------|-------|
| `gpt2/causal_lm/jax-Base-inference` | n150, p150 | `XlaRuntimeError: Error code 13` |With baseline:
#### 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:
single_device and test_all_models_jax[] wrapperShell variables containing markdown (backticks, pipes, dollar signs) break when passed
through --body. Always use the tempfile + --body-file approach:
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.
Apply the edit:
gh pr edit <PR> --repo tenstorrent/tt-mlir --body-file /tmp/pr_body_<pr-number>.mdrm /tmp/pr_body_<pr-number>.mdAfter every gh pr edit, immediately verify the body was applied correctly:
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"
fiIf verification fails:
--body-fileWhen replacing an existing validation block, use Python for reliable text manipulation instead of shell tools like awk/sed/perl which struggle with markdown:
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)
"xla-validate/<pr-number> branch (it is no
longer needed if CI cannot run), then check gh auth and repo permissions. Report
the error.© 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
Just SKILL.md in .claude/skills/validate-tt-mlir-against-tt-xla of tenstorrent/tt-mlir.
Open the folder on GitHubat commit 78b7044
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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Validate Tt Mlir Against Tt Xla this skilltenstorrent/tt-mlir | 314 | — | ~4.5k | Automated safety check: Pass | Apache-2.0 | |
| Emcaklofas/kicad-happy | 1.4k | 1 repos | ~2.8k | Automated safety check: Pass | MIT | |
| Swig Testswig/swig | 6.3k | — | ~2.3k | Automated safety check: Pass | Custom licence | |
| Generate Test Cases342164796/generate-test-cases | 120 | 1 repos | ~2.9k | Automated safety check: Pass | None | |
| Wioworkersio/skills | 204 | — | ~5.8k | Automated safety check: Pass | MIT | |
| Verify Cc Safety Netkenryu42/cc-safety-net | 1.6k | — | ~2k | Automated safety check: Pass | MIT |
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…
swig/swig
Run SWIG test suite for specific languages. An agent skill from swig/swig.
342164796/generate-test-cases
自主学习型测试文档生成器。从需求文档(Markdown)生成测试用例 XMind 文件,支持持久化记忆和持续学习。当用户提到"生成测试用例"、"根据需求生成测试"时触发。
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.
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.
microsoft/WindowsProtocolTestSuites
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…
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…
tenstorrent/tt-mlir
Add full builder API support (@tag, @parse, @split) for a TTIR op.
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.
tenstorrent/tt-mlir
Add a new composite op decomposition pattern to the TTMetal pipeline.
tenstorrent/tt-mlir
Uplift the TTSim version used by tt-mlir CI and refresh WH/BH simulator skips.
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…
Categories
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.
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.
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.
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.
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.
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).
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.
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.
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.
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.
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.
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.