with one click
commit
Create well-formatted git commits for changes made during the session
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Menu
Create well-formatted git commits for changes made during the session
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Based on SOC occupation classification
Autonomous product factory — /make-a-goal in godmode. Point it at a north-star outcome and it runs the whole delivery machine unattended: brainstorm the feature landscape (Discover), put every idea through a Feasibility Court, cluster into a Roadmap of epics, then per epic Plan → adversarial review → Execute (model-paired build) → VERIFY (drive the real UI/TUI/API, not mocks) → ship a stacked PR, looping until the backlog is dry or a budget/time bound fires. One human gate (roadmap blessing), hard stop rules, always-on tabbed RAG dashboard, crash-proof resume from state files. Use when the user says 'godmode', 'run the factory', 'ship X to nirvana', 'execute this whole backlog autonomously', 'goals within goals', or wants a multi-epic programme driven end-to-end with real end-to-end verification. NOT for single features, one-off verification, or scoped builds — use /make-a-goal, browser/tmux verification skills, or a plain plan for those.
Sync user-level agent config changes back to the ainb-toolkit repo (works for Claude, Codex, Copilot)
Produce a self-contained, richly styled HTML explainer for any topic the user asks about. Picks the right template from a bundled set of 22 visual patterns (feature explainer, concept explainer, module map, PR review, ADR, options paper / trade-off analysis, system diagram, flow- chart, status report, slide deck, prototype, editor, etc.), fills it with real content, augments with inline diagrams via sister skills (/fireworks-tech-graph for architecture / flow / sequence diagrams, /graphify for knowledge graphs), applies a Claude-brand polish layer, and publishes it: by default onto the configured here.now custom domain (path mount + searchable categorised index + password lock per the config's protect rule, driven by ~/.herenow/explainers.json), or a plain here.now URL, or a GitHub gist (--gist / --gist --public). Local-only output is available with --local. Use when Stevie says "/explain-to-me", "explain-to-me X", "make me an explainer for X", "give me an HTML explainer", "render this as a webpage", "ADR for
Self-improvement through conversation analysis. Extracts learnings from corrections and success patterns, permanently encoding them into agent definitions. Philosophy - Correct once, never again.
Claude Code observability skill: analyze session traces stored in Langfuse, extract learnings from corrections, identify success patterns, and propose agent/skill improvements based on historical data. Powers self-improvement through trace analysis of Claude Code sessions.
Generate a handover document for transferring work to another developer or spawning an async agent
| name | commit |
| description | Create well-formatted git commits for changes made during the session |
| user-invocable | true |
Runbook: clean up agent scratch, plan atomic commits, commit by named paths, push per branch-protection rules. Execute steps in order.
/review (GitHub PR) or /code-review (working diff), not this skill./caveman-commit.git status clean) → stop, tell user there is nothing to commit.Print verbatim:
I'll help you create git commits for the changes in this session.
Let me review what was accomplished and prepare appropriate commits.
"Agent scratch" = any file that exists for the agent's benefit, not the repo's: debug scripts, temp notes, work-tracking markdown, goals/plans/research/handover docs.
Run the scan:
git status
ls -la .env* env.* *.env 2>/dev/null
ls -la test_*.* debug_*.* tmp_*.* temp_*.* 2>/dev/null
Apply this table to each file found:
| File matches | Action |
|---|---|
.env, .env.*, *.env NOT in .gitignore | Add pattern to .gitignore; never stage the file |
debug/temp script created this session (test_*.js, debug_*.txt, tmp_*.py) | rm it |
| markdown created this session AND not user-requested | rm it |
under .agents/{goals,plans,research,scratch,handover}/ (by intent, any path) | local-only: git rm --cached if tracked, ensure dir in .gitignore |
.agents/pr-signals/, .agents/MEMORY.md, other deliberately-tracked agent infra | KEEP |
| explicitly user-requested doc, essential README/API doc | KEEP |
Add gitignore patterns when needed:
printf '.env*\n*.env\nenv.*\n' >> .gitignore # env.* covers env.local-style names the scan surfaces
If any cleanup is required, present the list and wait for a yes before deleting:
I found files to clean up before committing:
- test_oauth.js (debug script → remove)
- debug_notes.md (work tracking → remove)
- .env.local (→ add to .gitignore, do not commit)
Clean these up before creating commits?
Re-run git status after cleanup. Expected: only real deliverables remain untracked/modified. If agent scratch still appears → repeat the table before proceeding.
git status
git diff
git diff --staged
From the conversation + diff, identify distinct intents (feature, fix, refactor, test, docs). One intent = one commit. Count the intents now; that count = number of commits.
Rules:
Conventional-commit types:
| Type | Use for |
|---|---|
| feat | new feature |
| fix | bug fix |
| docs | documentation only |
| style | formatting, no logic change |
| refactor | restructure, no behavior change |
| perf | performance improvement |
| test | add/update tests |
| build | build system or dependencies |
| ci | CI/CD config |
| chore | maintenance |
Breaking change: append ! after type and add a BREAKING CHANGE: footer line.
Show each commit with its type, summary, exact file list, and full message, then ask:
Based on the changes, I plan to create N commit(s):
Commit 1 — feat: add OAuth2 authentication support
Files:
- src/auth/oauth.js
- src/auth/tokenStore.js
Message:
feat: add OAuth2 authentication support
- Implement OAuth2 flow with refresh tokens
- Add token storage and validation
Shall I proceed?
Wait for confirmation before Step 5.
git add src/auth/oauth.js src/auth/tokenStore.js
git commit -m "feat: add OAuth2 authentication support
- Implement OAuth2 flow with refresh tokens
- Add token storage and validation"
Hard rules:
git add -A or git add . — stage only the named paths for this commit. Why: bulk-add drags agent scratch into the commit.Co-Authored-By. Commit as if the user wrote it; match the repo's existing commit tone.Work in progress — if the session's implementation is incomplete, ask the user which they want before committing:
Verify after each commit:
git log --oneline -n 3
git status
Determine branch and protection:
BRANCH=$(git branch --show-current)
git fetch origin
git log origin/$BRANCH..HEAD --oneline # commits that will be pushed
Protected branch = main, master, or release/*.
| Situation | Action |
|---|---|
| Feature branch, not on remote | git push -u origin $BRANCH (auto) |
| Feature branch, already tracking | git push (auto) |
| Protected branch | Ask user to confirm (see prompt below); push only on yes |
| Local behind remote / push rejected | git pull --rebase then git push |
| Force push would be needed | STOP — ask explicit permission regardless of branch |
Protected-branch confirmation prompt:
You have commits ready to push to $BRANCH (protected).
Confirm: tests passed, code reviewed, ready to deploy? (yes/no)
Always print the commits before pushing:
echo "Pushing to origin/$BRANCH:"
git log origin/$BRANCH..HEAD --oneline
Rejection handling — expected outcome and branch:
git fetch origin
git pull --rebase && git push
If push still fails after rebase → it is branch protection or permissions, not a sync issue. Do NOT retry the push. Report the failure and offer gh pr create instead.
After a successful feature-branch push, tell the user they can open a PR with gh pr create.
git status # what changed
git diff # unstaged changes
git add src/feature.js tests/feature.test.js # stage named paths only
git commit -m "feat: implement new feature"
git log --oneline -10 # recent commits
git commit --amend # fix the last commit
git reset HEAD file.js # unstage