FlashInfer is a library and kernel generator that supplies GPU operations used to run large language model inference, including attention, matrix multiplication, and mixture-of-experts computations. It helps engineers build and optimize LLM serving systems across supported GPU hardware and backend implementations. Its catalogue add-ons provide skills and instructions for working with FlashInfer.
Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add flashinfer-ai/flashinfer --skill pull_style_cutedsl_megakernelgit clone --depth 1 https://github.com/flashinfer-ai/flashinferWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/flashinfer-ai/flashinfer/pull_style_cutedsl_megakernel)<a href="https://agentmods.dev/skills/flashinfer-ai/flashinfer/pull_style_cutedsl_megakernel"><img src="https://agentmods.dev/badge/skills/flashinfer-ai/flashinfer/pull_style_cutedsl_megakernel/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/flashinfer-ai/flashinfer/pull_style_cutedsl_megakernel"><img src="https://agentmods.dev/badge/skills/flashinfer-ai/flashinfer/pull_style_cutedsl_megakernel.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector warn
SkillSpector: 2 findings, up to high
These are SkillSpector’s own severities. On a checked sample its high-severity flags on skills were ~96% false positives — a documented command, a public API, a “never do X” rule — so we show them as a caution to read, not a verdict. Why →
- high Tool Misuse · line 58 Tool parameters are crafted to achieve unintended or unsafe behavior. Parameter abuse can bypass intended safety checks (e.g. shell=True, --force, dangerous glob patterns).Fix: Validate all tool parameters against an allowlist. Reject dangerous parameter values (shell=True, --force, -rf /) and use safe defaults.
- high Tool Misuse · line 61 Tool parameters are crafted to achieve unintended or unsafe behavior. Parameter abuse can bypass intended safety checks (e.g. shell=True, --force, dangerous glob patterns).Fix: Validate all tool parameters against an allowlist. Reject dangerous parameter values (shell=True, --force, -rf /) and use safe defaults.
What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00000 | $0.03820 |
| Opus 5.5 | $0.00000 | $0.01528 |
| Sonnet 5.5 | $0.00000 | $0.00764 |
| Haiku 4.5 | $0.00000 | $0.00382 |
Grade C, and why
pull_style_cutedsl_megakernel scanned grade C with 1 finding against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 13d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Recursive force deletehighDestructive command
rm -rf with a variable or a broad path is one typo away from removing the wrong tree.
rm -rf flashinfer/moe_ep/kernel_src/sm90/pull_style_cutedsl_megakernel/src/{common,src,moe_nvfp4_swapab,moe_hopper_fp8,moe_hopper_bf16} How it starts
The opening of the file, as written. The whole thing — 201 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Updating the SM90 (Hopper) CuTeDSL MegaMoE kernel src
Provenance
This tree vendors the kernel team's SM90 FP8 MegaMoE drop — a fork of the
same kernel repo that kernel_src/sm100/cutedsl_megamoe vendors (Bangyu's
SM100 tree). The SM90 work (Vincent's hopper_megamoe branch) moved the
shared runtime forward, so this tree duplicates common/, src/, and
moe_nvfp4_swapab/ at its own revision instead of sharing the SM100 copies.
The two trees are separate backends:
- top-level module names collide (
common,src,moe_nvfp4_swapab), so only one tree can be active per process —shim/_paths.bootstrap_pathsraises if the sibling tree's modules are already imported. A process runs on either Hopper or Blackwell, never both, so this is not a practical limit. - drops are updated independently; never "sync" shared files across the trees.
Current drop: kernel repo commit c3e2c2a ("Add token-based launch
heuristics for Hopper FP8 MegaMoE", 2026-08), minus commit 4f9c042.
Preserve this exclusion when syncing future drops.
BF16 drop: moe_hopper_bf16/ from the kernel team's "Support Hopper MegaMoE
BF16 FWD" drop (2026-09-20), copied verbatim except for the import
adaptation below. The shared common/, src/ and
moe_nvfp4_swapab/ were NOT re-synced from that drop: the vendored
FP8-era copies are a functional superset of what the BF16 kernel uses. The
drop's vLLM comparison scripts (benchmark_vllm_hopper_bf16_moe.py,
run_vllm_hopper_bf16_sweep.{py,sh}, summarize_vllm_hopper_bf16_sweep.py)
and benchmark_data/ are not copied, matching the FP8 vendoring.
Import adaptation (both kernels; re-apply on every resync): the drop's
moe_hopper_fp8/kernel_fp8_glu_fc12.py and
moe_hopper_bf16/kernel_bf16_glu_fc12.py import
GluMxFp8Fc12SchedExtension from moe_mxfp8_glu.custom_ext, which is not
vendored; the vendored copies import it from moe_nvfp4_swapab.custom_ext
instead (one-line edit each).
Local extensions pending upstream (re-apply when syncing a drop that has not picked them up):
What ships with it
60 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
- __init__.py 7.8 KB runs code
- shim/__init__.py 6.1 KB runs code
- shim/_paths.py 2.6 KB runs code
- shim/autotune_bf16.py 5.2 KB runs code
- shim/autotune.py 22 KB runs code
- shim/comm.py 8.1 KB runs code
- shim/hopper_bf16.py 60 KB runs code
- shim/hopper_fp8.py 91 KB runs code
- shim/hopper_mxfp4.py 48 KB runs code
- shim/kernel_helpers.py 4.3 KB runs code
- shim/knob_cache.py 16 KB runs code
- shim/mxfp4_optimization.py 9.4 KB runs code
- shim/mxfp4_tuner.py 20 KB runs code
- shim/tuner_bf16.py 9.4 KB runs code
- shim/tuner.py 9.5 KB runs code
- src/common/__init__.py 144 B runs code
- src/common/host_utils.py 7.1 KB runs code
- src/common/megamoe_constants.py 832 B runs code
- src/common/moe_utils.py 9.5 KB runs code
- src/moe_hopper_bf16/__init__.py 172 B runs code
- src/moe_hopper_bf16/benchmark_requirements.txt 72 B
- src/moe_hopper_bf16/epilogue_bf16_common.py 9.9 KB runs code
- src/moe_hopper_bf16/epilogue_bf16_swapab.py 66 KB runs code
- src/moe_hopper_bf16/epilogue_bf16.py 89 KB runs code
- src/moe_hopper_bf16/heuristic_config.py 12 KB runs code
- src/moe_hopper_bf16/hopper_moe_utils.py 3.6 KB runs code
- src/moe_hopper_bf16/kernel_bf16_glu_fc12_swapab.py 75 KB runs code
- src/moe_hopper_bf16/kernel_bf16_glu_fc12.py 108 KB runs code
- src/moe_hopper_bf16/mega_reference_bf16.py 8.9 KB runs code
- src/moe_hopper_bf16/mega_runner.py 38 KB runs code
- src/moe_hopper_bf16/megamoe_kernel_bf16.py 42 KB runs code
- src/moe_hopper_bf16/plot_token_sweep.py 8.0 KB runs code
- src/moe_hopper_bf16/run_functional_tests.sh 13 KB runs code
- src/moe_hopper_bf16/run_mega_tests.sh 15 KB runs code
- src/moe_hopper_bf16/run_perf_test.sh 19 KB runs code
- src/moe_hopper_bf16/run_token_sweep_benchmark.py 41 KB runs code
- src/moe_hopper_bf16/run_token_sweep_benchmark.sh 271 B runs code
- src/moe_hopper_bf16/runner_fc12.py 34 KB runs code
- src/moe_hopper_bf16/summarize_token_sweep.py 17 KB runs code
- src/moe_hopper_bf16/test_heuristic_config.py 9.1 KB runs code
- src/moe_hopper_bf16/test_tail_split_sched.py 7.1 KB runs code
- src/moe_hopper_fp8/__init__.py 191 B runs code
- src/moe_hopper_fp8/benchmark_requirements.txt 72 B
- src/moe_hopper_fp8/epilogue_fp8_common.py 11 KB runs code
- src/moe_hopper_fp8/epilogue_fp8_swapab.py 107 KB runs code
- src/moe_hopper_fp8/epilogue_fp8.py 101 KB runs code
- src/moe_hopper_fp8/fused_comm_policy.py 2.7 KB runs code
- src/moe_hopper_fp8/heuristic_config.py 14 KB runs code
- src/moe_hopper_fp8/hopper_moe_utils.py 19 KB runs code
- src/moe_hopper_fp8/kernel_fp8_glu_fc12_swapab.py 107 KB runs code
- src/moe_hopper_fp8/kernel_fp8_glu_fc12.py 168 KB runs code
- src/moe_hopper_fp8/kernel_mxfp4_fp8_glu_fc12_swapab.py 63 KB runs code
- src/moe_hopper_fp8/mega_reference_fp8.py 28 KB runs code
- src/moe_hopper_fp8/mega_runner.py 58 KB runs code
- src/moe_hopper_fp8/megamoe_kernel_fp8.py 55 KB runs code
- src/moe_hopper_fp8/mxfp4_cutedsl.py 13 KB runs code
- src/moe_hopper_fp8/mxfp4_policy.py 5.3 KB runs code
- src/moe_hopper_fp8/plot_token_sweep.py 8.4 KB runs code
- src/moe_hopper_fp8/run_functional_tests.sh 16 KB runs code
- src/moe_hopper_fp8/run_mega_tests.sh 18 KB runs code
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 13d ago Changed · +33 lines 098c569663e3
- 23d ago Changed a102cd181d06
- 1mo ago Changed 842ea5d58723
- 1mo ago Changed · +95 lines b7f2f44b881e
- 1mo ago First seen · 73 lines · 0 tokens per session scan C d4fd7d210cdf
pull_style_cutedsl_megakernel is a skill published in the GitHub repository flashinfer-ai/flashinfer (6,779 stars, last pushed today), licensed Apache-2.0. It costs nothing until one of its globs matches a file; then it loads 3,820 tokens. A static security scan graded it C with 1 finding (recursive force delete). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
gpu-server-setup
Prepare a Linux server with NVIDIA or Intel Arc GPUs for neural-network and LLM workloads, or diagnose one that misbehaves. Use when the user asks to set up or prepare a GPU server, install NVIDIA drivers or CUDA on Debian/Ubuntu, bring up Intel Arc (A770, A750, B580, Arc Pro B60/B70) with the i915/xe driver and…
cuopt-skill-evolution
After solving a non-trivial problem, detect generalizable learnings and propose skill updates. Always active — applies to every interaction.
cuopt-developer
Modify, build, test, debug, and contribute to NVIDIA cuOpt (C++/CUDA, Python, server, CI). Use for solver internals, PRs, DCO, and code conventions.
cuopt-user-rules
Base rules for end users calling NVIDIA cuOpt (routing/LP/MILP/QP/install/server). Not for cuOpt internals — use cuopt-developer for those.
perf-optimize
Launch and operate this repo's perf-optimize workflow, which iteratively APPLIES TensorRT-LLM serving optimizations — baseline benchmark at one concurrency or a Pareto curve of them (tok/s/user vs tok/s/gpu), analytical SOL projection on by default (via the internal-perf-sol-analysis skill) sizing the headroom the…
perf-analyze
Launch and operate this repo's perf-analyze workflow, which DIAGNOSES a TensorRT-LLM serving deployment without applying changes — benchmark at one concurrency or a Pareto curve of them (tok/s/user vs tok/s/gpu), analytical SOL projection on by default (via the internal-perf-sol-analysis skill), nsys + ncu per-kernel…