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.01108 |
| Opus 5 | $0.00000 | $0.00554 |
| Sonnet 5 | $0.00000 | $0.00222 |
| Haiku 4.5 | $0.00000 | $0.00111 |
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 11d 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} How it starts
The opening of the file, as written. The whole thing — 73 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/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 1275b8b ("Merge branch
'vincent/hopper_megamoe' into 'main'", 2026-07).
Layout
kernel_src/sm90/pull_style_cutedsl_megakernel/
├── src/ ← VERBATIM kernel-team drop; NEVER edit or add files here
│ ├── common/ ← shared constants/host utils (SM90-drop revision)
│ ├── src/ ← CuTeDSL core src (bootstrap, dispatch, sym_buffer, token_comm, …)
│ ├── moe_nvfp4_swapab/ ← NVFP4 package (hopper_fp8 reuses its runner_common,
│ │ fc1_fc2_fuse_sched, topk_reduce, custom_ext, moe_utils)
│ └── moe_hopper_fp8/ ← SM90 FP8 kernel implementation
│ (benchmark_data/ is excluded from the copy — data blobs only)
├── __init__.py ← public API for moe_ep; talks ONLY to shim/ (our code)
├── shim/ ← thin adapters over src/ (our code) — ALL adaptation lives here
│ ├── _paths.py ← adds sibling src/ to sys.path + sibling-tree exclusivity guard
│ ├── comm.py ← dist/NVSHMEM bootstrap, sym heap, launch-cache state
│ ├── hopper_fp8.py ← SM90 FP8 frontend (config, symm buffer, compute entry)
│ └── kernel_helpers.py ← lazy re-export point for raw-kernel helpers/reference
├── SKILL.md ← this file (drop-update workflow)
└── TUNING.md ← measured perf vs the kernel drop's reference sweep,
benchmark methodology, knob surface, next levers
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 3.6 KB runs code
- shim/__init__.py 1.9 KB runs code
- shim/_paths.py 2.5 KB runs code
- shim/comm.py 7.9 KB runs code
- shim/hopper_fp8.py 68 KB runs code
- shim/kernel_helpers.py 3.7 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_fp8/__init__.py 191 B runs code
- src/moe_hopper_fp8/benchmark_requirements.txt 72 B
- src/moe_hopper_fp8/epilogue_fp8_common.py 4.1 KB runs code
- src/moe_hopper_fp8/epilogue_fp8_swapab.py 60 KB runs code
- src/moe_hopper_fp8/epilogue_fp8.py 57 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 77 KB runs code
- src/moe_hopper_fp8/kernel_fp8_glu_fc12.py 119 KB runs code
- src/moe_hopper_fp8/mega_reference_fp8.py 26 KB runs code
- src/moe_hopper_fp8/mega_runner.py 49 KB runs code
- src/moe_hopper_fp8/megamoe_kernel_fp8.py 42 KB runs code
- src/moe_hopper_fp8/plot_token_sweep.py 8.8 KB runs code
- src/moe_hopper_fp8/run_functional_tests.sh 13 KB runs code
- src/moe_hopper_fp8/run_mega_tests.sh 15 KB runs code
- src/moe_hopper_fp8/run_perf_test.sh 14 KB runs code
- src/moe_hopper_fp8/run_token_sweep_benchmark.py 24 KB runs code
- src/moe_hopper_fp8/run_token_sweep_benchmark.sh 251 B runs code
- src/moe_hopper_fp8/runner_fc12.py 36 KB runs code
- src/moe_hopper_fp8/summarize_token_sweep.py 9.5 KB runs code
- src/moe_nvfp4_swapab/__init__.py 58 B runs code
- src/moe_nvfp4_swapab/benchmark_p2p.py 24 KB runs code
- src/moe_nvfp4_swapab/contract.py 16 KB runs code
- src/moe_nvfp4_swapab/custom_ext.py 34 KB runs code
- src/moe_nvfp4_swapab/cute_ref_ops.py 9.6 KB runs code
- src/moe_nvfp4_swapab/dynamic_mainloop.py 13 KB runs code
- src/moe_nvfp4_swapab/epilogue_refactor.py 127 KB runs code
- src/moe_nvfp4_swapab/epilogue.py 144 KB runs code
- src/moe_nvfp4_swapab/fc1_fc2_fuse_sched.py 65 KB runs code
- src/moe_nvfp4_swapab/kernel_fc12.py 103 KB runs code
- src/moe_nvfp4_swapab/mega_reference.py 102 KB runs code
- src/moe_nvfp4_swapab/mega_runner.py 118 KB runs code
- src/moe_nvfp4_swapab/megamoe_kernel.py 65 KB runs code
- src/moe_nvfp4_swapab/moe_persistent_scheduler.py 82 KB runs code
- src/moe_nvfp4_swapab/moe_utils.py 39 KB runs code
- src/moe_nvfp4_swapab/run_functional_tests.sh 12 KB runs code
- src/moe_nvfp4_swapab/run_mega_tests.sh 17 KB runs code
- src/moe_nvfp4_swapab/runner_common.py 20 KB runs code
- src/moe_nvfp4_swapab/runner_fc12_common.py 83 KB runs code
- src/moe_nvfp4_swapab/runner_fc12.py 16 KB runs code
- src/moe_nvfp4_swapab/simulate_fc1_fc2_sched.py 15 KB runs code
- src/moe_nvfp4_swapab/topk_reduce.py 28 KB runs code
- src/src/__init__.py 0 B runs code
- src/src/bootstrap.py 19 KB runs code
- src/src/cleanup_kernel.py 6.7 KB runs code
- src/src/config.py 6.3 KB runs code
- src/src/dispatch_kernel.py 4.8 KB runs code
- src/src/flag_batch.py 4.2 KB runs code
- src/src/grid_sync.py 6.4 KB runs code
- src/src/iket_compat.py 1.7 KB runs code
- src/src/inputs_process.py 32 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.
- 11d 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,370 stars, last pushed today), licensed Apache-2.0. It costs nothing until one of its globs matches a file; then it loads 1,108 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 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, wire Docker to GPUs (NVIDIA Container Toolkit), deploy vLLM / Infinity / OpenWebUI / Ollama /…
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…