claude/marketplace/plugins/sorah-guides/skills/commit-style/SKILL.md
This skill should be used when writing git commit messages, creating git commits, composing pull request titles and descriptions, or when the user asks to "commit", "git commit", "write commit message", "pull request", or "PR description". Provides conventions for subject lines, prefix patterns, body content, and verb choices.
npx skillsauth add sorah/config commit-styleInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Conventions for writing git commit messages and pull request descriptions. Project-specific conventions always take priority.
fix, add, remove, use, avoid, ensure, adjust, allow, enable, extract, introduce, show, move, rollavoid enlarging small images, avoid double-save on withdrawconfig.x.asset_file_uploadable, event_submission_open?ops-lb: rknw -> rknetTechniques when the subject runs long:
add when the subject already names the primary new thing: site-sessions: SiteSession model not … add SiteSession model — keep add when supplementing existing code (specs, logging)site-sessions: SiteSessionIssuance service not … service and background jobs — mention omitted parts in the body& over and: PrimarySession & User changessite-sessions: PrimarySession & User changes not … for site sessionsPrefer specific verbs over generic ones:
avoid or address over fix for preventive changesextract over refactor when pulling out a concern/classintroduce over add when creating a new concept/abstractionreflect over update when syncing with external stategains for new capabilities (component as subject): SponsorEvent: gains hero image uploadlearns for new options/parameters: TitoApi: learns v3.1 paginationno longer for behavioral removals: event_submission_open? no longer gates asset uploadsroll for dependency updates and referenced image/git tag updates, releng for release engineering, trigger for CI/build triggersFormat: prefix: rest of subject — use when the commit targets a specific component.
Prefix types vary by what is being changed:
SponsorEventAssetFilesController: fix set_asset_file authorization, SiteSessionRenewal: just propagate errorsSponsorEventsController#destroy: avoid double-save on withdrawbroadcasts/show: sort recipients alphabeticallyevent-assets: begin validation, site-sessions: SiteSession modelDockerfile: build minimal libvips, CI: install libvips-toolstf/k8s: ..., radius: ..., grafana: ...Omit prefix when:
Extract GithubInstallation from GenerateSponsorsYamlFileJobroll latest dependencies, trigger build for 3.2.10typo, wip, oopsThe most important role of the body is to explain background and context that is NOT obvious from the diff. The diff shows what changed; the body explains why it was changed, what problem it solves, or what non-obvious behavior motivated the change.
- when enumerating multiple specificsCloses #NExamples:
sponsor_events: wrap asset file update in transaction
Prevent data loss when replacing a hero image and the subsequent
update fails validation. The old asset file destroy is now rolled
back if the event update doesn't succeed.
SponsorEventsController#destroy: avoid double-save on withdraw
withdrawn! saves immediately, creating one editing history record,
then save! creates a second one with no meaningful diff. The job
was enqueued with the second history, missing the status change
and skipping YAML regeneration.
Apply the same subject line conventions to PR titles (under 70 chars).
Never include test procedures, test plans, QA checklists, task lists, or TODO checkboxes in PR descriptions.
git -C <path> — it invalidates pre-approved permissions in Claude Code. Always cd to the target directory first, then run git commands.development
This skill should be used when writing or reviewing TypeScript or TSX code, or when the project uses "TypeScript", "React", "tsx", "SWR", "Vite", "Next.js", or TypeScript type patterns. Provides TypeScript coding conventions, React patterns, and best practices. Project-specific conventions always take priority.
development
This skill should be used when the user asks about "spec file format", "spec conventions", "spec vs docs", "current status section", "specification structure", "how to write a spec", "spec deliverables", or "self-contained spec". Provides conventions for writing implementation-ready specification documents.
testing
This skill should be used when conducting spec interviews or implementing specs for Ruby projects, or when the spec mentions "Ruby", "RSpec", "service objects", "Struct", or Ruby class/module patterns. Provides Ruby-specific interview and implementation checklist items.
testing
This skill should be used when conducting spec interviews or implementing specs for Ruby on Rails projects, or when the spec mentions "Rails", "ActiveRecord", "ActiveJob", "concerns", "migrations", "Rails.configuration", or "request specs". Provides Rails-specific interview and implementation checklist items.