.agents/skills/git/SKILL.md
Git commit and pull request guidelines using conventional commits. Use when the user says "commit this", "stage and commit", "write a commit message", "create a PR", or when creating commits, writing commit messages, or reviewing PR descriptions.
npx skillsauth add epicenterhq/epicenter gitInstall 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.
Related Skills: See
incremental-commitsfor breaking multi-file changes into atomic commits.
Use this pattern when you need to:
feat:/fix: PRs.Load these on demand based on what you're working on:
feat:/fix: PRs, read references/changelog-entries.md<type>[optional scope]: <description>
[optional body]
[optional footer(s)]
feat: New features (correlates with MINOR in semantic versioning)fix: Bug fixes (correlates with PATCH in semantic versioning)docs: Documentation only changesrefactor: Code changes that neither fix bugs nor add featuresperf: Performance improvementstest: Adding or modifying testschore: Maintenance tasks, dependency updates, etc.style: Code style changes (formatting, missing semicolons, etc.)build: Changes to build system or dependenciesci: Changes to CI configuration files and scriptsfeat(transcription):EditRecordingDialog), feature areas (transcription, sound)ui or backend unless truly appropriateOur monorepo uses a unified version scheme (8.Y.Z) where major version 8 is permanent:
Z (e.g., 8.0.1 → 8.0.2)! after type/scope: feat(api)!: change endpoint structure — increments Y, resets Z! expecting a major bump.Include BREAKING CHANGE: in the commit footer with details when using !.
feat(transcription): add model selection for OpenAI providersfix(sound): resolve audio import paths in assets modulerefactor(EditRecordingDialog): implement working copy patterndocs(README): clarify cost comparison sectionchore: update dependencies to latest versionsfix!: change default transcription API endpointThe commit message subject line describes WHAT changed. The commit body explains WHY.
Good commit (explains motivation):
fix(auth): prevent session timeout during file upload
Users were getting logged out mid-upload on large files because the
session refresh only triggered on navigation, not background activity.
Bad commit (only describes what):
fix(auth): add keepalive call to upload handler
The first commit tells future developers WHY the code exists. The second makes them dig through the code to understand the purpose.
Generated with [Claude Code](https://claude.ai/code)Co-Authored-By: Claude <[email protected]>Generated with [opencode](https://opencode.ai)Co-Authored-By: opencode <[email protected]>documentation
Yjs CRDT patterns, shared types (Y.Map, Y.Array, Y.Text), conflict resolution, and document storage. Use when the user mentions Yjs, Y.Doc, CRDTs, collaborative editing, or when handling shared types, implementing real-time sync, or optimizing document storage.
tools
Voice and tone rules for all written content—prose, UI text, tooltips, error messages. Use when the user says "fix the tone", "rewrite this", "sounds like AI", "sounds corporate", or when writing any user-facing text, landing pages, product copy, or open-source documentation.
tools
Workspace API patterns for defineTable, defineKv, versioning, migrations, data access (CRUD + observation), withActions, and extension ordering. Use when the user mentions workspace, defineTable, defineKv, createWorkspace, withActions, withExtension, defineQuery, defineMutation, connectWorkspace, or when defining schemas, reading/writing table data, observing changes, writing migrations, chaining extensions, or attaching actions to a workspace client.
documentation
Standard workflow for implementing features with specs and planning documents. Use when the user says "start a new feature", "how should I plan this", "what's the process", or when starting implementation, planning work, or working on any non-trivial task.