bambu-studio-ai
Bambu Lab 3D printer control and automation. Activate when user mentions: printer status, 3D printing, slice, analyze model, generate 3D, AMS filament, print monitor, Bambu Lab, or any 3D printing task. Full pi...
Convert CUDA code to MUSA (Moore Threads GPU) using the musify tool. Use when migrating CUDA codebases to MUSA platform, converting CUDA kernels/APIs to MUSA equivalents, or porting NVIDIA GPU code to Moore Threads GPUs. Supports batch conversion of .cu, .cuh, .cpp, .h files with text-based API mapping.
Follow the repository instructions for this skill and your agent. Review the files and dependencies before adding it to your workflow.
SkillHub CLI
skillhub install dongyang-mt/musifyInspect the source and compatibility requirements, then follow its installation steps.
Give your agent the source link and ask it to inspect instructions and dependencies before explaining the installation steps.
Musify converts CUDA code to MUSA (Moore Threads GPU architecture) using text-based API mapping.
# Install dependencies
pip install ahocorapy
# musify-text should be available in MUSA toolkit
# Convert files in-place (CUDA -> MUSA)
musify-text --inplace -- file1.cu file2.cpp
# Convert and create new files (default)
musify-text --create -- a.cu b.cpp
# Print to stdout
musify-text -t -- file.cu
# Find and convert all CUDA/C++ files in directory
musify-text --inplace -- $(find /path/to/project -name '*.cu' -o -name '*.cuh' -o -name '*.cpp' -o -name '*.h')
# Using ripgrep (recommended)
musify-text --inplace -- $(rg --files -g '*.cu' -g '*.cuh' -g '*.cpp' -g '*.h' /path/to/project)
| Option | Description |
|---|---|
-t, --terminal |
Print output to stdout |
-c, --create |
Create new files with converted code (default) |
-i, --inplace |
Modify files in-place |
-d {c2m,m2c} |
Conversion direction: c2m (CUDA→MUSA, default), m2c (MUSA→CUDA) |
-m <file.json> |
Custom API mapping file (can specify multiple) |
--clear-mapping |
Clear default mapping, use only custom mappings |
-l {DEBUG,INFO,WARNING} |
Log level |
Prevent specific code sections from being converted:
// MUSIFY_EXCL_LINE - Exclude this line
char *str = "cudaMalloc"; // MUSIFY_EXCL_LINE
// MUSIFY_EXCL_START - Start exclusion block
char *apis[] = {
"cudaInit",
"cudaFree"
};
// MUSIFY_EXCL_STOP - End exclusion block
| CUDA | MUSA |
|---|---|
cuda prefix |
musa prefix |
CUDA |
MUSA |
cu prefix (driver API) |
mu prefix |
__cuda |
__musa |
cudaMalloc |
musaMalloc |
cudaFree |
musaFree |
cudaMemcpy |
musaMemcpy |
cudaLaunchKernel |
musaLaunchKernel |
__global__ |
__global__ (unchanged) |
| `__devi... |
These signals come from indexed source analysis and may lag behind changes. Check the current source files.
# Musify - CUDA to MUSA Code Conversion
Musify converts CUDA code to MUSA (Moore Threads GPU architecture) using text-based API mapping.
## Installation
```bash
# Install dependencies
pip install ahocorapy
# musify-text should be available in MUSA toolkit
```
## Basic Usage
```bash
# Convert files in-place (CUDA -> MUSA)
musify-text --inplace -- file1.cu file2.cpp
# Convert and create new files (default)
musify-text --create -- a.cu b.cpp
# Print to stdout
musify-text -t -- file.cu
```
## Batch Conversion
```bash
# Find and convert all CUDA/C++ files in directory
musify-text --inplace -- $(find /path/to/project -name '*.cu' -o -name '*.cuh' -o -name '*.cpp' -o -name '*.h')
# Using ripgrep (recommended)
musify-text --inplace -- $(rg --files -g '*.cu' -g '*.cuh' -g '*.cpp' -g '*.h' /path/to/project)
```
## Options
| Option | Description |
|--------|-------------|
| `-t, --terminal` | Print output to stdout |
| `-c, --create` | Create new files with converted code (default) |
| `-i, --inplace` | Modify files in-place |
| `-d {c2m,m2c}` | Conversion direction: c2m (CUDA→MUSA, default), m2c (MUSA→CUDA) |
| `-m <file.json>` | Custom API mapping file (can specify multiple) |
| `--clear-mapping` | Clear default mapping, use only custom mappings |
| `-l {DEBUG,INFO,WARNING}` | Log level |
## Exclusion Markers
Prevent specific code sections from being converted:
```c
// MUSIFY_EXCL_LINE - Exclude this line
char *str = "cudaMalloc"; // MUSIFY_EXCL_LINE
// MUSIFY_EXCL_START - Start exclusion block
char *apis[] = {
"cudaInit",
"cudaFree"
};
// MUSIFY_EXCL_STOP - End exclusion block
```
## Common CUDA → MUSA Mappings
| CUDA | MUSA |
|------|------|
| `cuda` prefix | `musa` prefix |
| `CUDA` | `MUSA` |
| `cu` prefix (driver API) | `mu` prefix |
| `__cuda` | `__musa` |
| `cudaMalloc` | `musaMalloc` |
| `cudaFree` | `musaFree` |
| `cudaMemcpy` | `musaMemcpy` |
| `cudaLaunchKernel` | `musaLaunchKernel` |
| `__global__` | `__global__` (unchanged) |
| `__devi...Bambu Lab 3D printer control and automation. Activate when user mentions: printer status, 3D printing, slice, analyze model, generate 3D, AMS filament, print monitor, Bambu Lab, or any 3D printing task. Full pi...
Generative Engine Optimization (GEO) for AI search visibility. Optimize content to appear in ChatGPT, Perplexity, Claude, and Google AI Overviews. Use when optimizing websites, pages, or content for LLM discove...
Agents can sign plugins, rotate credentials without losing identity, and publicly attest to behavior.
Send and receive P2P messages using disposable numbers and PINs. No servers, no accounts. Use for human notifications, approval flows, and agent-to-agent communication.