@gallopsystems/agent-skills 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (52) hide show
  1. package/README.md +137 -0
  2. package/package.json +26 -0
  3. package/plugins/doctl/.claude-plugin/plugin.json +8 -0
  4. package/plugins/doctl/skills/doctl/SKILL.md +93 -0
  5. package/plugins/kysely-postgres/.claude-plugin/plugin.json +8 -0
  6. package/plugins/kysely-postgres/skills/kysely-postgres/SKILL.md +1101 -0
  7. package/plugins/kysely-postgres/skills/kysely-postgres/references/aggregations.ts +167 -0
  8. package/plugins/kysely-postgres/skills/kysely-postgres/references/ctes.ts +165 -0
  9. package/plugins/kysely-postgres/skills/kysely-postgres/references/expressions.ts +272 -0
  10. package/plugins/kysely-postgres/skills/kysely-postgres/references/joins.ts +206 -0
  11. package/plugins/kysely-postgres/skills/kysely-postgres/references/json-arrays.ts +398 -0
  12. package/plugins/kysely-postgres/skills/kysely-postgres/references/mutations.ts +199 -0
  13. package/plugins/kysely-postgres/skills/kysely-postgres/references/orderby-pagination.ts +117 -0
  14. package/plugins/kysely-postgres/skills/kysely-postgres/references/relations.ts +176 -0
  15. package/plugins/kysely-postgres/skills/kysely-postgres/references/select-where.ts +146 -0
  16. package/plugins/linear/.claude-plugin/plugin.json +8 -0
  17. package/plugins/linear/skills/linear/SKILL.md +1040 -0
  18. package/plugins/linear/skills/linear/bin/linear.mjs +1228 -0
  19. package/plugins/linear/skills/linear/tech-stack.md +273 -0
  20. package/plugins/nitro-testing/.claude-plugin/plugin.json +8 -0
  21. package/plugins/nitro-testing/skills/nitro-testing/SKILL.md +497 -0
  22. package/plugins/nitro-testing/skills/nitro-testing/async-testing.md +270 -0
  23. package/plugins/nitro-testing/skills/nitro-testing/ci-setup.md +226 -0
  24. package/plugins/nitro-testing/skills/nitro-testing/examples/global-setup.ts +90 -0
  25. package/plugins/nitro-testing/skills/nitro-testing/examples/handler.test.ts +167 -0
  26. package/plugins/nitro-testing/skills/nitro-testing/examples/setup.ts +29 -0
  27. package/plugins/nitro-testing/skills/nitro-testing/examples/test-utils-index.ts +297 -0
  28. package/plugins/nitro-testing/skills/nitro-testing/examples/vitest.config.ts +42 -0
  29. package/plugins/nitro-testing/skills/nitro-testing/factories.md +278 -0
  30. package/plugins/nitro-testing/skills/nitro-testing/frontend-testing.md +512 -0
  31. package/plugins/nitro-testing/skills/nitro-testing/test-utils.md +262 -0
  32. package/plugins/nitro-testing/skills/nitro-testing/transaction-rollback.md +183 -0
  33. package/plugins/nitro-testing/skills/nitro-testing/vitest-config.md +236 -0
  34. package/plugins/nuxt-nitro-api/.claude-plugin/plugin.json +8 -0
  35. package/plugins/nuxt-nitro-api/skills/nuxt-nitro-api/SKILL.md +260 -0
  36. package/plugins/nuxt-nitro-api/skills/nuxt-nitro-api/auth-patterns.md +228 -0
  37. package/plugins/nuxt-nitro-api/skills/nuxt-nitro-api/composables-utils.md +174 -0
  38. package/plugins/nuxt-nitro-api/skills/nuxt-nitro-api/deep-linking.md +190 -0
  39. package/plugins/nuxt-nitro-api/skills/nuxt-nitro-api/examples/auth-middleware.ts +32 -0
  40. package/plugins/nuxt-nitro-api/skills/nuxt-nitro-api/examples/auth-utils.ts +51 -0
  41. package/plugins/nuxt-nitro-api/skills/nuxt-nitro-api/examples/deep-link-page.vue +61 -0
  42. package/plugins/nuxt-nitro-api/skills/nuxt-nitro-api/examples/service-util.ts +63 -0
  43. package/plugins/nuxt-nitro-api/skills/nuxt-nitro-api/examples/sse-endpoint.ts +59 -0
  44. package/plugins/nuxt-nitro-api/skills/nuxt-nitro-api/examples/validation-endpoint.ts +38 -0
  45. package/plugins/nuxt-nitro-api/skills/nuxt-nitro-api/fetch-patterns.md +178 -0
  46. package/plugins/nuxt-nitro-api/skills/nuxt-nitro-api/nitro-tasks.md +243 -0
  47. package/plugins/nuxt-nitro-api/skills/nuxt-nitro-api/page-structure.md +162 -0
  48. package/plugins/nuxt-nitro-api/skills/nuxt-nitro-api/server-services.md +238 -0
  49. package/plugins/nuxt-nitro-api/skills/nuxt-nitro-api/sse.md +221 -0
  50. package/plugins/nuxt-nitro-api/skills/nuxt-nitro-api/ssr-client.md +166 -0
  51. package/plugins/nuxt-nitro-api/skills/nuxt-nitro-api/validation.md +131 -0
  52. package/scripts/link-skills.mjs +252 -0
package/README.md ADDED
@@ -0,0 +1,137 @@
1
+ # Claude Skills
2
+
3
+ A collection of Claude Code skills.
4
+
5
+ ## Installation
6
+
7
+ First, add the marketplace:
8
+ ```
9
+ /plugin marketplace add gallop-systems/claude-skills
10
+ ```
11
+
12
+ Then install the skills you want:
13
+ ```
14
+ /plugin install kysely-postgres@gallop-systems-claude-skills
15
+ /plugin install nuxt-nitro-api@gallop-systems-claude-skills
16
+ /plugin install nitro-testing@gallop-systems-claude-skills
17
+ /plugin install linear@gallop-systems-claude-skills
18
+ ```
19
+
20
+ ## Updating
21
+
22
+ Update a specific skill to the latest version:
23
+ ```
24
+ /plugin update kysely-postgres@gallop-systems-claude-skills
25
+ ```
26
+
27
+ **Auto-updates:** Third-party marketplaces don't auto-update by default. To enable:
28
+ 1. Run `/plugin` and select **Marketplaces**
29
+ 2. Choose `gallop-systems-claude-skills`
30
+ 3. Select **Enable auto-update**
31
+
32
+ ## Install as an npm dependency (per-repo)
33
+
34
+ For JS/TS repos, you can pin the skills to a version via your lockfile instead of
35
+ the marketplace. Add the package as a dev dependency:
36
+
37
+ ```
38
+ yarn add -D @gallopsystems/agent-skills
39
+ ```
40
+
41
+ On install, a `postinstall` script symlinks the package's content into the
42
+ project's `.claude/` directory:
43
+
44
+ - **skills** — each directory containing a `SKILL.md` → `.claude/skills/<name>`
45
+ - **commands** — each `.md` file under any `commands/` directory → `.claude/commands/<name>.md`
46
+
47
+ Updating is just a version bump:
48
+
49
+ ```
50
+ yarn up @gallopsystems/agent-skills
51
+ ```
52
+
53
+ These links are generated artifacts (they point into `node_modules` and are
54
+ recreated on every install), so ignore them in `.gitignore`:
55
+
56
+ ```
57
+ .claude/skills
58
+ .claude/commands
59
+ ```
60
+
61
+ Notes:
62
+ - The script never clobbers a real `.claude/skills/<name>` or `.claude/commands/<name>`
63
+ you authored, and only removes symlinks it created. Run `yarn unlink-skills` to
64
+ remove all managed links.
65
+ - Works out of the box with Yarn (Classic, or Berry with `nodeLinker: node-modules`)
66
+ and npm. **pnpm** (v10+) blocks dependency build scripts by default — add the
67
+ package to `pnpm.onlyBuiltDependencies` for the `postinstall` to run.
68
+ - Yarn Berry with the default **PnP** linker is not supported (no `node_modules`
69
+ folder to link from); use `nodeLinker: node-modules`.
70
+
71
+ ## Available Skills
72
+
73
+ ### kysely-postgres
74
+
75
+ Type-safe Kysely query patterns for PostgreSQL. Automatically activates when working in Node.js/TypeScript projects with Kysely.
76
+
77
+ Covers:
78
+ - Query patterns (SELECT, JOIN, WHERE, aggregations)
79
+ - Migrations and recommended column types
80
+ - JSON/JSONB and array handling
81
+ - String concatenation
82
+ - Common pitfalls to avoid
83
+
84
+ ### nuxt-nitro-api
85
+
86
+ Nuxt 3 / Nitro API patterns for building type-safe full-stack applications. Automatically activates when working in Nuxt 3 projects.
87
+
88
+ Covers:
89
+ - Zod validation with h3 (Standard Schema support)
90
+ - useFetch vs $fetch vs useAsyncData
91
+ - Type inference (don't add manual types!)
92
+ - nuxt-auth-utils (OAuth, WebAuthn, middleware)
93
+ - Page structure (keep pages thin)
94
+ - Composables vs utils
95
+ - SSR + localStorage patterns
96
+ - Deep linking (URL params sync)
97
+ - Nitro tasks and job queues
98
+ - Server-Sent Events (SSE)
99
+ - Third-party service integrations
100
+
101
+ ### nitro-testing
102
+
103
+ 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.
104
+
105
+ Covers:
106
+ - Transaction rollback pattern (fast, isolated, real SQL)
107
+ - Vitest custom fixtures (`factories`, `db`)
108
+ - Mock event helpers (`mockGet`, `mockPost`, `mockPatch`, `mockDelete`)
109
+ - Factory pattern for test data creation
110
+ - Global stubs for Nuxt auto-imports
111
+ - Async/automation testing utilities
112
+ - CI/CD setup with GitHub Actions and PostgreSQL
113
+
114
+ ## Adding New Skills
115
+
116
+ 1. Create a new plugin directory: `plugins/my-skill/`
117
+ 2. Add `plugins/my-skill/.claude-plugin/plugin.json`:
118
+ ```json
119
+ {
120
+ "name": "my-skill",
121
+ "description": "Short description",
122
+ "version": "1.0.0",
123
+ "author": { "name": "yeedle" }
124
+ }
125
+ ```
126
+ 3. Add `plugins/my-skill/skills/my-skill/SKILL.md` with frontmatter:
127
+ ```yaml
128
+ ---
129
+ name: my-skill
130
+ description: When to use this skill...
131
+ ---
132
+
133
+ # Skill content here
134
+ ```
135
+ 4. Add any reference files alongside `SKILL.md`
136
+ 5. Register the plugin in `.claude-plugin/marketplace.json`
137
+ 6. Commit and push
package/package.json ADDED
@@ -0,0 +1,26 @@
1
+ {
2
+ "name": "@gallopsystems/agent-skills",
3
+ "version": "1.0.0",
4
+ "description": "Gallop Systems Claude Code skills, symlinked into .claude/skills on install.",
5
+ "license": "UNLICENSED",
6
+ "repository": {
7
+ "type": "git",
8
+ "url": "git+https://github.com/gallop-systems/claude-skills.git"
9
+ },
10
+ "files": [
11
+ "plugins",
12
+ "scripts/link-skills.mjs",
13
+ "README.md"
14
+ ],
15
+ "publishConfig": {
16
+ "access": "public"
17
+ },
18
+ "scripts": {
19
+ "postinstall": "node scripts/link-skills.mjs",
20
+ "link-skills": "node scripts/link-skills.mjs",
21
+ "unlink-skills": "node scripts/link-skills.mjs --unlink"
22
+ },
23
+ "engines": {
24
+ "node": ">=16"
25
+ }
26
+ }
@@ -0,0 +1,8 @@
1
+ {
2
+ "name": "doctl",
3
+ "description": "Manage DigitalOcean App Platform deployments with the doctl CLI: auth contexts, listing apps, monitoring deployments, and checking logs.",
4
+ "version": "1.0.0",
5
+ "author": {
6
+ "name": "yeedle"
7
+ }
8
+ }
@@ -0,0 +1,93 @@
1
+ ---
2
+ name: doctl
3
+ description: Manage DigitalOcean App Platform deployments with doctl CLI. Covers auth contexts, listing apps, monitoring deployments, and checking logs.
4
+ ---
5
+
6
+ # DigitalOcean doctl CLI Patterns
7
+
8
+ This skill provides patterns for managing DigitalOcean resources via the `doctl` CLI, focused on App Platform.
9
+
10
+ ## When to Use This Skill
11
+
12
+ Use this skill when:
13
+ - Deploying or monitoring apps on DigitalOcean App Platform
14
+ - Switching between DigitalOcean auth contexts
15
+ - Checking deployment status or logs
16
+ - Listing apps and their deployments
17
+
18
+ ## Auth Contexts
19
+
20
+ doctl supports named auth contexts for managing multiple accounts/teams.
21
+
22
+ ```bash
23
+ # Switch to a named context
24
+ doctl auth switch --context <context-name>
25
+
26
+ # List available contexts
27
+ doctl auth list
28
+ ```
29
+
30
+ Always switch context before running commands against a specific account.
31
+
32
+ ## App Platform
33
+
34
+ ### Listing Apps
35
+
36
+ ```bash
37
+ # List all apps (shows ID, name, ingress URL, deployment status)
38
+ doctl apps list
39
+ ```
40
+
41
+ Key columns: `ID`, `Spec Name`, `Default Ingress`, `Active Deployment ID`, `In Progress Deployment ID`.
42
+
43
+ The app ID is a UUID — you'll need it for all subsequent commands.
44
+
45
+ ### Monitoring Deployments
46
+
47
+ ```bash
48
+ # List recent deployments for an app
49
+ doctl apps list-deployments <app-id>
50
+ ```
51
+
52
+ Key columns: `ID`, `Cause`, `Progress` (e.g. `6/6`), `Phase`.
53
+
54
+ Deployment phases:
55
+ - `PENDING_BUILD` — queued
56
+ - `BUILDING` — build in progress
57
+ - `DEPLOYING` — deploying built artifacts
58
+ - `ACTIVE` — successfully deployed and serving traffic
59
+ - `SUPERSEDED` — replaced by a newer deployment
60
+ - `ERROR` — deployment failed
61
+
62
+ The `Cause` column shows which commit triggered the deploy.
63
+
64
+ ### Deployment Logs
65
+
66
+ ```bash
67
+ # Get build logs for a specific deployment
68
+ doctl apps logs <app-id> --deployment <deployment-id> --type build
69
+
70
+ # Get runtime logs
71
+ doctl apps logs <app-id> --type run
72
+
73
+ # Follow logs in real-time
74
+ doctl apps logs <app-id> --type run --follow
75
+ ```
76
+
77
+ Log types: `build`, `deploy`, `run`, `run_restarted`.
78
+
79
+ ### Getting App Details
80
+
81
+ ```bash
82
+ # Get full app spec (useful for seeing components, env vars, routes)
83
+ doctl apps get <app-id>
84
+
85
+ # Get app spec as yaml
86
+ doctl apps spec get <app-id>
87
+ ```
88
+
89
+ ## Common Gotchas
90
+
91
+ - **Column names in `--format`**: doctl's `--format` flag is picky about column names. If you get `unknown column` errors, run the command without `--format` first to see available columns, then filter with standard tools like `head`.
92
+ - **Deployment auto-trigger**: Apps connected to GitHub auto-deploy on push to the configured branch. No manual deploy needed unless auto-deploy is off.
93
+ - **App ID vs Name**: Most commands require the app UUID, not the human-readable name. Get it from `doctl apps list`.
@@ -0,0 +1,8 @@
1
+ {
2
+ "name": "kysely-postgres",
3
+ "description": "Type-safe Kysely query patterns for PostgreSQL",
4
+ "version": "1.0.0",
5
+ "author": {
6
+ "name": "yeedle"
7
+ }
8
+ }