From aur
This skill should be used when the user asks to "create an AUR package", "make a new AUR package", "scaffold AUR package", "create PKGBUILD", "package for AUR", or mentions AUR package creation with a specific source type (npm, rust, go, git, binary, appimage). Provides comprehensive guidance for creating Arch User Repository packages with proper structure, checksums, and git setup.
How this skill is triggered — by the user, by Claude, or both
Slash command
/aur:create-aur-packageThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Create a new AUR (Arch User Repository) package with proper structure, validation, and git setup.
Create a new AUR (Arch User Repository) package with proper structure, validation, and git setup.
Package name: $ARGUMENTS[0] Source type: $ARGUMENTS[1]
Gather package information:
Create package directory structure:
.gitignore for build artifactsPKGBUILD with appropriate structure for source typeGenerate checksums (skip for -git packages):
updpkgsums
Build and validate:
makepkg -f # Build the package
namcap PKGBUILD # Lint PKGBUILD
namcap *.pkg.tar.zst # Lint built package
Generate metadata:
makepkg --printsrcinfo > .SRCINFO
Initialize git and push to AUR:
git init
git remote add origin ssh://[email protected]/<package-name>.git
git add .
git commit -m "feat: initial commit for <package-name>"
git push -u origin master
Create with the following content:
pkg
src
<package-name>-*
*.tar.zst
For NPM packages, use the actual package name (without scope for scoped packages).
For AppImage packages, also include squashfs-root, *.AppImage, and the downloaded license file.
All PKGBUILD files include these fields:
pkgname=<package-name>
pkgver=<version>
pkgrel=1
pkgdesc="<package description>"
arch=(any) # or (x86_64) for architecture-specific
url="<upstream-url>"
license=('<license>')
depends=() # runtime dependencies
makedepends=() # build-time dependencies
source=(<source-url>)
sha256sums=('SKIP') # Update with updpkgsums
package() {
# Installation steps
}
Load the appropriate reference file based on source type:
references/npm-packages.md - For Node.js packages from npm registryreferences/rust-packages.md - For Cargo-based Rust projectsreferences/go-packages.md - For Go modulesreferences/vcs-packages.md - For -git packages tracking upstreamreferences/binary-packages.md - For pre-compiled binariesreferences/appimage-packages.md - For AppImage binaries (typically Electron apps)| Command | Purpose |
|---|---|
updpkgsums | Update sha256sums from source files |
makepkg --printsrcinfo > .SRCINFO | Generate .SRCINFO metadata |
makepkg -f | Build package (force rebuild) |
makepkg -si | Build and install package |
namcap PKGBUILD | Lint PKGBUILD for issues |
namcap *.pkg.tar.zst | Lint built package |
<package-name> - For release tarballs<package-name>-git - For git repositories<package-name>-bin - For pre-compiled binaries<package-name>-appimage - For AppImage binariesreferences/npm-packages.md - NPM package specifics (scoped packages, registry URLs, permission fixes)references/rust-packages.md - Rust/Cargo package specifics (build flags, LTO issues, workspaces)references/go-packages.md - Go module specifics (build flags, GOPATH handling)references/vcs-packages.md - VCS/Git package specifics (pkgver() function, provides/conflicts)references/binary-packages.md - Binary package specifics (release downloads, architecture handling)references/appimage-packages.md - AppImage package specifics (extraction, desktop integration, /opt/ install)examples/pkgbuild-template - Basic PKGBUILD template structurenpx claudepluginhub asermax/claude-plugins --plugin aurCreates distributable Python packages with pyproject.toml, proper project structure, and publishing to PyPI. Use when packaging libraries, building CLI tools, or distributing Python code.
Assists with Cargo.toml configuration, crate dependency management, project initialization, builds, tests, benchmarks, docs, troubleshooting, and best practices for Rust projects.