{"id":"a5c11cb3-9b3c-42ea-af3d-e4a474e7a4e2","slug":"eagerworks-skills","kind":"skill","name":"skills","summary":"A collection of portable agent skills by Eagerworks — install via the skills.sh CLI for Claude Code, Cursor, Copilot, Codex, Amp, and more.","owner":"eagerworks","repoUrl":"https://github.com/eagerworks/skills","license":"MIT","licenseTier":"permissive","trust":"community","stars":3,"match":null,"fewStars":true,"format":"skill","createdAt":"2026-06-02T04:40:51.000Z","addedAt":"2026-10-14T06:30:14.295Z","logoUrl":"https://avatars.githubusercontent.com/u/24816244?v=4","linkOnly":false,"collection":null,"skillPath":null,"categories":["developer-tools"],"tags":["kamal","skills-sh","ai-agents","claude-code","cursor"],"runtime":"binary","local":true,"cloudCapable":false,"cloudCapability":"unknown","cloudReadyOnPlatform":false,"needsApiKey":false,"reviewed":false,"syncedAt":"2026-10-17T10:02:47.712Z","sample":false,"url":"https://conduits.dev/tools/eagerworks-skills","language":"Python","transports":["stdio"],"install":{},"requirements":{"env":[],"upstreamMayCharge":false},"tools":null,"readme":"# skills\n\nAgent skills maintained by [Eagerworks](https://eagerworks.com) — portable, progressive-disclosure knowledge bases that teach coding agents how to do a specific job well.\n\nEach skill is plain markdown and works with Claude Code, Cursor, GitHub Copilot, Codex, Amp, and any agentic tool that reads the [Agent Skills](https://www.skills.sh) format. Install them with one command via the [skills.sh CLI](https://www.skills.sh).\n\n## Available skills\n\n### Git workflow & review\n\n<table>\n<tr><td bgcolor=\"#f6f8fa\"><strong><a href=\"skills/commit/\">commit</a></strong><br><sub>v1.0.0 · Updated September 7, 2026</sub></td></tr>\n<tr><td>Commits everything modified or new in the working tree by default, grouped into a series of coherent <a href=\"https://www.conventionalcommits.org/\">Conventional Commits</a> — one commit per logical change, staged by explicit path (never <code>git add -A</code>, never the interactive <code>git add -p</code>) — with the type/scope vocabulary inferred from the repo's own git history rather than assuming the full spec is in use, an exclusion list for secrets/build output/screenshots that's always disclosed when it triggers, and honest handling of pre-commit hooks (a rejection stops the series, a formatter rewrite gets one retry, never <code>--no-verify</code>). Configurable per repo to ask before including new files instead. Stops at the commit — pushing and opening a PR is <code>create-pr</code>'s job.</td></tr>\n</table>\n\n<table>\n<tr><td bgcolor=\"#f6f8fa\"><strong><a href=\"skills/create-pr/\">create-pr</a></strong><br><sub>v1.2.0 · Updated September 11, 2026</sub></td></tr>\n<tr><td>Opens or updates a pull request: base-branch resolution from evidence, a description structure with no hand-wrapped paragraphs, a verification checklist derived from tooling actually detected in the repo, a <code>Test plan</code> split into <code>Automated</code> results and tickable <code>Manual</code> test scenarios (setup, steps, expected result) for whoever reviews the PR's quality, and screenshots attached via the GitHub CLI's <code>--attach</code> flag (<code>gh</code> ≥ 2.99.0) — the first officially supported way to get an image into a PR body via automation — with an explicit placeholder instead of a fabricated URL or test step when none is available, and the repo's own PR template resolved by asking rather than assuming either side.</td></tr>\n</table>\n\n<table>\n<tr><td bgcolor=\"#f6f8fa\"><strong><a href=\"skills/pr-review/\">pr-review</a></strong><br><sub>v2.1.0 · Updated September 1, 2026</sub></td></tr>\n<tr><td>Code review for Rails and Node/TypeScript diffs: correctness, security &amp; multi-tenant scoping, repo-convention conformance, test coverage against acceptance criteria, and documentation &amp; decision capture (stale docs, undocumented decisions), with a conservative severity ladder, markdown or machine-parseable output, and an optional review-fix loop. When reviewing a GitHub PR, it also posts the report on the PR as a comment, in English by default — configurable per repo via <code>review.language</code>, regardless of what language the conversation is in.</td></tr>\n</table>\n\n### Documentation\n\n<table>\n<tr><td bgcolor=\"#f6f8fa\"><strong><a href=\"skills/decision-record/\">decision-record</a></strong><br><sub>v1.0.0 · Updated September 8, 2026</sub></td></tr>\n<tr><td>Writes or updates an architecture decision record (ADR) as a dated markdown file under <code>docs/decision-records/</code>: a one-sentence declarative title with no leading number and no <code>Status</code> field, and exactly four sections — Context, Decision, Consequences, Related — applied the same way in every repo. Requires the failure mode on both sides of the choice in Context, never invents the \"why\" (asks or leaves a <code>TODO(author):</code> instead), and treats a changed decision as a new record that links back rather than a rewrite of the old one.</td></tr>\n</table>\n\n### API design\n\n<table>\n<tr><td bgcolor=\"#f6f8fa\"><strong><a href=\"skills/rest-api-design/\">rest-api-design</a></strong><br><sub>v1.0.0 · Updated August 21, 2026</sub></td></tr>\n<tr><td>Design and review REST APIs: resource modeling, HTTP methods &amp; status codes, payload and RFC 9457 error shapes, pagination/filtering, versioning &amp; deprecation, auth, rate limiting, security pitfalls, and OpenAPI 3.1 — with an existing-API survey step so new endpoints match the conventions already in the codebase.</td></tr>\n</table>\n\n### Deployment\n\n<table>\n<tr><td bgcolor=\"#f6f8fa\"><strong><a href=\"skills/kamal/\">kamal</a></strong><br><sub>v1.0.1 · Updated August 28, 2026</sub></td></tr>\n<tr><td>Zero-downtime <a href=\"https://kamal-deploy.org\">Kamal</a> deployments (v2.x + 1.9.x): first-time setup, deploys, rollbacks, rolling deploys, <code>kamal-proxy</code> + Let's Encrypt SSL, secrets &amp; vault adapters, accessories, builders/multiarch, troubleshooting, and the v1→v2 upgrade.</td></tr>\n</table>\n\n### Audits & compliance\n\n<table>\n<tr><td bgcolor=\"#f6f8fa\"><strong><a href=\"skills/audit-hipaa/\">audit-hipaa</a></strong><br><sub>v1.0.0 · Updated September 12, 2026</sub></td></tr>\n<tr><td>Audits a codebase and its infrastructure config against the <a href=\"https://www.hhs.gov/hipaa/for-professionals/security/index.html\">HIPAA Security Rule</a>: locates PHI in data models, logs, error trackers, analytics, and outbound LLM/API calls, checks §164.312 technical safeguards (access control, audit controls, integrity, authentication, transmission security), and routes BAA/administrative obligations to a human — output as a severity-graded audit report written to a dated file in the repo.</td></tr>\n</table>\n\n<table>\n<tr><td bgcolor=\"#f6f8fa\"><strong><a href=\"skills/mobile-store-review/\">mobile-store-review</a></strong><br><sub>v1.0.0 · Updated August 28, 2026</sub></td></tr>\n<tr><td>Audits an Expo/React Native or native mobile app — standalone or inside a Turborepo — against the <a href=\"https://developer.apple.com/app-store/review/guidelines/\">Apple App Review Guidelines</a> and <a href=\"https://play.google.com/about/developer-content-policy/\">Google Play Developer Program Policies</a>: permissions &amp; usage descriptions, privacy manifests &amp; App Tracking Transparency, App Privacy vs. Data safety, account deletion, IAP &amp; external payments, SDK/target-API floors, versioning &amp; credentials, and EAS/monorepo build config — output as a severity-graded audit report.</td></tr>\n</table>\n\n<table>\n<tr><td bgcolor=\"#f6f8fa\"><strong><a href=\"skills/loop-engineering-audit/\">loop-engineering-audit</a></strong><br><sub>v1.1.0 · Updated September 12, 2026</sub></td></tr>\n<tr><td>Audits a repository for loop-engineering readiness — whether an AI coding agent can take a task, implement it, verify it with the project's own checks, and hand off a PR unattended: agent-facing docs, reproducible setup, fast non-interactive verification, test safety net, task/PR conventions, CI gates, guardrails, and parallel-session readiness (worktrees that don't collide) — graded 🔴/🟡/🟢/⚪ with an ordered Work Plan, printed in chat and saved to <code>docs/loop-engineering-audit.md</code>. Then, as advisory output that never enters the Work Plan or the verdict: a map of which delivery stages are Automated / Assisted / Manual / Human by design / Absent, and up to five concrete agent loops the project could actually create and maintain — each with its blast-radius risk level (L1 contained → L3 external-effect), the prerequisites and guardrails it needs, and what to configure to stand it up.</td></tr>\n</table>\n\n<table>\n<tr><td bgcolor=\"#f6f8fa\"><strong><a href=\"skills/repo-handoff/\">repo-handoff</a></strong><br><sub>v1.0.0 · Updated September 12, 2026</sub></td></tr>\n<tr><td>Prepares the handoff of a codebase inherited from another team: reads architecture, setup, build/test, infrastructure &amp; deploy, data, third-party services &amp; credentials, security &amp; access, code health, process/history, and operations — graded 🔴/🟡/🟢/⚪ — and turns every gap into a prioritized (P0/P1/P2) list of <strong>questions for the previous team</strong> plus an access &amp; ownership transfer checklist, printed in chat and saved to <code>docs/repo-handoff.md</code> (answers preserved across re-runs).</td></tr>\n</table>\n\n## Install\n\nInstall with the [skills.sh CLI](https://www.skills.sh) — one command, no manual file copying or pointer files to write. It works with Claude Code and 70+ other agents (Cursor, GitHub Copilot, Codex, Amp, and more).\n\n```bash\n# install a specific skill\nnpx skills add eagerworks/skills --skill kamal\n\n# or pick interactively from the collection\nnpx skills add eagerworks/skills\n\n# or install every skill in the collection\nnpx skills add eagerworks/skills --all\n```\n\nA few notes:\n\n- **Agent detection** — the CLI auto-detects the coding agents you have installed. If none are detected, it prompts you to pick which ones to install to.\n- **Target specific tools** with `-a` / `--agent` (repeatable):\n\n  ```bash\n  npx skills add eagerworks/skills --skill kamal -a claude-code -a cursor\n  ```\n\n  Supported slugs include `claude-code`, `cursor`, `github-copilot`, `codex`, and `amp` (plus dozens more).\n- **Global vs project** — installs into your project by default. Add `-g` / `--global` to make it available in every project.\n- **No pointer files** — agents with native Agent Skills support load each skill's `SKILL.md` automatically from its frontmatter `description`, and open `references/*.md` on demand. Nothing else to wire up.\n\n> **Known issue with Claude Code** — `npx skills add` (even with `-a claude-code`, global or project-scoped) can install the skill into `.agents/skills/<name>/` and record it in `skills-lock.json`, without creating the symlink in `.claude/skills/<name>/` that Claude Code actually reads from. If a freshly installed skill doesn't show up, check whether that symlink exists; if it doesn't, create it yourself and reload:\n>\n> ```bash\n> # project-level\n> ln -s ../../.agents/skills/<name> .claude/skills/<name>\n> # global\n> ln -s ~/.agents/skills/<name> ~/.claude/skills/<name>\n> ```\n>\n> Then run `/reload-skills` inside Claude Code so the session picks it up. Tracked upstream: [vercel-labs/skills#744](https://github.com/vercel-labs/skills/issues/744), [#851](https://github.com/vercel-labs/skills/issues/851), [#1355](https://github.com/vercel-labs/skills/issues/1355).\n\n<details>\n<summary><strong>Manual install (advanced)</strong> — for tools without skills.sh support, or if you prefer to vendor the files yourself</summary>\n\nThe universal pattern is the same for every tool, and every skill lives under `skills/<name>/`:\n\n1. **Vendor the skill** into your project (or a global location).\n2. **Add a small pointer** in your tool's rules/instructions file so the agent knows to load the skill's `SKILL.md` when it's relevant.\n\nThe agent opens `references/*.md` files on demand, so the pointer stays tiny while the full knowledge base is always available. All integrations point at the same `SKILL.md` and `references/` files, so updating the vendored copy updates every integration at once.\n\nThe examples below use the **kamal** skill — swap `kamal` for any other skill in the collection.\n\n### Claude Code\n\n**Global install** (available in every project):\n\n```bash\n# copy:\ncp -r /path/to/skills/skills/kamal ~/.claude/skills/kamal\n\n# or symlink (changes in the repo reflect immediately):\nln -s /path/to/skills/skills/kamal ~/.claude/skills/kamal\n```\n\n**Project-level install** (committed to the repo, shared with your team):\n\n```bash\nmkdir -p .claude/skills\ncp -r /path/to/skills/skills/kamal .claude/skills/kamal\n# or: ln -s /path/to/skills/skills/kamal .claude/skills/kamal\n```\n\nClaude Code reads the `name` and `description` frontmatter in `SKILL.md` and loads the skill automatically — no extra pointer file needed.\n\n### Cursor\n\nFirst, vendor the collection into your project:\n\n```bash\ngit submodule add https://github.com/eagerworks/skills tools/eagerworks-skills\n# or: cp -r /path/to/skills tools/eagerworks-skills\n```\n\nThen create `.cursor/rules/kamal.mdc`:\n\n```markdown\n---\ndescription: >\n  Expert guide for setting up and managing Kamal deployments — the Basecamp tool for zero-downtime\n  container deployments to bare-metal servers and VMs. Use this skill whenever the user: mentions\n  Kamal, kamal-proxy, or Traefik-based deployments; wants to deploy a Dockerized app to a VPS, VM,\n  or bare-metal server; is writing or editing a config/deploy.yml or .kamal/secrets file; asks about\n  zero-downtime deploys, rolling deploys, rollbacks, or deploy hooks; needs to set up a Docker\n  registry, builder, or SSH connection for deployments; asks about Kamal accessories (databases,\n  Redis, etc.); is troubleshooting a failed deploy, healthcheck error, or lock issue; is upgrading\n  from Kamal 1 to Kamal 2; or wants to run commands inside a running container. Also use when\n  the user says things like \"deploy my app without downtime\", \"deploy to my own server\", or\n  \"set up SSL for my self-hosted app\" — even if they don't name Kamal.\nalwaysApply: false\n---\n\nRead @tools/eagerworks-skills/skills/kamal/SKILL.md for Kamal deployment guidance.\nLoad the matching file from @tools/eagerworks-skills/skills/kamal/references/ on demand as needed.\n```\n\nCursor matches the `description` to incoming requests and loads the rule automatically — no need to mention Kamal explicitly.\n\n### GitHub Copilot\n\nVendor the collection first (same as above):\n\n```bash\ngit submodule add https://github.com/eagerworks/skills tools/eagerworks-skills\n# or: cp -r /path/to/skills tools/eagerworks-skills\n```\n\n**Option A — always-on** (applies to every file): append to `.github/copilot-instructions.md`:\n\n```markdown\n## Kamal deployments\n\nWhen helping with Kamal deployments, read `tools/eagerworks-skills/skills/kamal/SKILL.md` for version detection,\nsetup workflow, a command cheatsheet, and critical gotchas. Load the relevant file from\n`tools/eagerworks-skills/skills/kamal/references/` on demand (configuration, commands, workflows, secrets-and-hooks,\nproxy-and-ssl, builders, troubleshooting, kamal-v1).\n```\n\n**Option B — path-scoped** (triggers only for Kamal files): create `.github/instructions/kamal.instructions.md`:\n\n```markdown\n---\napplyTo: \"**/deploy.yml,**/.kamal/**,**/kamal/**\"\n---\n\nWhen helping with Kamal deployments, read `tools/eagerworks-skills/skills/kamal/SKILL.md` for version detection,\nsetup workflow, a command cheatsheet, and critical gotchas. Load the relevant file from\n`tools/eagerworks-skills/skills/kamal/references/` on demand (configuration, commands, workflows, secrets-and-hooks,\nproxy-and-ssl, builders, troubleshooting, kamal-v1).\n```\n\n### Codex, Amp, and other AGENTS.md-compatible tools\n\nVendor the collection (same as above), then add a section to your project's `AGENTS.md`:\n\n```markdown\n## Kamal deployments\n\nWhen helping with Kamal deployments, read `tools/eagerworks-skills/skills/kamal/SKILL.md` for version detection,\nsetup workflow, a command cheatsheet, and critical gotchas. Load the relevant file from\n`tools/eagerworks-skills/skills/kamal/references/` on demand (configuration, commands, workflows, secrets-and-hooks,\nproxy-and-ssl, builders, troubleshooting, kamal-v1).\n```\n\n</details>\n\n### Any LLM — Claude.ai, API, or standalone\n\nThe content is plain markdown and works in any interface:\n\n| Interface | How to use |\n|---|---|\n| **Claude.ai** | Paste a skill's `SKILL.md` + the relevant `references/*.md` into your conversation |\n| **Claude API** | Include the files as system-prompt context |\n| **Any LLM / standalone docs** | The `references/` files are plain documentation — use them directly |\n\n## Repository structure\n\nEach skill is a self-contained directory under `skills/<name>/` — this is the boundary the skills.sh CLI ships, so everything the agent needs lives inside it:\n\n```\nskills/\n  kamal/                        # one skill (what skills.sh installs)\n    SKILL.md                    # agent entrypoint: when to use it + a lean hub\n    references/                 # in-depth docs, loaded on demand\n    assets/                     # copyable starter files / templates\n    README.md                   # human-facing overview of the skill\n    CHANGELOG.md                # per-version history + what config/files to update\nevals/\n  kamal/\n    evals.json                  # per-skill eval cases (repo-level harness, not shipped)\n```\n\n## Adding a new skill\n\n1. Create `skills/<name>/SKILL.md` with `name` and `description` frontmatter (the `description` is what agents match against — make it specific about when to use the skill), plus `metadata.version: \"1.0.0\"`.\n2. Add `references/` and `assets/` inside `skills/<name>/` as needed; keep `SKILL.md` lean and push depth into `references/`.\n3. Add `skills/<name>/CHANGELOG.md` with an initial `[1.0.0]` entry.\n4. Add eval cases at `evals/<name>/evals.json`.\n5. Add a row to the **Available skills** table above.\n\nSee [`CONTRIBUTING.md`](CONTRIBUTING.md) for authoring conventions.\n\n## How it stays in sync\n\nEvery tool reads the same `SKILL.md` and `references/` files. Re-run `npx skills add eagerworks/skills --skill <name>` to pull the latest version (or, on a manual install, update your vendored copy) and every agent picks up the changes — there is no per-tool content to keep in sync.\n\nEach skill also carries a `CHANGELOG.md` and a semver `metadata.version` in `SKILL.md`'s frontmatter. Before or after updating, check the skill's `CHANGELOG.md` (in your vendored copy, or on GitHub) for anything landed between the version you had and the one you're pulling — entries call out, under a **Config** heading, any `.eagerworks/<name>.json` key or other file you need to add or change for the new behavior to apply. The repo-level [`CHANGELOG.md`](CHANGELOG.md) tracks when each skill was added or had a notable release, with links out to the per-skill detail.\n\nThe progressive-disclosure design means the agent loads only `SKILL.md` up front, while the full knowledge base is always available to open on demand.\n\n## License\n\nMIT © [Eagerworks](https://eagerworks.com)\n"}