Universal-dev-skills commit-standards

install
source · Clone the upstream repo
git clone https://github.com/AsiaOstrich/universal-dev-skills
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/AsiaOstrich/universal-dev-skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/commit-standards" ~/.claude/skills/asiaostrich-universal-dev-skills-commit-standards && rm -rf "$T"
manifest: skills/commit-standards/SKILL.md
source content

Commit Message Standards

This skill ensures consistent, meaningful commit messages following conventional commits.

Quick Reference

Basic Format

<type>(<scope>): <subject>

<body>

<footer>

Commit Types

English中文When to Use
feat
新增
New feature
fix
修正
Bug fix
refactor
重構
Code refactoring (no functional change)
docs
文件
Documentation only
style
樣式
Formatting (no code logic change)
test
測試
Adding or updating tests
perf
效能
Performance improvement
build
建置
Build system or dependencies
ci
整合
CI/CD pipeline changes
chore
維護
Maintenance tasks
revert
回退
Revert previous commit
security
安全
Security vulnerability fix

Subject Line Rules

  1. Length: ≤72 characters (50 ideal)
  2. Tense: Imperative mood ("Add feature" not "Added feature")
  3. Capitalization: First letter capitalized
  4. No period: Don't end with a period

Detailed Guidelines

For complete standards, see:

Examples

✅ Good Examples (English)

feat(auth): Add OAuth2 Google login support
fix(api): Resolve memory leak in user session cache
refactor(database): Extract query builder to separate class
docs(readme): Update installation instructions for Node 20

✅ Good Examples (中文)

新增(認證): 實作 OAuth2 Google 登入支援
修正(API): 解決使用者 session 快取記憶體洩漏
重構(資料庫): 提取查詢建構器為獨立類別

✅ Good Example (Bilingual)

feat(auth): Add OAuth2 Google login support. 新增 OAuth2 Google 登入支援。

Implement Google OAuth2 authentication flow for user login.

實作 Google OAuth2 認證流程供使用者登入。

Closes #123

❌ Bad Examples

fixed bug                    # Too vague, no scope
feat(auth): added google login  # Past tense
Update stuff.                # Period, vague
WIP                          # Not descriptive

Body Guidelines

Use the body to explain WHY the change was made:

fix(api): Resolve race condition in concurrent user updates

Why this occurred:
- Two simultaneous PUT requests could overwrite each other
- No optimistic locking implemented

What this fix does:
- Add version field to User model
- Return 409 Conflict if version mismatch

Fixes #789

Breaking Changes

Always document breaking changes in footer:

feat(api): Change user endpoint response format

BREAKING CHANGE: User API response format changed

Migration guide:
1. Update API clients to remove .data wrapper
2. Use created_at instead of createdAt

Issue References

Closes #123    # Automatically closes issue
Fixes #456     # Automatically closes issue
Refs #789      # Links without closing

Configuration Detection

This skill supports project-specific language configuration.

Detection Order

  1. Check
    CONTRIBUTING.md
    for "Commit Message Language" section
  2. If found, use the specified option (English / Traditional Chinese / Bilingual)
  3. If not found, default to English for maximum tool compatibility

First-Time Setup

If no configuration found and context is unclear:

  1. Ask the user: "This project hasn't configured commit message language preference. Which option would you like to use? (English / 中文 / Bilingual)"
  2. After user selection, suggest documenting in
    CONTRIBUTING.md
    :
## Commit Message Language

This project uses **[chosen option]** commit types.
<!-- Options: English | Traditional Chinese | Bilingual -->

Configuration Example

In project's

CONTRIBUTING.md
:

## Commit Message Language

This project uses **English** commit types.

### Allowed Types
feat, fix, refactor, docs, style, test, perf, build, ci, chore, revert, security

License: CC BY 4.0 | Source: universal-dev-standards