@gallopsystems/agent-skills
v1.25.1
Published
Gallop Systems agent skills, symlinked into .claude/skills (Claude Code) and .agents/skills (Codex) on install.
Readme
Claude Skills
A collection of Claude Code skills.
Installation
First, add the marketplace:
/plugin marketplace add gallop-systems/agent-skillsThen install the skills you want:
/plugin install kysely-postgres@gallop-systems-agent-skills
/plugin install nuxt-nitro-api@gallop-systems-agent-skills
/plugin install nitro-testing@gallop-systems-agent-skills
/plugin install linear@gallop-systems-agent-skills
/plugin install doctl@gallop-systems-agent-skills
/plugin install git-github@gallop-systems-agent-skills
/plugin install copier-template@gallop-systems-agent-skills
/plugin install volt-primevue@gallop-systems-agent-skills
/plugin install vue-nuxt@gallop-systems-agent-skills
/plugin install frontend-design@gallop-systems-agent-skillsUpdating
Update a specific skill to the latest version:
/plugin update kysely-postgres@gallop-systems-agent-skillsAuto-updates: Third-party marketplaces don't auto-update by default. To enable:
- Run
/pluginand select Marketplaces - Choose
gallop-systems-agent-skills - Select Enable auto-update
Install as an npm dependency (per-repo)
For JS/TS repos, you can pin the skills to a version via your lockfile instead of the marketplace. Add the package as a dev dependency:
yarn add -D @gallopsystems/agent-skillsOn install, a postinstall script symlinks the package's content into the
project, for both Claude Code and Codex:
- skills — each directory containing a
SKILL.md→.claude/skills/<name>(Claude Code) and.agents/skills/<name>(Codex). TheSKILL.mdformat is identical for both agents, so each skill dir is linked verbatim. Everything ships as a skill: in current Claude Code a skill is both slash-invocable (/<name>) and model-invocable, socontribute-skill, for example, gives you/contribute-skilland gets auto-offered when relevant — no separate command needed. - commands — each
.mdfile under anycommands/directory →.claude/commands/<name>.md(Claude only; Codex has no project command dir). Kept for legacy/Claude-only commands; this package ships none today.
Updating is just a version bump:
yarn up @gallopsystems/agent-skillsThese links are generated artifacts (they point into node_modules and are
recreated on every install), so ignore them in .gitignore:
.claude/skills
.claude/commands
.agents/skillsNotes:
- The script never clobbers a real
.claude/skills/<name>,.agents/skills/<name>, or.claude/commands/<name>you authored, and only removes symlinks it created. Runyarn unlink-skillsto remove all managed links. - Works out of the box with Yarn (Classic, or Berry with
nodeLinker: node-modules) and npm. pnpm (v10+) blocks dependency build scripts by default — add the package topnpm.onlyBuiltDependenciesfor thepostinstallto run. - Yarn Berry with the default PnP linker is not supported (no
node_modulesfolder to link from); usenodeLinker: node-modules.
Available Skills
kysely-postgres
Type-safe Kysely query patterns for PostgreSQL. Automatically activates when working in Node.js/TypeScript projects with Kysely.
Covers:
- Query patterns (SELECT, JOIN, WHERE, aggregations)
- Migrations and recommended column types
- JSON/JSONB and array handling
- String concatenation
- Common pitfalls to avoid
nuxt-nitro-api
Nuxt 4 / Nitro API patterns for building type-safe full-stack applications. Automatically activates when working in Nuxt 4 projects.
Covers:
- Zod validation with h3 (Standard Schema support)
- useFetch vs $fetch vs useAsyncData
- Type inference (don't add manual types!)
- nuxt-auth-utils (OAuth, WebAuthn, middleware)
- Composables vs utils
- SSR + localStorage patterns
- Deep linking (URL params sync)
- Nitro tasks and job queues
- Server-Sent Events (SSE)
- Third-party service integrations
nitro-testing
Test Nitro API handlers with real PostgreSQL using transaction rollback isolation. Each test runs in a transaction that auto-rolls back for complete isolation without cleanup overhead.
Covers:
- Transaction rollback pattern (fast, isolated, real SQL)
- Vitest custom fixtures (
factories,db) - Mock event helpers (
mockGet,mockPost,mockPatch,mockDelete) - Factory pattern for test data creation
- Global stubs for Nuxt auto-imports
- Async/automation testing utilities
- CI/CD setup with GitHub Actions and PostgreSQL
linear
Create, triage, and manage Linear issues following team conventions, with a GraphQL CLI for operations the Linear MCP server doesn't expose.
Covers:
- Issue creation and triage conventions
- Tech-stack labels
- A
linear.mjsCLI for GraphQL operations
doctl
Manage DigitalOcean resources with the doctl CLI.
Covers:
- Auth contexts (per-command
--contextover stateful switching) - Resolving the current git repo to its DO context + app
- App Platform: deployments, bounded polling, logs and their retention quirks
- App specs: env var/secret round-trips, validation, creating apps
--format/-o jsongotchas- Managed databases, Spaces keys, droplets, DNS
git-github
Git and GitHub (gh CLI) workflows for agents.
Covers:
- Ground rules and the branch → commit → PR loop
- Reading PR and CI state (
gh pr view --json,gh pr checks) - Debugging failed GitHub Actions runs (the full playbook)
- Repair ladders: rejected pushes, rebase-after-squash-merge, shallow clones, worktrees
gh apirecipes: PR comments, no-checkout file reads, repo settings, PAT gotchas- Releases: tags, npm Trusted Publishing, release-please
- External review loop with the codex CLI
copier-template
Maintain a Copier project template and propagate updates to generated repos.
Covers:
- Template anatomy: copier.yml, conditional files, tasks, jinja escaping in CI workflows
- Testing template changes (
--vcs-ref HEAD, generate-and-validate) - Releasing versions (tag + GitHub Release) and the update-checker workflow pattern
- Applying
copier updatein descendants: conflict triage,.rejfiles, validation
Contributing a Lesson Back
Every skill ends with a Contributing Back section: when Claude works through
something the skill didn't cover, it offers to contribute the lesson upstream. The
contribute-skill skill (run /contribute-skill on Claude Code, or let either agent
invoke it when relevant) automates the flow: distill the generic lesson,
privacy-sweep it, clone or fork this repo, and open a PR against the right skill
file. PRs from forks are welcome — content must be generic (placeholders only, no
project-specific names, IDs, or domains).
Adding New Skills
- Create a new plugin directory:
plugins/my-skill/ - Add
plugins/my-skill/.claude-plugin/plugin.json:{ "name": "my-skill", "description": "Short description", "version": "1.0.0", "author": { "name": "yeedle" } } - Add
plugins/my-skill/skills/my-skill/SKILL.mdwith frontmatter:--- name: my-skill description: When to use this skill... --- # Skill content here - Add any reference files alongside
SKILL.md - Register the plugin in
.claude-plugin/marketplace.json - Commit and push
