commit-asynclisted
Install: claude install-skill hnidboubker/symphony-async
# commit-async
## Workflow
```text
git status
↓
git diff
↓
analyze changes
↓
propose Conventional Commit
↓
user approval
↓
git commit
↓
user approval for push
↓
git push
```
## Change Detection
Use, when appropriate:
```bash
git status --short
git diff
git diff --cached
```
If no relevant changes are detected, stop cleanly with:
> No changes detected.
Never invent changes.
## Analysis
Identify:
* change type;
* optional scope;
* summary;
* affected files;
* important functional changes;
* potential breaking changes.
Use Conventional Commits.
Supported types include:
```text
feat
fix
docs
refactor
test
chore
ci
perf
build
```
Format:
```text
type(scope): description
```
The scope is optional.
Example:
```text
feat(auth): add OAuth authentication
```
## Commit Approval
Present the user with:
```text
Detected changes:
- ...
- ...
Proposal:
feat(auth): add OAuth authentication
```
Then explicitly ask:
```text
Approve this commit message?
```
Never create the commit before this approval.
If the user rejects it:
* do not create a commit;
* propose a new formulation;
* ask for approval again.
If the user modifies the message:
* use the approved message;
* do not silently alter it.
## Creating the Commit
After approval, stage the appropriate files.
Avoid:
```bash
git add .
```
whenever it could include unrelated files.
Prefer staging only the files actually related to the change.
Then run:
```bash
git commit -m "<appro