{
  "markdown": "# @geekmidas/toolbox\n\nAgent skills for building with the GeekMidas toolbox — a TypeScript monorepo of type-safe packages for modern web applications.\n\nWorks across Claude Code, Cursor, Windsurf, Cline, GitHub Copilot, Codex, Gemini CLI, and 40+ other agents.\n\n---\n\n## Before / After\n\n**Before (cold agent in a fresh worktree):**\n\n> User: \"Add a rate-limit middleware to the `/api/messages` endpoint.\"\n>\n> Agent: *writes a manual throttle function with a `Map`, doesn't link it to `@geekmidas/cache`, and finishes without checking the build.*\n\n**After (geekmidas-toolbox installed):**\n\n> User: same request.\n>\n> Agent: uses `.rateLimit(rateLimit({ ... }))` from `@geekmidas/rate-limit`, links `InMemoryCache` from `@geekmidas/cache`, runs `pnpm build && pnpm test && pnpm lint`, then: \"About to commit to branch `rate-limit` targeting stage `dev` — confirm?\"\n\n---\n\n## What You Get\n\n**Tier 1 — always-on (injected every session):**\n\n| Skill | Enforces |\n|-------|----------|\n| `gkm-standing-rules` | No silent deploy. Worktree context (branch + stage). Confirm before merge. |\n| `gkm-build-test-lint-gate` | `pnpm build && pnpm test && pnpm lint` before \"done\". No `@ts-ignore`, no `.skip`, no `--no-verify`. |\n\n**Tier 2 — task-scoped (activated by context):**\n\n| Skill | Fires on |\n|-------|----------|\n| `gkm-constructs` | `@geekmidas/constructs` endpoint, function, cron, subscriber edits |\n| `gkm-client` | `@geekmidas/client` typed query client and React Query hooks |\n| `gkm-cli` | `@geekmidas/cli`, defineWorkspace, turbo.json, tsdown config |\n| `gkm-envkit` | `@geekmidas/envkit`, EnvironmentParser, Zod env validation |\n| `gkm-services` | `@geekmidas/services`, ServiceDiscovery, lazy service registration |\n| `gkm-db` | `@geekmidas/db`, Kysely queries, withTransaction, migration files |\n| `gkm-cache` | `@geekmidas/cache`, InMemoryCache, UpstashCache, cache.get/set |\n| `gkm-storage` | `@geekmidas/storage`, AmazonStorageClient, presigned URLs, S3 |\n| `gkm-events` | `@geekmidas/events`, Publisher, Subscriber, RabbitMQ/SQS/SNS |\n| `gkm-auth` | `@geekmidas/auth`, TokenClient, JWT refresh, server-side validation |\n| `gkm-errors` | `@geekmidas/errors`, createError factories, HTTP error classes |\n| `gkm-rate-limit` | `@geekmidas/rate-limit`, sliding window limiter, .rateLimit() |\n| `gkm-audit` | `@geekmidas/audit`, auditor.audit(), KyselyAuditStorage |\n| `gkm-logger` | `@geekmidas/logger`, structured logging, child loggers |\n| `gkm-testkit` | `@geekmidas/testkit`, KyselyFactory, test factories, transaction isolation |\n| `gkm-telescope` | `@geekmidas/telescope`, debugging dashboard, API inspection |\n| `gkm-studio` | `@geekmidas/studio`, database browser, Kysely schema explorer |\n| `gkm-cloud` | `@geekmidas/cloud`, SST resources, stage-based infra config |\n| `gkm-schema` | `@geekmidas/schema`, InferStandardSchema, StandardSchema type utils |\n| `gkm-emailkit` | `@geekmidas/emailkit`, React email templates, SMTP client |\n| `gkm-ui` | `@geekmidas/ui`, shadcn/ui components, Tailwind className patterns |\n\n**Universal (always available):**\n\n| Skill | Enforces |\n|-------|----------|\n| `code-quality` | DRY, SRP, early returns, no `any`, Zod at boundaries. |\n| `naming-imports-exports` | camelCase/PascalCase/kebab-case, named exports, `~` alias. |\n\n**Companion slash commands:**\n\n| Command | Description |\n|---------|-------------|\n| `/gkm-help` | Quick-reference card for all skills |\n| `/gkm-commit` | Gitmoji + Conventional Commits + branch/stage confirm |\n| `/gkm-review` | Audit current diff against all skills |\n\n---\n\n## Install\n\nPick your agent. One command. Done.\n\n| Agent | Install |\n|-------|---------|\n| **Claude Code** | `claude plugin marketplace add geekmidas/skills && claude plugin install geekmidas-toolbox@skills` |\n| **Codex** | Clone repo → `.codex/hooks.json` auto-starts within the repo clone |\n| **Gemini CLI** | `gemini extensions install https://github.com/geekmidas/skills` |\n| **Cursor** | `npx skills add geekmidas/skills -a cursor` |\n| **Windsurf** | `npx skills add geekmidas/skills -a windsurf` |\n| **Copilot** | `npx skills add geekmidas/skills -a github-copilot` |\n| **Cline** | `npx skills add geekmidas/skills -a cline` |\n| **Any other** | `npx skills add geekmidas/skills` |\n\nInstall once. Use in every session after that.\n\nThese commands pull from GitHub (`geekmidas/skills`). The repository must be **public**.\n\n### What You Get\n\n| Feature | Claude Code | Codex | Gemini CLI | Cursor | Windsurf | Cline | Copilot |\n|---------|:-----------:|:-----:|:----------:|:------:|:--------:|:-----:|:-------:|\n| 28 skills (`skills/**`) | Y | Y | Y | Y | Y | Y | Y |\n| Tier-1 rules auto-loaded every session | Y | Y¹ | Y | Y² | Y² | Y² | Y² |\n| `/gkm-help`, `/gkm-review`, `/gkm-commit` slash commands | Y | — | Y | — | — | — | — |\n| Statusline badge `[GKM: branch@stage]` | Y | — | — | — | — | — | — |\n\n¹ Codex auto-starts via `.codex/hooks.json` only when run inside this repo's clone.\n² Cursor/Windsurf/Cline/Copilot: rule files ship in the repo and ARE copied into the target project via `npx skills add`.\n\n<details>\n<summary><strong>Claude Code — full details</strong></summary>\n\nThe plugin install gives you all 28 skills + SessionStart hook + statusline.\n\n```bash\nclaude plugin marketplace add geekmidas/skills\nclaude plugin install geekmidas-toolbox@skills\n```\n\n**Standalone hooks (without plugin system):**\n\n```bash\n# macOS / Linux / WSL\nbash <(curl -s https://raw.githubusercontent.com/geekmidas/skills/main/hooks/install.sh)\n\n# Windows (PowerShell)\nirm https://raw.githubusercontent.com/geekmidas/skills/main/hooks/install.ps1 | iex\n```\n\nUninstall: `claude plugin uninstall geekmidas-toolbox` or `bash hooks/uninstall.sh`\n\n</details>\n\n---\n\n## Packages\n\nThe skills cover all packages in [@geekmidas/toolbox](https://github.com/geekmidas/toolbox):\n\n**Framework:** `@geekmidas/constructs` · `@geekmidas/client` · `@geekmidas/cli`  \n**Data:** `@geekmidas/db` · `@geekmidas/cache` · `@geekmidas/storage` · `@geekmidas/events`  \n**Security:** `@geekmidas/auth` · `@geekmidas/errors` · `@geekmidas/rate-limit` · `@geekmidas/audit`  \n**Config:** `@geekmidas/envkit` · `@geekmidas/services` · `@geekmidas/schema`  \n**Tooling:** `@geekmidas/logger` · `@geekmidas/testkit` · `@geekmidas/telescope` · `@geekmidas/studio` · `@geekmidas/cloud`  \n**UI:** `@geekmidas/emailkit` · `@geekmidas/ui`\n\nDocumentation: [geekmidas.github.io/toolbox](https://geekmidas.github.io/toolbox)\n",
  "bytes": 6419,
  "sha": "5d0ccc55203a0480c6ff477834910df8f4e3e4ad40690b699ce3fb7a322791be",
  "repo_slug": "technanimals/geekmidas-skills",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/plg_technanimals_geekmidas_skills_a4131717/readme"
}