git-propose

Review full Git working tree changes and propose one or more safe, reviewable commit messages plus commit ordering. Use when the user asks for "git propose", asks how to split current changes into commits, or wants Conventional Commit messages from staged, unstaged, and untracked changes.

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "git-propose" with this command: npx skills add vicagbasi/git-propose/vicagbasi-git-propose-git-propose

Git Propose

Review all working directory changes and return commit proposal output in the exact structure below. Prefer best-effort recommendations over questions unless risk is material (secrets/data loss).

Gather Git State

Run:

git rev-parse --is-inside-work-tree
git status --porcelain=v1
git ls-files --others --exclude-standard
git diff --staged --name-status
git diff --name-status
git diff --staged
git diff
git diff --staged --stat
git diff --stat

Treat staged content as intentional unless incomplete or unsafe without related unstaged changes. Assess all change buckets before proposing commits:

  • staged tracked changes
  • unstaged tracked changes
  • untracked files

Preflight and Empty-State Rules

  • Run git rev-parse --is-inside-work-tree first. If it fails, do not run remaining git-state commands.
  • If not inside a git work tree, return the required output format with:
    • Repo State Summary: Not a git repository.
    • Proposed Commit Plan: 0 commits.
    • Build-Mode Notes: assumption that no git state is available.
  • If working tree is clean (no staged, unstaged, or untracked changes), return the required output format with:
    • Repo State Summary: Clean working tree.
    • Proposed Commit Plan: 0 commits.
    • Commit Proposals (Ready to Paste): No commit proposed.

Required Output Format

Return exactly these section headings in this order:

  • ## Repo State Summary
  • ## Red Flags / Safety Notes (if any)
  • ## Proposed Commit Plan
  • ## Commit Proposals (Ready to Paste)
  • ## Build-Mode Notes

Required content inside those sections:

  • Repo State Summary:
    • Staged: brief summary
    • Unstaged: brief summary
    • Untracked: brief summary and include when needed for commit intent
    • Mixed staged/unstaged in same files: yes/no and impact
  • Red Flags / Safety Notes:
    • Call out secrets/credentials, generated artifacts, lockfile-only drift, huge formatting churn, risky partial staging
  • Proposed Commit Plan:
    • Number of commits
    • Rationale for split/merge choice
    • Why ordering is reviewable
  • Commit Proposals:
    • Intent / Scope (no file paths)
    • Suggested staging (by intent, no file paths)
    • Full commit message: title + blank line + body + optional footers
    • Files included (required): explicit file path list to stage for the commit (not part of commit message)
  • Build-Mode Notes:
    • Explicit assumptions
    • Ask clarifying questions only for real risk

Use this exact Markdown skeleton:

## Repo State Summary
- Staged: ...
- Unstaged: ...
- Untracked: ...
- Mixed staged/unstaged in same files: ...

## Red Flags / Safety Notes (if any)
- ...

## Proposed Commit Plan
- Number of commits: ...
- Rationale for split/merge choice: ...
- Why ordering is reviewable: ...

## Commit Proposals (Ready to Paste)
### Commit 1
- Intent / Scope: ...
- Suggested staging: ...
- Full commit message:
  - Subject: `type(scope): Subject`
  - Body:
    - `Body line 1`
    - `Body line 2`
 - Files included:
   - `path/to/file.ext`
   - `path/to/other.ext`

## Build-Mode Notes
- Explicit assumptions: ...
- Clarifying questions (only if real risk): ...

Commit Strategy Rules

  • Choose single commit for one cohesive concern.
  • Split commits by concern when feature/refactor/fix/docs/tooling are mixed.
  • Favor cohesion over raw size.
  • Order by dependency and narrative:
    • enabling refactors first
    • functional changes next
    • tests with the behavior they verify
    • docs after behavior
  • Keep each commit independently reviewable and preferably revertible.

Commit Message Rules

  • Use Conventional Commits: type(scope): subject.
  • Allowed types: feat, fix, refactor, docs, chore, test, perf, style, ci.
  • Write subject in imperative present tense, capitalized, no trailing period.
  • Keep subject near 50 chars (can stretch when clarity requires).
  • Insert one blank line between subject and body.
  • Write body around 72-char wraps; explain why, approach, and tradeoffs.
  • Avoid file paths and line references in commit body.
  • File paths are allowed only in the per-commit Files included section.
  • Add optional footers (Fixes #123, BREAKING CHANGE: ...) when relevant.

Ambiguity Handling

  • In build-like execution, continue with best-effort proposals and state assumptions.
  • Ask a question only when proceeding may introduce material risk.

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

image-gen

Generate AI images from text prompts. Triggers on: "生成图片", "画一张", "AI图", "generate image", "配图", "create picture", "draw", "visualize", "generate an image".

Archived SourceRecently Updated
General

explainer

Create explainer videos with narration and AI-generated visuals. Triggers on: "解说视频", "explainer video", "explain this as a video", "tutorial video", "introduce X (video)", "解释一下XX(视频形式)".

Archived SourceRecently Updated
General

asr

Transcribe audio files to text using local speech recognition. Triggers on: "转录", "transcribe", "语音转文字", "ASR", "识别音频", "把这段音频转成文字".

Archived SourceRecently Updated