A collection of reusable skills and agent commands for coding agents such as Claude Code and Codex.
Skills live under skills/<skill-name>/ and are centered on a SKILL.md file, with optional references/ and examples/ content alongside it.
Install a skill from this repository with the skills CLI:
bunx skills add aaronflorey/agent-skills --skill <skill-name>Examples:
bunx skills add aaronflorey/agent-skills --skill goreleaser
bunx skills add aaronflorey/agent-skills --skill release-pleaseThis table is generated by bun scripts/update-readme-skills.js.
| Skill | Description |
|---|---|
| beamng-mods | Build and debug BeamNG.drive and BeamMP mods, resources, and server plugins using Lua. Use this skill whenever the user mentions BeamNG modding, BeamMP, Resources/Server, Resources/Client, modScript.lua, lua/ge/extensions, extensions.load, MP.RegisterEvent, AddEventHandler, client/server event wiring, custom vehicles, gameplay scripts, or BeamNG Lua hooks. |
| bootstrap-vue | Use this skill when building or migrating Vue 3 UIs with BootstrapVueNext, especially for BApp setup, component usage, composables, directives, router links, Nuxt integration, and BootstrapVue migration. |
| charmbracelet | Build Go terminal user interfaces and interactive CLIs with the Charmbracelet ecosystem, especially Bubble Tea, Bubbles, Huh, Lip Gloss, Wish, Glamour, and Log. Use this skill when the user asks for a TUI, terminal UI, interactive CLI, Bubble Tea model/update/view code, Bubbles widgets, Huh forms, Lip Gloss layout or styling, Wish SSH apps, Glamour markdown rendering, or a polished Go terminal app. |
| depsdotdev | Use the deps.dev API, also called Open Source Insights, to fetch package metadata, versions, dependency graphs, advisories, project mappings, and hash lookups. Use this skill when the user mentions deps.dev, Open Source Insights, package or version lookups, dependency intelligence, resolved dependency graphs, purl lookups, advisory queries, or integrating the deps.dev API into code. |
| find-domain | Use the Instant Domain Search MCP at https://instantdomainsearch.com/mcp to find available domains for the current project. Use this skill when the user asks for domain ideas, domain availability checks, brandable domain options, or project naming help tied to domain search. |
| github-cli | Use GitHub CLI, gh, for authentication, repository work, issues, pull requests, releases, Actions, projects, and gh api calls. Use this skill whenever the user mentions gh, gh pr, gh issue, gh repo, gh run, gh workflow, gh auth, wants a GitHub CLI command example, needs to script GitHub operations, or wants to translate GitHub UI steps into terminal commands. |
| go-cobra | Write, scaffold, and debug Go CLI applications with github.com/spf13/cobra. Use this skill whenever the user mentions Cobra, cobra.Command, a Go command-line app, subcommands, persistent or local flags, required flags, argument validation, shell completions, generated docs, or wants to build or refactor a cobra-based CLI. |
| go-viper | Write, debug, and explain Go configuration code with github.com/spf13/viper. Use this skill whenever the user mentions Viper, viper, config structs, reading config from files plus env vars plus flags, Cobra or pflag integration, unmarshaling into structs, env key replacers, config precedence, config watching, or a clean Viper bootstrap. |
| goreleaser | Configure and use GoReleaser for release automation with .goreleaser.yaml, goreleaser build, and goreleaser release. Use this skill when creating or editing GoReleaser config, setting up GitHub Actions release pipelines, building cross-platform binaries, publishing to Homebrew, Scoop, AUR, nFPM, Docker, or other package targets, generating changelogs, or automating release artifacts for Go, Rust, Zig, TypeScript, or Python projects. |
| kasetto | Use this skill when you need to install, configure, sync, inspect, or troubleshoot Kasetto, including kst commands, config files, multi-agent skill installs, MCP integration, private git-host auth, and upgrade-specific behavior. |
| laravel-actions | Write, scaffold, explain, and refactor code using the lorisleiva/laravel-actions package. Use this skill whenever the user mentions Laravel Actions, AsAction, php artisan make:action, action classes, converting a controller, job, listener, or command into an action, dispatching an action as a job, using an action as a controller or listener, or adding validation, authorization, testing, or mocking around an action. |
| lefthook | Write, debug, and explain Lefthook configuration for Git hooks. Use this skill when the user mentions lefthook, lefthook.yml, lefthook install, pre-commit, pre-push, staged-file or push-file filtering, jobs, commands, scripts, local overrides, or troubleshooting hook execution and recursive hook behavior. |
| mise | Configure and use mise for dev tool management, environment variables, and task running. Use this skill when the user mentions mise, mise.toml, .mise.toml, mise use, mise install, mise run, mise x, project tool versions like Node or Python, task definitions, env vars, hooks, backends, or asks how to configure mise in a project. |
| pelican-panel-plugins | Write, scaffold, explain, and debug plugins for the Pelican gaming panel. Use this skill whenever the user mentions Pelican plugins, extending Pelican, FilamentPHP resources or pages for Pelican, plugin service providers, custom permissions, plugin settings, routes, models, widgets, or asks how to add new functionality to the Pelican panel. |
| php-monorepo-builder | Use symplify/monorepo-builder to manage PHP monorepos with vendor/bin/monorepo-builder and monorepo-builder.php. Trigger this skill when the user mentions monorepo-builder, merging package composer.json files into a root composer.json, validating inter-package versions, configuring package directories, propagating dependencies, or automating monorepo releases and release workers. |
| php-saloon | Use this skill when building or debugging PHP API integrations and SDKs with Saloon, including connectors, requests, authentication, request bodies, testing, pagination, Laravel integration, and Saloon plugin workflows. |
| prd-to-kandev-tasks | Break PRDs, specs, or feature briefs into Kandev task graphs and submit them through MCP or agentctl. Use when asked to decompose product work, create Kandev tasks, slice PRDs into agent-ready work, or submit task graphs without blocking assigned agents. |
| prd-todo-slicer | Break a PRD.md into a small, deterministic TODO.md queue and per-task briefs that sub-agents can execute safely one task at a time. |
| qodo-merge | Configure and use Qodo Merge, formerly PR-Agent, for AI-powered pull request reviews, descriptions, inline suggestions, labels, docs, and ticket checks across GitHub, GitLab, Bitbucket, and Azure DevOps. Use this skill whenever the user mentions Qodo Merge, PR-Agent, .pr_agent.toml, pr_agent, PR review bots, /describe, /review, /improve, GitHub App or Action setup, model configuration, or debugging PR-Agent automation. |
| release-please | Set up release-please for automated releases in a repository. Use this skill when the user mentions release-please, googleapis/release-please-action, release PRs, conventional commits, release-please-config.json, .release-please-manifest.json, GitHub Actions release automation, or wants to bootstrap or debug release-please in a new or existing repo. |
| rewrite-in-go | Reimplement an existing application in Go while preserving observable behavior. Use when asked to port, rewrite, migrate, rebuild, or replace an existing app with a Go implementation, especially CLI tools, services, agents, scrapers, or source-driven automation systems. Avoid for greenfield Go features or small Go refactors. |
| shieldsio | Use this skill when building, customizing, or debugging Shields.io badge URLs, working with dynamic JSON/TOML/XML/YAML badges, choosing logo and style parameters, or checking self-hosting and upgrade notes. |
| skill-researcher | Research and recommend the best available skill for the current codebase or working directory. Use this whenever the user is working inside an existing project and asks what skill to use, which skill fits the repo, how to choose between skills, or before doing substantial work in a codebase that may benefit from a specialized skill. Start with a quick repo summary from the brief CLI when available, then inspect the project's high-signal files, major packages, languages, frameworks, SDKs, and config files. Search installed, locally synced, or otherwise available skills for the strongest match. Prefer one best-fit skill with evidence from the repo, plus 1-2 runner-ups only when overlap is real. Also trigger when the repo contains obvious markers like package.json, pyproject.toml, Cargo.toml, go.mod, Gemfile, pom.xml, framework configs, or imports for major ecosystems such as React, Next.js, TypeScript, Python, FastAPI, Django, MCP, or the Anthropic SDK. |
| skill-scout | Analyze the active project, identify high-value technologies, research compatible agent skills, and create or update a project-scoped kasetto.yaml. Use when asked to scout, recommend, install, update, or manage project-specific agent skills with kasetto, kst, or kasetto.yaml. |
| taskfile | Build, debug, and refactor Taskfile.yml or Taskfile.yaml automation using go-task and the task CLI. Use this skill whenever the user mentions Taskfile, go-task, task, task dependencies, includes, variables, templates, sources or generates caching, taskfiles split across directories, or migrating Makefiles or npm scripts to Task. |
| website-visual-testing | Test websites visually in a browser using opencode-pty plus agent-browser. Use this skill when asked to inspect a local dev server in the browser, reproduce a UI bug visually, verify responsive layout, check light or dark mode, compare mobile and desktop states, or run manual browser QA with screenshots. |
- Browse the directories under
skills/to inspect the availableSKILL.mdfiles. - Install the skill that matches the task you want the agent to handle.
- Use the trigger language described in that skill's
descriptionso the agent can activate it reliably.
- Custom agent commands live under
commands/. - Use the
skill-scoutskill directly to inspect the current codebase, select relevant skills, and updatekasetto.yamlusing project-scoped installs. bun scripts/sync-agent-commands.js --writeuses@canonical/harnessesto detect Claude Code, OpenCode, and Codex, then copiescommands/*.mdinto their global command homes.commands/sync-blocklist.jsonpermanently blocks deleted or forbidden commands and removes them from detected harness homes during--writesyncs.- Use
--exclude-harness <name>or--exclude-command <name>to blocklist targets during sync.
This repository includes a starter kasetto.yaml configured for project-scoped installs into .agents/skills.
This repository does not have a global build pipeline. The main maintenance command is:
bun scripts/update-mise-registry.jsUse it only when you intentionally update the generated files under mise/references/.
Useful local validation commands:
python3 - <<'PY'
from pathlib import Path
import re
root = Path('skills')
required = {'name','description','version','source','license'}
ok = True
for f in sorted(root.glob('*/SKILL.md')):
t = f.read_text(encoding='utf-8')
m = re.match(r'^---\n(.*?)\n---\n', t, re.S)
if not m:
ok = False
print(f'{f}: invalid frontmatter')
continue
keys = {re.match(r'^([A-Za-z_][A-Za-z0-9_-]*):', ln).group(1)
for ln in m.group(1).splitlines()
if re.match(r'^([A-Za-z_][A-Za-z0-9_-]*):', ln)}
missing = sorted(required - keys)
if missing:
ok = False
print(f'{f}: missing {missing}')
print('OK' if ok else 'FAILED')
PY
bun scripts/sync-agent-commands.jsSee CONTRIBUTING.md for contribution guidelines, validation commands, and generated-file rules.
- Releases are managed with
release-please. - Tags use the
vX.X.Xformat. - Conventional commit headers such as
feat:andfix:drive changelog and version bumps. - GitHub Releases are published from the default branch after the release pull request is merged.
See SECURITY.md for vulnerability reporting guidance.