Paddle Build
PaddlePaddle/Paddle
A skill your agent uses when needing to compile, rebuild, or install Paddle from source after code changes.
Experimental Vulkan AST-to-LLVM-to-SPIR-V backend, its fail-closed runtime-interface boundary, LLVM build integration, and validation path.
$ npx skills add LuisaGroup/LuisaCompute --skill llvm-spirv -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install LuisaGroup/LuisaCompute llvm-spirv --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/LuisaGroup/LuisaCompute.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/llvm-spirv .claude/skills/llvm-spirv && 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 "llvm-spirv" agent skill from https://github.com/LuisaGroup/LuisaCompute/tree/stable/.agents/skills/llvm-spirv into .claude/skills/llvm-spirv/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "llvm-spirv", 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/LuisaGroup/LuisaCompute/tree/stable/.agents/skills/llvm-spirvType 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 LuisaGroup/LuisaCompute --skill llvm-spirv -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install LuisaGroup/LuisaCompute llvm-spirv --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/LuisaGroup/LuisaCompute.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.agents/skills/llvm-spirv .agents/skills/llvm-spirv && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "llvm-spirv" agent skill from https://github.com/LuisaGroup/LuisaCompute/tree/stable/.agents/skills/llvm-spirv into .agents/skills/llvm-spirv/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "llvm-spirv", 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 LuisaGroup/LuisaCompute --skill llvm-spirv -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install LuisaGroup/LuisaCompute llvm-spirv --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/LuisaGroup/LuisaCompute.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.agents/skills/llvm-spirv .cursor/skills/llvm-spirv && 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 "llvm-spirv" agent skill from https://github.com/LuisaGroup/LuisaCompute/tree/stable/.agents/skills/llvm-spirv into .cursor/skills/llvm-spirv/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "llvm-spirv", 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/LuisaGroup/LuisaCompute.git --path .agents/skills/llvm-spirv--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 LuisaGroup/LuisaCompute --skill llvm-spirv -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install LuisaGroup/LuisaCompute llvm-spirv --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/LuisaGroup/LuisaCompute.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.agents/skills/llvm-spirv .gemini/skills/llvm-spirv && 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 "llvm-spirv" agent skill from https://github.com/LuisaGroup/LuisaCompute/tree/stable/.agents/skills/llvm-spirv into .gemini/skills/llvm-spirv/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "llvm-spirv", 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 LuisaGroup/LuisaCompute llvm-spirvInstalls 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 LuisaGroup/LuisaCompute --skill llvm-spirv -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/LuisaGroup/LuisaCompute.git skills-src && mkdir -p .github/skills && cp -r skills-src/.agents/skills/llvm-spirv .github/skills/llvm-spirv && 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 "llvm-spirv" agent skill from https://github.com/LuisaGroup/LuisaCompute/tree/stable/.agents/skills/llvm-spirv into .github/skills/llvm-spirv/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "llvm-spirv", 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 LuisaGroup/LuisaCompute --skill llvm-spirv -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install LuisaGroup/LuisaCompute llvm-spirv --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/LuisaGroup/LuisaCompute.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.agents/skills/llvm-spirv .opencode/skills/llvm-spirv && 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 "llvm-spirv" agent skill from https://github.com/LuisaGroup/LuisaCompute/tree/stable/.agents/skills/llvm-spirv into .opencode/skills/llvm-spirv/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "llvm-spirv", 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.
llvm-spirvExperimental Vulkan AST-to-LLVM-to-SPIR-V backend, its fail-closed runtime-interface boundary, LLVM build integration, and validation path.
Llvm Spirv is an agent skill from LuisaGroup/LuisaCompute. Experimental Vulkan AST-to-LLVM-to-SPIR-V backend, its fail-closed runtime-interface boundary, LLVM build integration, and validation path.
Its SKILL.md is about 2.8k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It works with C++. The repository describes itself as: High-Performance Rendering Framework on Stream Architectures. The licence is Apache-2.0.
8 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 0c84a1a. 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.
No scripts in the folder and no shell commands in SKILL.md (its code samples are cpp).
From 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.
Llvm Spirv loads about 2.8k tokens when it runs. Until then it costs about 38 tokens; SKILL.md has 1,305 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 LuisaGroup/LuisaCompute at commit 0c84a1a, republished under its Apache-2.0 licence (© LuisaGroup). 1,305 words, ~2,766 tokens.
.claude/skills/llvm-spirv/SKILL.md (or your agent's skills folder).The experimental backend lives in
src/backends/common/spirv_llvm/. It lowers a Luisa AST Function to LLVM IR
and asks LLVM's native SPIR-V target to emit a
spirv64-unknown-vulkan1.2 module.
This is not the native XIR-to-SPIR-V path. The two Vulkan codegen selections are mutually exclusive:
LUISA_COMPUTE_ENABLE_VK_AST_LLVM_SPIRV=ON and
LUISA_COMPUTE_ENABLE_VK_XIR_SPIRV=OFF;lc_vk_backend_use_ast_llvm_spirv=true, with lc_llvm_path
pointing to an LLVM installation/build prefix or its llvm-config.The public entry is deliberately LLVM-header-free:
#include <spirv_llvm/spirv_llvm.h>
auto result = lc::llvm_codegen::compile_spirv(kernel, option);Do not expose an LLVM type through spirv_llvm.h or
llvm_codegen_result.h; consumers of the static facade must not inherit LLVM
include directories or unrelated LLVM preprocessor definitions.
The Vulkan descriptor interface is preflighted before AST lowering by
validate_llvm_vulkan_resource_model. At present it rejects:
Consequently the current end-to-end Vulkan contract is intentionally narrow: no-argument, no-print compute kernels whose operations are implemented by the visitor. The successful interface contains only the fixed 16-entry immutable sampler property. Do not describe the visitor's partial resource stubs as runtime support, and do not bypass this preflight merely because LLVM happens to emit some SPIR-V for an address-space global.
Unsupported AST operations call LUISA_NOT_IMPLEMENTED or otherwise fail
closed. Returning zero, undef, or a no-op is not an acceptable way to claim
support. When expanding the backend, implement the LLVM IR lowering, extend
the property preflight, validate the Vulkan runtime binding shape, and add an
end-to-end SPIR-V validator test together.
| Files | Responsibility |
|---|---|
spirv_llvm.h/.cpp | LLVM-free facade and once-only SPIR-V target registration |
llvm_codegen_result.h | SPIR-V words, properties, printer records, and global bindless flags returned to Vulkan |
llvm_codegen_stack_data.h/.cpp | Per-compilation state and mutex-protected reusable state pool |
llvm_codegen_utility.h/.cpp | Type/constant/function lowering, module legalization, target-machine emission, post-processing, and validation |
llvm_state_visitor.h/.cpp | AST expression and statement lowering through llvm::IRBuilder<> |
llvm_compat.h | API-detection boundary for LLVM-version differences such as nullable terminator lookup |
vulkan_binding_properties.h | Pure property planner and fail-closed resource-model support check |
CMakeLists.txt / xmake.lua | Component-aware LLVM discovery and static-facade linkage |
LLVMCodegenUtility::CompileSPIRV owns the complete path:
std::call_once.spirv64-unknown-vulkan1.2 target machine and its data layout.main, has no function parameters, and carries hlsl.shader=compute
plus hlsl.numthreads attributes.void plus an out pointer, scalarize again, and
verify the LLVM module.Addresses/Linkage capabilities and linkage decorations,
and convert OpPtrAccessChain forms to their logical-addressing
counterparts.SPV_ENV_VULKAN_1_2.Unlike the native path, this backend currently has no SPIRV-Tools optimizer
stage and does not produce the native exact per-argument role plan. Vulkan
serializes it as LLVM_SPIRV, embeds constants directly in the module, and
uses the backend's conservative SPIR-V artifact feature requirements.
llvm_compat.h::terminator_or_null; do not
guess the API from an LLVM major version.InitializeLLVMSPIRVTarget registers global LLVM state in dependency order:
LLVMInitializeSPIRVTargetInfo();
LLVMInitializeSPIRVTarget();
LLVMInitializeSPIRVTargetMC();
LLVMInitializeSPIRVAsmPrinter();Use the declarations from <llvm/Support/TargetSelect.h>. Hand-written
declarations can acquire the wrong language linkage. Keep the std::call_once
guard because shader compilation may be concurrent.
The target triple is deliberately spirv64: the supported LLVM revision's
spirv32 path fails in pointer-cast legalization. Vulkan logical addressing is
restored by the checked post-processing step and then enforced by validation;
raw EmitSPIRV() output is not the public contract.
The target is luisa-compute-spirv-llvm. It is created only when Vulkan and
LUISA_COMPUTE_ENABLE_VK_AST_LLVM_SPIRV are enabled. The Vulkan plugin also
links luisa-compute-spirv, because the shared artifact codec still needs the
native/common SPIR-V validation and feature-reconciliation utilities.
src/backends/common/spirv_llvm/CMakeLists.txt must:
find_package(LLVM CONFIG REQUIRED) without allowing LLVMConfig.cmake to
overwrite the project's CMAKE_MSVC_RUNTIME_LIBRARY default;SPIRV token in LLVM_TARGETS_TO_BUILD and locate
llvm/IR/IntrinsicsSPIRV.h in LLVM's reported include directories;_GLIBCXX_USE_CXX11_ABI and propagate only that ABI macro
through the C++ facade when LLVM reports it;core, support, bitwriter, transformutils, analysis,
codegen, target, mc, spirvcodegen, spirvdesc, spirvinfo, and
spirvanalysis through LLVM's component mapper;llvm_config(... USE_SHARED ...) when a monolithic LLVM target exists
so target-specific archives omitted by the dylib remain linked;The facade is static, so implementation link dependencies must still reach the final Vulkan plugin/test link. Do not make LLVM headers public as a workaround for a link failure.
The target is lc-spirv-llvm. Configuration requires an explicit
lc_llvm_path. Keep lc_vk_backend_use_xir_spirv=false when selecting it:
the top-level configuration rejects an explicit conflict, while the option
hook forces lc_enable_xir on and normalizes the native option off. The
SPIR-V targets and tests are created only when the Vulkan backend itself is
enabled.
Treat the selected llvm-config as the source of truth:
--quote-paths output with os.argv, including all -I paths from
--cppflags so generated intrinsics headers in development trees are found;SPIRV token from --targets-built;--shared-mode for the complete component set before selecting
--link-shared or --link-static;llvm-config reports DLL
filenames rather than MSVC import libraries for shared mode;The LLVM result reuses hlsl::Property and the common Vulkan artifact codec,
but it is a distinct LLVM_SPIRV dialect:
test_spirv_llvm_facade is registered only when the LLVM facade target exists.
It compiles a no-argument kernel through the public header, checks the fixed
sampler property, and independently validates/disassembles the returned module
for Vulkan 1.2. test_vk_shader_binary_contract separately covers the common
artifact boundary under the LUISA_AST_LLVM_TO_SPIRV dialect define.
When adding support, include at least:
SPV_ENV_VULKAN_1_2 validation;EmitSPIRV() writes llvm_ir_debug.ll in the process working directory.getDeclarationIfExists() may return null. Handle that at the operation's
semantic boundary; never call through a null intrinsic declaration.EmitSPIRV() directly from Vulkan. Only the public facade runs
required post-processing and Vulkan validation.© LuisaGroup, 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/llvm-spirv of LuisaGroup/LuisaCompute.
Open the folder on GitHubat commit 0c84a1a
Llvm Spirv 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 |
|---|---|---|---|---|---|---|
| Llvm Spirv this skillLuisaGroup/LuisaCompute | 1.1k | — | ~2.8k | Automated safety check: Pass | Apache-2.0 | |
| Paddle BuildPaddlePaddle/Paddle | 24k | — | ~1k | Automated safety check: Pass | Apache-2.0 | |
| Fory Releaseapache/fory | 4.6k | — | ~2.9k | Automated safety check: Pass | Apache-2.0 | |
| ONNX Runtime Shape Inference Safety Auditmicrosoft/onnxruntime | 22k | — | ~3.3k | Automated safety check: Pass | MIT | |
| Code Audit3stoneBrother/code-audit | 893 | 1 repos | ~2.7k | Automated safety check: Pass | None | |
| Qt C++ Code Reviewx-tools-author/x-tools | 1.1k | 2 repos | ~4.3k | Automated safety check: Pass | BSD-3-Clause |
PaddlePaddle/Paddle
A skill your agent uses when needing to compile, rebuild, or install Paddle from source after code changes.
apache/fory
Prepare an Apache Fory release candidate from a clean release branch, including the version bump, RC tag, JVM staging, ASF source artifacts, SVN upload, and vote email.
microsoft/onnxruntime
Finds and fixes out-of-range output writes in ONNX Runtime operator shape-inference functions where a getNumOutputs guard admits too few outputs.
3stoneBrother/code-audit
Professional code security audit skill covering 55+ vulnerability types.
x-tools-author/x-tools
Read-only review of Qt6 C++ code that combines a deterministic lint script with six parallel analysis agents and reports only high-confidence issues.
doxygen/doxygen
Keeps all Doxygen and Doxywizard translations up to date across three mechanisms: translator C++ classes (src/translatorxx.h), Qt .ts locale files for the Doxywizard GUI (addon/doxywizard/i18n/)…
LuisaGroup/LuisaCompute
Show uncommitted changes and commit history via git. An agent skill from LuisaGroup/LuisaCompute.
LuisaGroup/LuisaCompute
Manual AST construction with FunctionBuilder for kernels and callables without DSL sugar.
LuisaGroup/LuisaCompute
CMake build options, custom functions, and backend patterns for LuisaCompute.
LuisaGroup/LuisaCompute
C++ naming, formatting, static analysis, and RTTI rules for LuisaCompute.
LuisaGroup/LuisaCompute
Debug crashes and test failures via stack-traces, host/device logging, and DSL buffer inspection.
LuisaGroup/LuisaCompute
HLSL code generation, StringBuilder patterns, builtin headers, and DXIL embedding.
Works with
Experimental Vulkan AST-to-LLVM-to-SPIR-V backend, its fail-closed runtime-interface boundary, LLVM build integration, and validation path. Llvm Spirv is an agent skill from LuisaGroup/LuisaCompute. Experimental Vulkan AST-to-LLVM-to-SPIR-V backend, its fail-closed runtime-interface boundary, LLVM build integration, and validation path.
Run `npx skills add LuisaGroup/LuisaCompute --skill llvm-spirv -a claude-code`. Or copy the skill folder (.agents/skills/llvm-spirv in LuisaGroup/LuisaCompute) into .claude/skills/llvm-spirv in your project. Claude Code loads it when a task matches its description.
Run `npx skills add LuisaGroup/LuisaCompute --skill llvm-spirv -a codex`. Or copy the skill folder (.agents/skills/llvm-spirv in LuisaGroup/LuisaCompute) into .agents/skills/llvm-spirv 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 LuisaGroup/LuisaCompute --skill llvm-spirv -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/llvm-spirv, .gemini/skills/llvm-spirv, .github/skills/llvm-spirv and .opencode/skills/llvm-spirv in your project.
SKILL.md names no scripts, command-line tools or credentials: Llvm Spirv is instructions for the agent only.
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.
Llvm Spirv 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 2.8k tokens (SKILL.md is roughly 11k 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 Llvm Spirv: Paddle Build (PaddlePaddle/Paddle, 24k stars), Fory Release (apache/fory, 4.6k stars), ONNX Runtime Shape Inference Safety Audit (microsoft/onnxruntime, 22k stars) and Code Audit (3stoneBrother/code-audit, 893 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
LuisaGroup (a GitHub organization) maintains it in LuisaGroup/LuisaCompute, which has 1,051 GitHub stars. The repository holds 12 skills in this directory. The repository was last updated on October 8, 2026.
Source: LuisaGroup/LuisaCompute on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.