Source profileQuality 87/100Review permissions

EveryInc/compound-engineering-plugin/skills/ce-commit/SKILL.md

ce-commit

Create a git commit with a clear, value-communication message. Use when the user asks to commit/save staged or unstaged changes with a repo-appropriate, value-communicating message.

Source repository stars
23,773
Declared platforms
0
Static risk flags
1
Last source update
2026-08-04
Source checked
2026-08-04

Decision brief

What it does—and where it fits

Create a single, well-crafted git commit from the current working tree changes.

Best for

  • Use when the user asks to commit/save staged or unstaged changes with a repo-appropriate, value-communicating message.

Not for

  • Tasks that require unconfirmed production actions or broad system permissions.
  • Environments where the pinned source and install steps cannot be inspected.

Compatibility matrix

Platform support, with evidence labels

PlatformStatusEvidenceWhat to check
CodexNot declaredNo explicit evidencePortability before use
Claude CodeNot declaredNo explicit evidencePortability before use
CursorNot declaredNo explicit evidencePortability before use
Gemini CLINot declaredNo explicit evidencePortability before use
Open the compatibility checker

Installation

Inspect first. Install second.

The source command is displayed only when detected. A safe inspection prompt is always available so your agent can explain every action before execution.

Source-detected install commandSource
npx skills add https://github.com/EveryInc/compound-engineering-plugin --skill "skills/ce-commit"
Safe inspection promptEditorial

Inspect the Agent Skill "ce-commit" from https://github.com/EveryInc/compound-engineering-plugin/blob/6a2a0f9940ab0b3577ce26226ee393390470e412/skills/ce-commit/SKILL.md at commit 6a2a0f9940ab0b3577ce26226ee393390470e412. List every install step, command, network request, credential, file read/write, external action, and rollback step. Explain whether it fits my task. Do not install or execute anything until I approve.

Workflow

What the source asks the agent to do

  1. 01

    Workflow

    Run the commands from the Context section above (git status, working tree diff, current branch, recent commits, remote default branch), each as its own shell tool call.

    If the user chooses to create a branch, derive the name from the change content, create it with git checkout -b , then run git branch --show-current again and use that result as the current branch name for the rest of t…If the user declines, continue with the detached HEAD commit.Repo conventions already in context -- If project instructions (AGENTS.md, CLAUDE.md, or similar) are already loaded and specify commit message conventions, follow those. Do not re-read these files; they are loaded at s…
  2. 02

    Step 1: Gather context

    Run the commands from the Context section above (git status, working tree diff, current branch, recent commits, remote default branch), each as its own shell tool call.

    If the user chooses to create a branch, derive the name from the change content, create it with git checkout -b , then run git branch --show-current again and use that result as the current branch name for the rest of t…If the user declines, continue with the detached HEAD commit.Run the commands from the Context section above (git status, working tree diff, current branch, recent commits, remote default branch), each as its own shell tool call.
  3. 03

    Step 2: Determine commit message convention

    Follow this priority order:

    Repo conventions already in context -- If project instructions (AGENTS.md, CLAUDE.md, or similar) are already loaded and specify commit message conventions, follow those. Do not re-read these files; they are loaded at s…Recent commit history -- If no explicit convention is documented, examine the 10 most recent commits from Step 1. If a clear pattern emerges (e.g., conventional commits, ticket prefixes, emoji prefixes), match that patt…Default: conventional commits -- If neither source provides a pattern, use conventional commit format: type(scope): description where type is one of feat, fix, docs, refactor, test, chore, perf, ci, style, build.
  4. 04

    Step 3: Consider logical commits

    Before staging everything together, scan the changed files for naturally distinct concerns. If modified files clearly group into separate logical changes (e.g., a refactor in one directory and a new feature in another, or test files for a different change than source files), cre…

    Group at the file level only -- do not use git add -p or try to split hunks within a file.If the separation is obvious (different features, unrelated fixes), split. If it's ambiguous, one commit is fine.Two or three logical commits is the sweet spot. Do not over-slice into many tiny commits.
  5. 05

    Step 4: Stage and commit

    If the current branch from the context above is main, master, or the resolved default branch from Step 1, automatically create a feature branch before committing. Derive the branch name from the change content, create it with git checkout -b , run git branch --show-current to co…

    Subject line: Concise, imperative mood, focused on why not what. Follow the convention determined in Step 2.Body (when needed): Add a body separated by a blank line for non-trivial changes. Explain motivation, trade-offs, or anything a future reader would need. Omit the body for obvious single-purpose changes.If the current branch from the context above is main, master, or the resolved default branch from Step 1, automatically create a feature branch before committing. Derive the branch name from the change content, create i…

Permission review

Static risk signals and limitations

Runs scripts

medium · line 73

The documentation asks the agent to run terminal commands or scripts.

git add file1 file2 file3 && git commit -m "$(cat <<'EOF'

Evidence record

Why each signal appears

EvidenceSourceComputedTestedEditorial
SignalValueEvidence typeMeaning
Quality score87/100ComputedDocumentation, specificity, maintenance, and trust rules
Repository stars23,773SourceRepository attention, not individual Skill quality
Compatibility0 platformsSourceDeclared in the catalog source record
Usage guideautomated source guideEditorialGenerated or reviewed according to the visible evidence level

Pinned source

Provenance and original SKILL.md

Repository
EveryInc/compound-engineering-plugin
Skill path
skills/ce-commit/SKILL.md
Commit
6a2a0f9940ab0b3577ce26226ee393390470e412
License
MIT
Collected
2026-08-04
Default branch
main
View the original SKILL.md

Git Commit

Create a single, well-crafted git commit from the current working tree changes.

Context

Gather the working-tree context by running each command below as its own shell tool call — a single argv-style invocation (just the program and its arguments). Do not join them with ;, &&, ||, pipes, $(...), or redirects like 2>/dev/null: that syntax parses only under POSIX shells and aborts under Windows PowerShell. Read each command's exit status directly — a non-zero exit is a normal state to interpret, not a failure to suppress.

CommandPurposeNon-zero exit / empty output means
git statusWorking-tree stateNot a git repository — report and stop
git diff HEADUncommitted changesUnborn repo with no commits yet — treat every tracked change as new
git branch --show-currentCurrent branchEmpty output = detached HEAD
git log --oneline -10Recent commit styleUnborn repo — no history to match yet
git rev-parse --abbrev-ref origin/HEADRemote default branchNo origin/HEAD set — resolve the default branch per Step 1

These values are a snapshot taken before any action. Re-read anything consequential (the current branch, the staged set) immediately before committing, since the working tree can change between gathering context and acting on it.


Workflow

Step 1: Gather context

Run the commands from the Context section above (git status, working tree diff, current branch, recent commits, remote default branch), each as its own shell tool call.

The remote default branch value returns something like origin/main. Strip the origin/ prefix to get the branch name. If that command exited non-zero (no origin/HEAD set) or returned a bare HEAD, try:

gh repo view --json defaultBranchRef --jq '.defaultBranchRef.name'

If both fail, fall back to main.

If git status shows a clean working tree (no staged, modified, or untracked files), report that there is nothing to commit and stop.

If the current branch is empty, the repository is in detached HEAD state. Explain that a branch is required before committing if the user wants this work attached to a branch. Ask whether to create a feature branch now. Use the platform's blocking question tool: AskUserQuestion in Claude Code (call ToolSearch with select:AskUserQuestion first if its schema isn't loaded), request_user_input in Codex, ask_question in Antigravity CLI (agy), ask_user in Pi (requires the pi-ask-user extension). Fall back to presenting options in chat only when no blocking tool exists in the harness or the call errors (e.g., Codex edit modes) — not because a schema load is required. Never silently skip the question.

  • If the user chooses to create a branch, derive the name from the change content, create it with git checkout -b <branch-name>, then run git branch --show-current again and use that result as the current branch name for the rest of the workflow.
  • If the user declines, continue with the detached HEAD commit.

Step 2: Determine commit message convention

Follow this priority order:

  1. Repo conventions already in context -- If project instructions (AGENTS.md, CLAUDE.md, or similar) are already loaded and specify commit message conventions, follow those. Do not re-read these files; they are loaded at session start.
  2. Recent commit history -- If no explicit convention is documented, examine the 10 most recent commits from Step 1. If a clear pattern emerges (e.g., conventional commits, ticket prefixes, emoji prefixes), match that pattern.
  3. Default: conventional commits -- If neither source provides a pattern, use conventional commit format: type(scope): description where type is one of feat, fix, docs, refactor, test, chore, perf, ci, style, build.

When using conventional commits, choose the type that most precisely describes the change (the type list above). Where fix: and feat: both seem to fit, default to fix:: a change that remedies broken or missing behavior is fix: even when implemented by adding code. Reserve feat: for capabilities the user could not previously accomplish. Other types remain primary when they fit better. The user may override for a specific change.

Step 3: Consider logical commits

Before staging everything together, scan the changed files for naturally distinct concerns. If modified files clearly group into separate logical changes (e.g., a refactor in one directory and a new feature in another, or test files for a different change than source files), create separate commits for each group.

Keep this lightweight:

  • Group at the file level only -- do not use git add -p or try to split hunks within a file.
  • If the separation is obvious (different features, unrelated fixes), split. If it's ambiguous, one commit is fine.
  • Two or three logical commits is the sweet spot. Do not over-slice into many tiny commits.

Step 4: Stage and commit

If the current branch from the context above is main, master, or the resolved default branch from Step 1, automatically create a feature branch before committing. Derive the branch name from the change content, create it with git checkout -b <branch-name>, run git branch --show-current to confirm, and use the new branch as the current branch for the rest of the workflow. Do not ask whether to branch — committing on the default branch is not an option here.

Write the commit message:

  • Subject line: Concise, imperative mood, focused on why not what. Follow the convention determined in Step 2.
  • Body (when needed): Add a body separated by a blank line for non-trivial changes. Explain motivation, trade-offs, or anything a future reader would need. Omit the body for obvious single-purpose changes.

For each commit group, stage and commit in a single call. Prefer staging specific files by name over git add -A or git add . to avoid accidentally including sensitive files (.env, credentials) or unrelated changes. Use a heredoc to preserve formatting:

git add file1 file2 file3 && git commit -m "$(cat <<'EOF'
type(scope): subject line here

Optional body explaining why this change was made,
not just what changed.
EOF
)"

Step 5: Confirm

Run git status after the commit to verify success. Report the commit hash(es) and subject line(s).

Alternatives

Compare before choosing

Computed 10023,781

alirezarezvani/claude-skills

app-store-optimization

App Store Optimization (ASO) toolkit for researching keywords, analyzing competitor rankings, generating metadata suggestions, and improving app visibility on Apple App Store and Google Play Store. Use when the user asks about ASO, app store rankings, app metadata, app titles and descriptions, app store listings, app visibility, or mobile app marketing on iOS or Android. Supports keyword research and scoring, competitor keyword analysis, metadata optimization, A/B test planning, launch checklist

Computed 10014,225

wanshuiyin/Auto-claude-code-research-in-sleep

citation-audit

Use it for operations and research tasks; the detail page covers purpose, installation, and practical steps.

Computed 1004,922

dotnet/skills

migrate-vstest-to-mtp

Migrates .NET test projects from VSTest to Microsoft.Testing.Platform (MTP). Use when user asks to "migrate to MTP", "switch from VSTest", "enable Microsoft.Testing.Platform", "use MTP runner", set OutputType=Exe only for test projects in Directory.Build.props, or mentions EnableMSTestRunner, EnableNUnitRunner, or UseMicrosoftTestingPlatformRunner. USE FOR: MTP behavioral differences vs VSTest (exit code 8, zero tests discovered, --ignore-exit-code, TESTINGPLATFORM_EXITCODE_IGNORE); centralizing

Computed 1002,504

aaron-he-zhu/aaron-marketing-skills

social-selling-planner

Use when the user asks to "set up my founder social-selling routine", "build a daily engagement block for target accounts", or "turn funding / hiring signals into selling plays"; produces the founder/seller daily operating block — a time-boxed engagement-block spec (substantive value-add comments on target-account posts, never a pitch), warm-touch-before-ask cadence rules, trigger-response plays consuming the social-pulse-monitor B2B trigger watchlist (funding / hiring / launch signals), and a q