{"id":50253409,"url":"https://github.com/emaraschio/cursor-commands","last_synced_at":"2026-05-31T07:00:29.550Z","repository":{"id":360198273,"uuid":"1248643015","full_name":"emaraschio/cursor-commands","owner":"emaraschio","description":"Generic Cursor slash commands and Agent Skills with behavioral eval rubrics and CI ship-gate checks. Merge-safe install to ~/.cursor.","archived":false,"fork":false,"pushed_at":"2026-05-29T14:16:10.000Z","size":158,"stargazers_count":7,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-05-30T06:03:50.063Z","etag":null,"topics":["agent-skills","ai-agents","cursor","cursor-ide","developer-tools","dotfiles","github-actions","prompts"],"latest_commit_sha":null,"homepage":"https://github.com/emaraschio/cursor-commands#readme","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/emaraschio.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":"docs/ROADMAP.md","authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-05-24T22:48:12.000Z","updated_at":"2026-05-29T14:17:19.000Z","dependencies_parsed_at":null,"dependency_job_id":"9dfe8c75-3f70-4f9e-8020-b53821b3666d","html_url":"https://github.com/emaraschio/cursor-commands","commit_stats":null,"previous_names":["emaraschio/cursor-commands"],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/emaraschio/cursor-commands","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/emaraschio%2Fcursor-commands","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/emaraschio%2Fcursor-commands/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/emaraschio%2Fcursor-commands/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/emaraschio%2Fcursor-commands/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/emaraschio","download_url":"https://codeload.github.com/emaraschio/cursor-commands/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/emaraschio%2Fcursor-commands/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33722156,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-05-31T02:00:06.040Z","response_time":95,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["agent-skills","ai-agents","cursor","cursor-ide","developer-tools","dotfiles","github-actions","prompts"],"created_at":"2026-05-27T03:12:13.658Z","updated_at":"2026-05-31T07:00:29.508Z","avatar_url":"https://github.com/emaraschio.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# cursor-commands\n\n[![Validate](https://github.com/emaraschio/cursor-commands/actions/workflows/validate.yml/badge.svg)](https://github.com/emaraschio/cursor-commands/actions/workflows/validate.yml)\n[![Install smoke](https://github.com/emaraschio/cursor-commands/actions/workflows/install-smoke.yml/badge.svg)](https://github.com/emaraschio/cursor-commands/actions/workflows/install-smoke.yml)\n[![Docs](https://github.com/emaraschio/cursor-commands/actions/workflows/docs.yml/badge.svg)](https://github.com/emaraschio/cursor-commands/actions/workflows/docs.yml)\n[![Eval fixtures](https://github.com/emaraschio/cursor-commands/actions/workflows/eval-fixtures.yml/badge.svg)](https://github.com/emaraschio/cursor-commands/actions/workflows/eval-fixtures.yml)\n\n**Stable release: [`v1.0.0`](CHANGELOG.md#100---2026-05-25)** — Generic Cursor slash commands, Agent Skills, and behavioral eval rubrics. Install from `main` or `git checkout v1.0.0` (the only published release tag). Ship-gate sections are enforced in CI via [docs/EVAL_CI.md](docs/EVAL_CI.md). Organization-specific packs install from the **host workspace**.\n\nInspired by install ergonomics from [hamzafer/cursor-commands](https://github.com/hamzafer/cursor-commands); this repo adds **skills**, **eval rubrics**, and **structural ship-gate CI** (`run-eval-fixtures.py --strict`).\n\n## What you get\n\n- **28** generic slash commands (git, review, security audits, PR workflows, requirement-to-implementation, etc.)\n- **28** skill directories (one per command)\n- **Behavioral evals** (`PASS` / `PARTIAL` / `FAIL`) per command — regression guardrails when editing prompts\n\n## Installation\n\n### Standalone clone\n\n```bash\ngit clone https://github.com/emaraschio/cursor-commands.git\ncd cursor-commands\nchmod +x scripts/install.sh\n./scripts/install.sh          # merge mode (default)\n```\n\nCommands and skills from this catalog are symlinked into `~/.cursor/commands/` and `~/.cursor/skills/`. **Merge mode (default)** keeps your own files and host overlays (org-specific commands installed afterward). Use `./scripts/install.sh --replace` only if you want to wipe those directories first. Use `--prune` to remove stale symlinks that still point into this repo after a catalog rename.\n\n### As a Git submodule\n\nIf a parent repo (for example personal dotfiles) vendors this tree:\n\n```bash\ncd path/to/parent-repo\ngit submodule update --init path/to/cursor-commands\n./path/to/cursor-commands/scripts/install.sh\n```\n\nThe parent repo owns workspace-specific Cursor **rules**, **agents**, and **memory-bank** files. This repo only ships shared slash commands and skills.\n\n### Custom Cursor home\n\n```bash\nCURSOR_HOME=\"$HOME/.cursor\" ./scripts/install.sh\n\n# Host overlay: install generic, then org-specific symlinks from your dotfiles (merge-safe).\n```\n\n## Architecture\n\n```text\n.cursor/commands/\u003cname\u003e.md   # thin slash entry (YAML frontmatter)\n.cursor/skills/\u003cname\u003e/\n  SKILL.md                   # full agent contract\n  eval/\n    cases.md                 # behavioral rubric\n    README.md                # ship gate + how to score\n```\n\nDetails: [COMMAND_SCHEMA.md](.cursor/docs/COMMAND_SCHEMA.md)\n\n```mermaid\nflowchart LR\n  slash[\"/command\"] --\u003e cmd[\"commands/name.md\"]\n  cmd --\u003e skill[\"skills/name/SKILL.md\"]\n  skill --\u003e eval[\"eval/cases.md\"]\n```\n\n## Catalog\n\nFull table: [COMMANDS_INDEX.md](.cursor/docs/COMMANDS_INDEX.md)\n\n| Highlight | Description |\n|-----------|-------------|\n| `/merge-open-prs` | Batch review, Docker verify, merge when green (limit 10) |\n| `/code-review` | Thorough PR review before approval |\n\n**External dependency:** `/merge-open-prs` expects the user-global **babysit** skill at `~/.cursor/skills-cursor/babysit/SKILL.md`.\n\n**Org-specific commands** (domain scripts, onboarding, custom security review, rules benchmarks) are **not** in this repo — install them from your host workspace overlay. See [docs/ROADMAP.md](docs/ROADMAP.md).\n\n## Evaluations\n\nWe treat prompts like code: editable contracts need reviewable tests.\n\n- **Structural checks in CI** — no LLM judge on every PR (flaky, expensive); ship-gate rows use `fixtures.yaml`.\n- Each command defines **ship gate** sections in frontmatter (e.g. `A`, `S`; merge-open-prs uses `A`, `D`, `E`).\n- Scoring: `PARTIAL` counts as fail; target 0 `FAIL` on ship gate before merge.\n\nHow to run: [EVAL_GUIDE.md](.cursor/docs/EVAL_GUIDE.md)\n\nExample flow:\n\n1. Read only `skills/\u003cname\u003e/SKILL.md`.\n2. For each case in `eval/cases.md`, draft the agent response.\n3. Mark `PASS` / `PARTIAL` / `FAIL`.\n4. Fix skill/command before push if any ship-gate case fails.\n\nAfter install, optional IDE check: [docs/VERIFICATION.md](docs/VERIFICATION.md)\n\n## Validation\n\n```bash\npython3 scripts/validate-cursor-commands.py\npython3 scripts/run-eval-fixtures.py --strict\n```\n\nCI on `main` and PRs: **validate**, **docs**, **install-smoke**, **eval-fixtures** (see branch protection). New releases: push tag `v*` to run [release.yml](.github/workflows/release.yml).\n\n## Contributing\n\nSee [CONTRIBUTING.md](CONTRIBUTING.md). Security reports: [SECURITY.md](SECURITY.md).\n\n## Related\n\n- [Cursor slash commands docs](https://cursor.com/docs/agent/chat/commands)\n- [hamzafer/cursor-commands](https://github.com/hamzafer/cursor-commands) — minimal command-only collection\n\n## License\n\nMIT — see [LICENSE](LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Femaraschio%2Fcursor-commands","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Femaraschio%2Fcursor-commands","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Femaraschio%2Fcursor-commands/lists"}