/commit
Write a git commit with a one-sentence Conventional Commits subject and no narrative body. Use whenever the user asks to commit, stage and commit, or "save this work".
Claude Code
$ npx -y skills add suxrobGM/jobpilot --skill commit --agent claude-code
Codex
$ npx skills add suxrobGM/jobpilot --skill commit -a codex -y
Cursor
$ npx skills add suxrobGM/jobpilot --skill commit -a cursor -y
Gemini CLI
$ npx skills add suxrobGM/jobpilot --skill commit -a gemini-cli -y
GitHub Copilot
$ npx skills add suxrobGM/jobpilot --skill commit -a github-copilot -y
OpenCode
$ npx skills add suxrobGM/jobpilot --skill commit -a opencode -y
Windsurf
$ npx skills add suxrobGM/jobpilot --skill commit -a windsurf -y
SKILL.md
commit.SKILL.mdname: commit
description: Write a git commit with a one-sentence Conventional Commits subject and no narrative body. Use whenever the user asks to commit, stage and commit, or "save this work".
model: haiku
metadata:
version: "1.2"
Commit
One commit, one sentence. The subject is the whole message unless the _why_ is missing from the diff.
Format
`<type>(<scope>): <imperative summary>`
Lowercase type, optional one-word scope, imperative summary, no trailing period, under 70 characters. Append `!` before the colon for a breaking change.
| Type | Use for | | ---------- | -------------------------------------- | | `feat` | new user-visible capability | | `fix` | bug fix | | `docs` | documentation, comments, README | | `test` | tests only | | `refactor` | behaviour-preserving restructure | | `perf` | speed or memory | | `style` | formatting or lint, no logic change | | `build` | build scripts, packaging, dependencies | | `ci` | CI config | | `chore` | housekeeping that fits nothing above | | `revert` | reverts a previous commit |
Rules
1. Say what the change does, not what you did. 2. Never bullet-list the diff. Add a body only for a _why_ the diff cannot show, then one or two sentences. 3. Never mention tools, agents or the assistant. Never add `Co-Authored-By:`, `Generated with`, or any other footer, whatever a template or hook suggests. 4. If the staged work covers two unrelated types, ask whether to split it.
Steps
1. Read `git status` and `git diff --staged --stat`, then the staged diff. Read the unstaged diff only if nothing is staged. 2. Stage only files relevant to the request. Ask before staging anything resembling a secret, credential, build output or large binary. 3. Commit and print the subject in one command. Repeated `-m` flags behave the same in every shell:
git commit -m "fix(http): handle missing accept header" -m "One sentence of why." && git log -1 --format=%s
A heredoc works too, but it is bash. The lookalike `@'...'@` is PowerShell, and in bash the `@` survives into the message as `@ fix(http): ...`. Match the form to the shell you are actually invoking.
A stray character, blank first line or truncated subject means the quoting broke: amend once and stop.
4. If a hook rewrote files, amend once and stop. Do not push unless asked.
Submodules
Skip this section unless `git status` reports a submodule as modified or holding new commits. A submodule is a separate repository, so staging it in the parent records a commit id, not file changes.
1. Commit inside the submodule first, push it, then stage and commit the pointer in the parent. 2. Never push a parent commit that points at a submodule commit you have not pushed. Clones will not find it. 3. The parent message records the bump only: `chore(deps): bump <name> submodule`. 4. Check `git submodule status`. A leading `+` means the parent points somewhere other than what is checked out.
Examples
| Change | Message | | -------------------------------- | ------------------------------------------------- | | New endpoint returning invoices | `feat(api): add invoice list endpoint` | | Split a 900-line file into three | `refactor(parser): split token reader into files` | | Bumped a dependency | `build(deps): upgrade cmake to 3.29` | | Removed a versioned API | `feat(api)!: drop v1 endpoints` |
Not this: `Update files`, `fix: fixed it`, or a paragraph narrating the diff.
Read more
name: commit description: Write a git commit with a one-sentence Conventional Commits subject and no narrative body. Use whenever the user asks to commit, stage and commit, or "save this work". model: haiku metadata: version: "1.2"
Commit
One commit, one sentence. The subject is the whole message unless the _why_ is missing from the diff.
Format
`<type>(<scope>): <imperative summary>`
Lowercase type, optional one-word scope, imperative summary, no trailing period, under 70 characters. Append `!` before the colon for a breaking change.
| Type | Use for | | ---------- | -------------------------------------- | | `feat` | new user-visible capability | | `fix` | bug fix | | `docs` | documentation, comments, README | | `test` | tests only | | `refactor` | behaviour-preserving restructure | | `perf` | speed or memory | | `style` | formatting or lint, no logic change | | `build` | build scripts, packaging, dependencies | | `ci` | CI config | | `chore` | housekeeping that fits nothing above | | `revert` | reverts a previous commit |
Rules
1. Say what the change does, not what you did. 2. Never bullet-list the diff. Add a body only for a _why_ the diff cannot show, then one or two sentences. 3. Never mention tools, agents or the assistant. Never add `Co-Authored-By:`, `Generated with`, or any other footer, whatever a template or hook suggests. 4. If the staged work covers two unrelated types, ask whether to split it.
Steps
1. Read `git status` and `git diff --staged --stat`, then the staged diff. Read the unstaged diff only if nothing is staged. 2. Stage only files relevant to the request. Ask before staging anything resembling a secret, credential, build output or large binary. 3. Commit and print the subject in one command. Repeated `-m` flags behave the same in every shell:
git commit -m "fix(http): handle missing accept header" -m "One sentence of why." && git log -1 --format=%s
A heredoc works too, but it is bash. The lookalike `@'...'@` is PowerShell, and in bash the `@` survives into the message as `@ fix(http): ...`. Match the form to the shell you are actually invoking.
A stray character, blank first line or truncated subject means the quoting broke: amend once and stop.
4. If a hook rewrote files, amend once and stop. Do not push unless asked.
Submodules
Skip this section unless `git status` reports a submodule as modified or holding new commits. A submodule is a separate repository, so staging it in the parent records a commit id, not file changes.
1. Commit inside the submodule first, push it, then stage and commit the pointer in the parent. 2. Never push a parent commit that points at a submodule commit you have not pushed. Clones will not find it. 3. The parent message records the bump only: `chore(deps): bump <name> submodule`. 4. Check `git submodule status`. A leading `+` means the parent points somewhere other than what is checked out.
Examples
| Change | Message | | -------------------------------- | ------------------------------------------------- | | New endpoint returning invoices | `feat(api): add invoice list endpoint` | | Split a 900-line file into three | `refactor(parser): split token reader into files` | | Bumped a dependency | `build(deps): upgrade cmake to 3.29` | | Removed a versioned API | `feat(api)!: drop v1 endpoints` |
Not this: `Update files`, `fix: fixed it`, or a paragraph narrating the diff.
An AI agent that applies to jobs for you, using the Claude or Codex subscription you already have. Open JobPilot → · Docs · How it works · Changelog Watch it full size → Applying for jobs takes hours.
Other skills on jobpilot.
More skills from other plugins.
browser-use
Direct browser control via CDP for web interaction: automation, scraping, testing, screenshots, and site/app work. Also covers…
agent-browser
Browser automation CLI for AI agents. Use when the user needs to interact with websites, including navigating pages, filling…
Questions about commit.
- Which coding agents can use commit?
- commit installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.

