スキル一覧に戻る
vereis

git

by vereis

Nix Configuration

37🍴 7📅 2026年1月23日
GitHubで見るManusで実行

SKILL.md


name: git description: "MANDATORY: Load when creating commits or PRs. Covers conventional commits, branching, and PR conventions"

Git Conventions

Commit Format

<type>(<scope>): <description>

[optional footer(s) for breaking changes only]

Important:

  • Keep descriptions concise and complete - avoid optional body unless absolutely necessary
  • Breaking changes MUST include BREAKING CHANGE: footer explaining the impact
  • Prefer self-explanatory single-line commits
  • NEVER use emojis in commit messages

Types

TypeDescriptionVersion Bump
featNew featureMINOR
fixBug fixPATCH
docsDocumentation only-
styleFormatting, no code change-
refactorCode change, no fix/feat-
perfPerformance improvementPATCH
testAdding/correcting tests-
buildBuild system/dependencies-
ciCI configuration-
choreOther changes-
revertRevert previous commit-

Examples

feat(auth): add OAuth2 login flow
fix(api): handle null response from payment service
refactor(db): extract query builder into separate module
docs(readme): add installation instructions
revert: remove experimental feature

Refs: 676104e

Branch Naming

All work must happen on a branch (never on master/main).

With ticket:

  • feat/TICKET-123
  • fix/TICKET-123
  • refactor/TICKET-123

Optional (still keep it short):

  • feat/TICKET-123-short-kebab
  • fix/TICKET-123-short-kebab
  • refactor/TICKET-123-short-kebab

Without ticket:

  • feat/short-kebab
  • fix/short-kebab
  • refactor/short-kebab
  • docs/short-kebab
  • chore/short-kebab

Rules:

  • keep it minimal
  • lowercase + hyphens only
  • no essays

For worktrees + enforcement, see the git-workflow skill.

PR Conventions

Title format: <type>(<scope>): <concise description>

  • Remove redundant words (e.g., "streamline configuration and remove complexity" → "streamline configuration")
  • The description should be complete but minimal
  • NEVER use emojis in PR titles

Description format:

  • Simple bullet list of what changed (no verbose sections)
  • Direct, factual statements
  • No dramatic language or over-explanation
  • NEVER use emojis in PR descriptions
  • Link issues if relevant: Closes #123 or Fixes #123

Example:

refactor(api): simplify authentication flow

- removes legacy OAuth1 support
- consolidates token validation logic
- migrates to new session handler

Breaking Changes

Add an exclamation mark (!) after type and use BREAKING CHANGE: in footer:

feat(api)!: change authentication endpoint

BREAKING CHANGE: /auth/login now requires email instead of username

Revert Commits

Use the revert type and reference the commit SHA(s) being reverted in a footer:

revert: let us never again speak of the noodle incident

Refs: 676104e, a215868

Important:

  • Use revert: type (lowercase, following conventional commits)
  • Include Refs: footer with the commit SHA(s) being reverted
  • Description should briefly explain what is being reverted
  • Can revert multiple commits by listing multiple SHAs

Git History Best Practices

Clean git history is a key success metric. Follow these practices:

Atomic Commits

  • Every commit must be independently functional
  • All tests must pass after each commit
  • All linting must pass after each commit
  • No broken application logic at any commit
  • Each commit represents one logical unit of work

Maintaining Clean History

When iterating on features (especially in PRs), prefer amending/absorbing over fixup commits:

Available tools:

  • git commit --amend - Update the most recent commit
  • git absorb - Automatically distribute staged changes to relevant commits in your branch

Avoid interactive workflows:

  • Do NOT use git rebase -i (interactive commands are not supported in this environment/workflow)

Using git-absorb:

# Make changes to fix issues in previous commits
git add -A
git absorb
# Changes are automatically distributed to the right commits

When to Amend vs New Commit

Amend/absorb when:

  • Fixing issues found in code review
  • Addressing linting/test failures
  • Refining implementation details
  • Changes belong logically to existing commits

New commit when:

  • Adding genuinely new functionality
  • Changes represent a new logical unit of work
  • Commit has already been pushed to shared branch (unless explicitly rebasing)

スコア

総合スコア

50/100

リポジトリの品質指標に基づく評価

SKILL.md

SKILL.mdファイルが含まれている

+20
LICENSE

ライセンスが設定されている

0/10
説明文

100文字以上の説明がある

0/10
人気

GitHub Stars 100以上

0/15
最近の活動

3ヶ月以内に更新がある

0/10
フォーク

10回以上フォークされている

0/5
Issue管理

オープンIssueが50未満

+5
言語

プログラミング言語が設定されている

+5
タグ

1つ以上のタグが設定されている

0/5

レビュー

💬

レビュー機能は近日公開予定です