.cursor/skills/git-commit-creator/SKILL.md
Create a commit on the current Git branch from the collected repository changes. Use when the user asks to commit the current branch, save current work, or generate a commit message from git diff output. Prompt whether to stage all unstaged files before collecting the changes. Confirm the proposed commit message with the user before creating the commit.
npx skillsauth add dneprokos/skills-examples git-commit-creatorInstall 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.
Create a commit for the current branch using the actual git changes.
Use it for requests like:
Do not use it for:
Ask the user this question first:
Do you want to stage all unstaged files before creating the commit?
Offer exactly these two options:
Yes — stage all unstaged filesNo — keep the current staged set and continueIf the ask-questions tool is available, use it.
After the staging choice is known, collect the current git state from the active repository.
Use the helper script in preview mode:
pwsh -NoProfile -File ./.github/skills/git-commit-creator/scripts/create-commit.ps1 [-StageAll] -PreviewOnly
This previews:
git status --shortIf there are no staged changes after the chosen flow, stop and return:
No staged changes are available to commit.
Produce one proposed commit message based only on the collected git changes. Follow the Conventional Commits format:
<type>[optional scope]: <description>
[optional body]
[optional footer(s)]
Type — pick the best fit:
| Type | Purpose |
| ---- | ------- |
| feat | New feature |
| fix | Bug fix |
| docs | Documentation only |
| style | Formatting/style (no logic change) |
| refactor | Code restructure (no feature/fix) |
| perf | Performance improvement |
| test | Add or update tests |
| build | Build system or dependency changes |
| ci | CI configuration changes |
| chore | Maintenance or housekeeping |
| revert | Revert a previous commit |
Optional scope — a module or area name in parentheses:
feat(auth): add JWT refresh token endpoint
fix(parser): handle empty input gracefully
Breaking changes — use ! after type/scope or a BREAKING CHANGE footer:
feat!: remove deprecated /v1/users endpoint
feat(api): change response envelope shape
BREAKING CHANGE: `data` field renamed to `result`
Issue references — reference related issues in the footer:
fix: handle null pointer in session handler
Closes #123
Refs #456
Multi-line body — add a blank line after the subject, then bullets or prose when the diff is large or context is helpful:
feat: add git commit creator skill
- prompt whether to stage all files
- collect git status and staged diff summary
- create a commit on the active branch
Rules for the subject line:
update, changes, misc fixes, stuffNever propose a commit that includes secrets (.env, credentials.json, private keys); warn the user and stop.
Display the proposed message prominently: use a short label, then a single fenced block containing only the message (no nested fences), for example:
Proposed commit message
<proposed-message>
Then ask:
Is this commit message OK to use?
Offer exactly these two options:
OK — use the proposed messageNot OK — I will provide my own messageIf the ask-questions tool is available, use it.
<proposed-message> as the final message.Run the helper script with the final message (proposed after OK, or user-supplied after Not OK):
pwsh -NoProfile -File ./.github/skills/git-commit-creator/scripts/create-commit.ps1 [-StageAll] -CommitMessage "<final-message>"
Return the exact git result after the commit command completes.
--no-verify) unless the user explicitly asks..env, credentials.json, private keys); warn the user and stop.data-ai
Install and configure Windows Credential Manager style secret storage for PowerShell using SecretManagement and SecretStore. Use when users ask to install secret manager support, set up Credential Manager for GitHub token storage, or bootstrap GitHubToken for PR skills.
development
Generate a complete, compilable unit test file from an Analyst test plan and Architect strategy. Uses AAA pattern, language-specific frameworks (NUnit, JUnit 5, pytest, Vitest), correct mock/real dependency instantiation, constructor null-guard tests, parameterized tests, and setup/teardown hooks. Input is the Analyst JSON plan plus Architect strategy summary. Use when asked to generate test code, write test implementation, create test file, or implement tests from a plan. Also invoked as Phase 3 by the unit-test-generator agent.
development
Define the mocking strategy and assertion style for a unit test plan. Classifies each dependency as mock or real, resolves assertion framework and test file location from project patterns, lists constructor null-guard tests with expected exception types, and specifies abstraction interfaces for non-deterministic calls. Input is a JSON test plan from ut-analyst. Use when asked to define mocking strategy, plan test architecture, classify dependencies as mock vs real, or design test structure. Also invoked as Phase 2 by the unit-test-generator agent.
testing
Analyze a class or function and produce a structured JSON test plan. Classifies all dependencies (interface, abstract, valueObject, dto, primitive), detects non-deterministic calls, enumerates test cases using black-box techniques (Equivalence Partitioning, Boundary Value Analysis, Decision Table, State Transition), and lists constructor null-guard requirements. Use when asked to analyze a class for testing, create a test plan, classify dependencies, or produce test case inventory. Also invoked as Phase 1 by the unit-test-generator agent.