From rails-cto
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.
How this skill is triggered — by the user, by Claude, or both
Slash command
/rails-cto:rails-cto-commitThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Stage and commit all outstanding changes with a clear, human-friendly message. Optionally push to the remote — but only after the user confirms.
Stage and commit all outstanding changes with a clear, human-friendly message. Optionally push to the remote — but only after the user confirms.
Run these in parallel to understand what's changed:
git status — see untracked and modified filesgit diff — see unstaged changesgit diff --cached — see already-staged changesgit log --oneline -5 — see recent commit style for referenceIf there are no changes to commit (nothing untracked, nothing modified, nothing staged), tell the user and stop.
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.
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:
Co-Authored-By).Good examples:
Add password reset flow for logged-out usersFix broken checkout button on mobile screensUpdate pricing page to show annual discountRemove unused admin dashboard pagesBad 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
)"
After committing, ask the user if they want to push to the remote. Do not push automatically.
If they say yes:
git push -u origin <branch> to set tracking.git push.main or master (unless the user insists).If they say no or don't mention pushing, just confirm the commit was made and stop.
npx claudepluginhub mattsears/rails-cto --plugin rails-ctoCreates bite-sized, testable implementation plans from specs or requirements, with file structure and task decomposition. Activates before coding multi-step tasks.