/eisland-dev-git-commit
Analyze the current git status, review all staged and unstaged changes, and create a commit with a proper English commit message following conventional commit format. Use this skill whenever the user asks to "commit", "提交", "git commit", "analyze and commit", "check git status
$ npx -y skills add JNTMTMTM/eIsland --skill eisland-dev-git-commit --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
- You can call itInvoke it directly when you want it.
- Slash command
/eisland-dev-git-commit
Context preview
The summary Claude sees to decide when to auto-load this skill.
Analyze the current git status, review all staged and unstaged changes, and create a commit with a proper English commit message following conventional commit format. Use this skill whenever the user asks to "commit", "提交", "git commit", "analyze and commit", "check git status
SKILL.md
eisland-dev-git-commit.SKILL.mdname: eisland-dev-git-commit
author: JNTMTMTM
description: >
Analyze the current git status, review all staged and unstaged changes, and create a commit
with a proper English commit message following conventional commit format. Use this skill
whenever the user asks to "commit", "提交", "git commit", "analyze and commit",
"check git status and commit", or wants to save their current changes to git.
Git Status Analysis and Commit
Analyze the current git working tree, understand what changed and why, then create a well-formatted commit with an English message.
When to use
- The user asks to commit their current changes
- The user wants to analyze what's changed and create a commit
- The user says "提交", "commit", "git commit", or similar
- The user wants to review and save their work to git
Process
Step 1: Check git status
Run these commands to understand the current state:
git status
git diff --stat
git diff --cached --stat
This tells you:
- Which files are modified, added, or deleted
- Which files are staged vs unstaged
- The scope of changes
Step 2: Analyze the changes
For each changed file, read the diff to understand what was actually changed:
git diff <file> # for unstaged changes
git diff --cached <file> # for staged changes
Categorize changes by type: | Type | Prefix | When to use | |------|--------|-------------| | **feat** | `feat` | New feature or user-facing functionality | | **fix** | `fix` | Bug fix | | **refactor** | `refactor` | Code restructuring without behavior change | | **style** | `style` | Formatting, whitespace, semicolons (no logic change) | | **docs** | `docs` | Documentation only | | **test** | `test` | Adding or updating tests | | **chore** | `chore` | Build config, dependencies, tooling | | **i18n** | `i18n` | Internationalization changes | | **perf** | `perf` | Performance improvement |
Step 3: Determine the scope
Look at which directories/modules were affected:
- `src/renderer/components/` → component name as scope
- `src/main/` → main process scope
- `i18n/` → i18n scope
- `docs/` → docs scope
If changes span multiple unrelated areas, consider making separate commits.
Step 4: Stage changes
If files are not yet staged, stage them:
git add <files>
Or if the user wants to commit everything:
git add -A
Step 5: Create the commit message
Use conventional commit format:
<type>(<scope>): <subject>
<body (optional)>
**Rules:**
- Subject line: imperative mood, lowercase, no period at end, max 72 chars
- Body (if needed): explain *why* not *what* (the diff shows what)
- Use English for all commit messages
- Reference issue numbers if applicable (e.g., `Closes #123`)
**Examples:**
feat(clipboard): add keyboard shortcuts for history navigation
fix(island): resolve drag position offset on high-DPI screens
refactor(stt): extract hooks from SttContent into separate files
docs(readme): update installation instructions for Windows
i18n(en-US): add missing translation keys for settings page
Step 6: Commit
Create the commit:
git commit -m "<commit message>"
For multi-line messages:
git commit -m "<subject>" -m "<body>"
Step 7: Verify
Confirm the commit was created:
git log -1 --oneline
Output
Return to the user:
- The commit hash (short form)
- The commit message
- A brief summary of what was committed (file count, change types)
Edge cases
- **No changes**: If `git status` shows nothing to commit, tell the user
- **Merge conflicts**: If conflicts exist, inform the user and don't commit
- **User specifies message**: If the user provides a specific commit message, use it (but still suggest improvements if it doesn't follow conventions)
- **Multiple logical changes**: Suggest splitting into separate commits if changes are unrelated
- **Untracked files**: Ask the user if they want to include new files
Important rules
- **Always use English** for commit messages, regardless of the user's language
- **Follow conventional commits** format strictly
- **Never commit without reviewing** the actual diff content
- **Match the project's existing style** — check recent commits with `git log --oneline -10` for reference
Read more
name: eisland-dev-git-commit author: JNTMTMTM description: > Analyze the current git status, review all staged and unstaged changes, and create a commit with a proper English commit message following conventional commit format. Use this skill whenever the user asks to "commit", "提交", "git commit", "analyze and commit", "check git status and commit", or wants to save their current changes to git.
Git Status Analysis and Commit
Analyze the current git working tree, understand what changed and why, then create a well-formatted commit with an English message.
When to use
- The user asks to commit their current changes
- The user wants to analyze what's changed and create a commit
- The user says "提交", "commit", "git commit", or similar
- The user wants to review and save their work to git
Process
Step 1: Check git status
Run these commands to understand the current state:
git status git diff --stat git diff --cached --stat
This tells you:
- Which files are modified, added, or deleted
- Which files are staged vs unstaged
- The scope of changes
Step 2: Analyze the changes
For each changed file, read the diff to understand what was actually changed:
git diff <file> # for unstaged changes git diff --cached <file> # for staged changes
Categorize changes by type: | Type | Prefix | When to use | |------|--------|-------------| | **feat** | `feat` | New feature or user-facing functionality | | **fix** | `fix` | Bug fix | | **refactor** | `refactor` | Code restructuring without behavior change | | **style** | `style` | Formatting, whitespace, semicolons (no logic change) | | **docs** | `docs` | Documentation only | | **test** | `test` | Adding or updating tests | | **chore** | `chore` | Build config, dependencies, tooling | | **i18n** | `i18n` | Internationalization changes | | **perf** | `perf` | Performance improvement |
Step 3: Determine the scope
Look at which directories/modules were affected:
- `src/renderer/components/` → component name as scope
- `src/main/` → main process scope
- `i18n/` → i18n scope
- `docs/` → docs scope
If changes span multiple unrelated areas, consider making separate commits.
Step 4: Stage changes
If files are not yet staged, stage them:
git add <files>
Or if the user wants to commit everything:
git add -A
Step 5: Create the commit message
Use conventional commit format:
<type>(<scope>): <subject> <body (optional)>
**Rules:**
- Subject line: imperative mood, lowercase, no period at end, max 72 chars
- Body (if needed): explain *why* not *what* (the diff shows what)
- Use English for all commit messages
- Reference issue numbers if applicable (e.g., `Closes #123`)
**Examples:**
feat(clipboard): add keyboard shortcuts for history navigation fix(island): resolve drag position offset on high-DPI screens refactor(stt): extract hooks from SttContent into separate files docs(readme): update installation instructions for Windows i18n(en-US): add missing translation keys for settings page
Step 6: Commit
Create the commit:
git commit -m "<commit message>"
For multi-line messages:
git commit -m "<subject>" -m "<body>"
Step 7: Verify
Confirm the commit was created:
git log -1 --oneline
Output
Return to the user:
- The commit hash (short form)
- The commit message
- A brief summary of what was committed (file count, change types)
Edge cases
- **No changes**: If `git status` shows nothing to commit, tell the user
- **Merge conflicts**: If conflicts exist, inform the user and don't commit
- **User specifies message**: If the user provides a specific commit message, use it (but still suggest improvements if it doesn't follow conventions)
- **Multiple logical changes**: Suggest splitting into separate commits if changes are unrelated
- **Untracked files**: Ask the user if they want to include new files
Important rules
- **Always use English** for commit messages, regardless of the user's language
- **Follow conventional commits** format strictly
- **Never commit without reviewing** the actual diff content
- **Match the project's existing style** — check recent commits with `git log --oneline -10` for reference
eIsland - A sleek, Apple Dynamic Island inspired floating widget for Windows, built with Electron.
Repo: JNTMTMTM/eIsland
Other skills on eisland.
- /eisland-dev-add-empty-setting-subpage
Add a new empty subpage (tab) to an existing eIsland settings section with page navigation support. Use this skill whenever the user wants to add a new tab/page/subpage to any settings section in the eIsland project, including requests like "添加分页", "add a tab", "add subpage",
Open skill - /eisland-dev-add-guide-step
创建 eIsland 引导配置窗口的新步骤页面。当用户要求在引导界面(Guide)中新增配置步骤、引导页面、引导分页时使用此 skill。 触发关键词:guide 步骤、引导页面、引导分页、Guide step、新建引导页、添加引导配置。 适用于 src/renderer/components/components/ 目录下的 Guide 模块。
Open skill - /eisland-dev-add-svg-icon
Add a new SVG icon to the project's icon enum system with matching test assertions. Use this skill whenever the user asks to "add SVG icon", "添加图标", "add icon enum", "注册图标", "补齐图标枚举", "add SVG enum", or wants to register a new .svg file in the SvgIcon utility. Also trigger when
Open skill - /eisland-dev-generate-release-worklog
Generate a release announcement markdown for eIsland. Use this skill whenever the user asks to "generate release notes", "create announcement", "写更新日志", "生成发布公告", "draft release notes", or mentions preparing a new version release document.
Open skill - /eisland-dev-refactor-module-split
Refactor a monolithic React component file into a standardized module structure with components/, hooks/, utils/, types/, and config/ subdirectories. Use this skill whenever the user asks to "split", "refactor", "拆分", "拆解", or "restructure" a component file into subdirectories,
Open skill - /eisland-dev-update-docs
Update or create documentation in the eIsland VuePress docs site (web/eisland-web-docs). Use this skill whenever the user asks to update docs, add documentation, write a doc article, document a feature, update the tech stack docs, update plugin docs, update command docs, or any
Open skill

