agentsclimarketplace

Rails cto commit

Skill mattsears/rails-cto/skills/rails-cto-commit

Stage and commit all outstanding code changes with a clear, human-friendly commit message. Use this skill whenever the user asks to commit, save their work, push changes, or says things like "commit this", "save my progress", "push this up", "ship it", "commit all", or "commit and push". Also triggers for "/commit-all". Do NOT use for cherry-picking, rebasing, or other advanced git operations.From its SKILL.md

Install
npx -y skills add mattsears/rails-cto --skill rails-cto-commit

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 14 stars14 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

SKILL.md

2.9 KB, as published. Nobody here has run it

Commit

Stage and commit all outstanding changes with a clear, human-friendly message. Optionally push to the remote — but only after the user confirms.

Workflow

1. Gather context

Run these in parallel to understand what's changed:

  • git status — see untracked and modified files
  • git diff — see unstaged changes
  • git diff --cached — see already-staged changes
  • git log --oneline -5 — see recent commit style for reference

If there are no changes to commit (nothing untracked, nothing modified, nothing staged), tell the user and stop.

2. Stage everything

Add all changes — tracked and untracked — to the staging area:

git add -A

If any files look like they contain secrets (.env, credentials, tokens, API keys), warn the user and exclude them before committing.

3. Write the commit message

Write a commit message that a non-technical person could understand. The goal is clarity — someone glancing at the git log should immediately know what changed and why.

Rules:

  • Use plain language. Avoid jargon, abbreviations, and technical shorthand.
  • Lead with what the change accomplishes from a user or product perspective, not implementation details.
  • Keep the subject line under 72 characters.
  • If the change is complex, add a blank line and a short body paragraph explaining the "why."
  • Do NOT include any co-authorship lines (no Co-Authored-By).
  • Do NOT reference "Claude" or any AI tool in the message.

Good examples:

  • Add password reset flow for logged-out users
  • Fix broken checkout button on mobile screens
  • Update pricing page to show annual discount
  • Remove unused admin dashboard pages

Bad examples:

  • refactor: extract util fn for auth middleware (too technical)
  • fix bug (too vague)
  • WIP (not descriptive)
  • Update files (says nothing)

Use a HEREDOC to pass the message so multi-line messages format correctly:

git commit -m "$(cat <<'EOF'
Your commit subject line here

Optional body explaining why, if needed.
EOF
)"

4. Confirm before pushing

After committing, ask the user if they want to push to the remote. Do not push automatically.

If they say yes:

  • If the branch has no upstream, use git push -u origin <branch> to set tracking.
  • If it does, use git push.
  • Never force-push unless the user explicitly asks for it.
  • Warn and refuse if the target is main or master (unless the user insists).

If they say no or don't mention pushing, just confirm the commit was made and stop.

Keep looking

Skills are one crate of 627,801. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.