git
Skill2 starsChanged 29 days agoApache-2.0View on GitHub
Commits, branches, pull requests, releases and hotfixes for the user's repo: Conventional Commits, SemVer, changelog, branching model by team size. Use when the user asks to commit, save or upload changes to git, open or describe a PR, cut a release, bump a version, tag, write the changelog, start or finish a hotfix, or pick a branching model — in any language (\"haz commit\", \"súbelo a git\", \"saca una versión\").
- Reads credentials
- Commits and pushes
57 other projects use a version of this.
Adopted by
Most recently taken up by
- bmcszk/agent-skillstheir own version, first seen Nov 8, 2026
- BridgLabs/opencodereviewtheir own version, first seen Nov 8, 2026
- Conceptual-Machines/magda-coretheir own version, first seen Nov 7, 2026
- tsukhani/jclawtheir own version, first seen Nov 5, 2026
- cekrauseee/harnesstheir own version, first seen Nov 1, 2026
- jmlrt/skillstheir own version, first seen Nov 1, 2026
Used with
Projects with it also use sql, databases and 9 more.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
thechandanbhagatSkillsql
Write SQL queries, optimize database performance, design schemas, and debug SQL issues. Use for database operations, query optimization, and schema design.
Also in 4 projects that use this
mrgoonieSkilldatabases
Work with MongoDB (document database, BSON documents, aggregation pipelines, Atlas cloud) and PostgreSQL (relational database, SQL queries, psql CLI, pgAdmin). Use when designing database schemas, writing queries and aggregations, optimizing indexes for performance, performing database migrations, configuring replication and sharding, implementing backup and restore strategies, managing database users and permissions, analyzing query performance, or administering production databases.
Also in 3 projects that use this
mrgoonieSkilldevops
Deploy to Cloudflare (Workers, R2, D1), Docker, GCP (Cloud Run, GKE), Kubernetes (kubectl, Helm). Use for serverless, containers, CI/CD, GitOps, security audit.
Also in 4 projects that use this
MicrosoftSkilltypescript
TypeScript best practices for this monorepo. Use this skill when: (1) writing new TypeScript code, (2) reviewing TypeScript code, (3) working with API responses, fetch calls, or JSON parsing, (4) adding or modifying types and interfaces.
Also in 4 projects that use this
VercelSkillreact
React renderer for json-render that turns JSON specs into React components. Use when working with @json-render/react, building React UIs from JSON, creating component catalogs, or rendering AI-generated specs.
Also in 3 projects that use this
Microsoft AzureSkilltest
Also in 8 projects that use this
Other versions57 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 57
- macro-inc/macro★ 6ksame name
- epicenter-md/epicenter★ 4.8ksame name
- EpicenterHQ/epicenter★ 4.8ksame name
- carapace-sh/carapace-bin★ 2ksame name
- LuisaGroup/LuisaCompute★ 1.1ksame name
- kagenti/kagenti★ 303same name
- Conceptual-Machines/magda-core★ 258same name
- typv/nest-turbo-starter★ 224same name
- BridgLabs/opencodereview★ 79same name
- matteing/opal★ 59same name
47 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
The file
We split this skill into the rules it gives an agent
12 rules. 0 are common, 7 are distinctive, and 5 are very specific to this project.
0
Common
Most of the 51 edited versions we read keep these.
7
Distinctive
This author's own choices. Worth a look.
5
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 13
Do git like a careful senior on the user's own repo: small reviewable changes, messages that tools can read, versions that mean something, …
- Distinctive: line 28
Not a git repo → say so in one line and offer git init (ask first).
- Distinctive: line 52
Every push is verified: before saying "pushed":
- Very specific: line 57
Never pipe push output through head/tail (it hides failures).
- Distinctive: line 59
Do not commit directly to the default branch when the chosen model uses feature branches.
- Distinctive: line 85
Look at the change: git status --short, git diff, git diff --staged, git log --oneline -5 (match the repo's existing style when it already …
- Very specific: line 111
After committing: git log --oneline -1.
- Very specific: line 147
Commit chore(release): vX.Y.Z (version file + CHANGELOG.md) after approval, then the annotated tag git tag -a vX.Y.Z -m "vX.Y.Z" after …
- Very specific: line 151
Write the decision to .hyperui/decisions.md, one line: YYYY-MM-DD · release vX.Y.Z · <why this bump> · https://semver.org/.
- Distinctive: line 165
non-tech: do the git part for them, explained in one plain line per step ("I'll save this change with a short note describing it — okay?").
- Very specific: line 175
Update .hyperui/state.md next: if it exists.
- Distinctive: line 185
Keep a Changelog 1.1.0 — https://keepachangelog.com/en/1.1.0/
“Common” is measured: kept by at least 6 in 10 of the 51 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
hyperui:git — commits, PRs, releases, hotfixes
Do git like a careful senior on the user's own repo: small reviewable changes, messages that tools can read, versions that mean something, and nothing irreversible without a yes.
0. Before anything
- Resolve the project root with
${CLAUDE_PLUGIN_ROOT}/scripts/profile.sh rootand use it (absolute paths) for.hyperui/and for every repo read/write. If<root>/.hyperui/profile.mdis missing, invoke thehyperuiskill first (it onboards and routes); otherwise readprofile.mdandstate.mdand never re-ask what they hold. With several roots (profile.sh roots), work in the repo the request or the touched file belongs to, with that repo's.hyperui/(rules:${CLAUDE_PLUGIN_ROOT}/references/workspace.md). Profile fields used:archetype,conversation_language,versioning(auto|off),version_file, any ticketing tool in the notes; also.hyperui/decisions.md(a branching model already chosen is final; none → no decision yet). - Orient (read-only, safe without asking):
git status --short git branch --show-current git log --oneline -10 git remote -v - Not a git repo → say so in one line and offer
git init(ask first). - Reply in the user's language; commit messages, PR text, changelog and tags stay English unless the profile says otherwise.
1. Hard rules (never relaxed, whatever the user's archetype)
- Commit only after the user approves the exact message. Show it, stop, wait. "haz commit" is a request to propose, not approval of a message they have not seen.
- Never
git commit --amend— not even on an unpushed commit. A correction is a new commit. - Never force-push (
--force,--force-with-lease), never rewrite published history (rebaseof pushed commits,filter-branch,reset --hardthat drops work) unless the user explicitly asks for that exact operation after you name the risk in one line. - Never
--no-verify; never skip hooks. A failing hook is a finding: fix the cause. - UI changes are shown before they are committed, merged or pushed. Before proposing any of those on a change
that touches UI, check
<root>/.hyperui/design.mdhas a## Browser evidenceentry for it and that this reply or the previous one gave the user the local URL, the 360/768/1280 screenshots and "what to look at" (root §7). Missing → show it first (${CLAUDE_PLUGIN_ROOT}/skills/design/references/browser-verify.md), ask afterwards. - Never skip the version bump. A code change hyperui made is not ready to commit until the version file(s) and
CHANGELOG.mdcarry it (references/versioning.md: PATCH by default, MINOR for a feature, MAJOR only on the user's word). The only exception isversioning: offinprofile.md, set when the user says "no versioning for this project" (profile.sh set versioning off) — then stay silent about versions. - Never commit secrets: scan the staged diff for
.env, keys, tokens, certificates, credentials. Found one → unstage it, add it to.gitignore, tell the user. If it was already pushed, say it must be rotated — deleting it in a new commit is not enough. - Every push is verified before saying "pushed":
Never pipe push output throughgit rev-parse HEAD git ls-remote origin refs/heads/<branch> # sha must equal HEADhead/tail(it hides failures). Mismatch → report it. - Push, merge to the default branch, tag and release each need their own explicit yes.
- Do not commit directly to the default branch when the chosen model uses feature branches.
2. Branch before the first edit
In every repo that will change:
git fetch origin
git rev-list --left-right --count <default>...origin/<default> # behind?
git checkout <default> && git pull --ff-only origin <default>
git checkout -b <type>/<two-or-three-words> # feat/checkout-page, fix/login-redirect<default> = git symbolic-ref --short refs/remotes/origin/HEAD minus origin/ (else main).
Stray uncommitted changes that are not part of this work → isolate them with an explicit
pathspec, never a blanket stash:
git stash push -u -m "<reason>" -- <only those paths>Branching model per project: see references/branching.md. Decide it once, write it to
.hyperui/decisions.md, then stop asking.
3. Commit ("haz commit", "guarda los cambios", "commit this")
- Look at the change:
git status --short,git diff,git diff --staged,git log --oneline -5(match the repo's existing style when it already uses one). - Classify → bump → changelog (
references/versioning.md; skipped only withversioning: off). Classify from the task/spec type or the commit type you are about to write (feat→ MINOR; codefix|perf|refactor|style|chore→ PATCH; docs/tests/CI only → no bump). Find the version file (version_filein the profile; detect once per §2 of the reference andprofile.sh set version_file <path>), bump it — lockfile included — and add theCHANGELOG.mdblock for the new version with today's date (create the file if missing; user-facing bullets in the product's language). Already bumped in this working tree → keep it, never twice. First bump in the project → one line indecisions.md. - Propose what to stage: the files of this change by path plus the version file(s) and
CHANGELOG.md. Usegit add -Aonly when every changed/untracked file belongs to it; never stage.env, build output,.DS_Store, editor folders. - Draft a Conventional Commits message (
references/conventional-commits.md):type(scope)!: description— imperative, lowercase start, no period, first line ≤ 72.- Types:
feat,fix,docs,style,refactor,perf,test,build,ci,chore,revert. Breaking change →!and aBREAKING CHANGE:footer. - Body (wrapped at 72): why, not how, plus the line
Bumps to vX.Y.Z.when the commit carries a bump. A commit that is only the bump + changelog →chore(release): vX.Y.Z. No ticket prefix in the subject; aRefs: <id>footer only if the user uses a tracker and gives the id. No AI co-author trailer (Co-Authored-By: Claude …) unless the user asks for one — the repo's author is the user. - The type and the bump agree: a copy/text or visual tweak with no new capability is
fixorstyle(PATCH), notfeat. - Change mixes unrelated things → propose splitting into two commits.
- Show and stop. Present the files to stage and the message in a fenced block, then the root §9 choice prompt:
commit with this message (Recommended) · edit the message · also push afterwards · not yet. Do not run
git addorgit commitin this turn — "haz commit" / "deja listo el commit" ask for the proposal, not for the commit. - On approval: stage exactly the approved files and commit with exactly the approved text
(
git commit -F <tmpfile>for multi-line). On edits: redraft and show again. - After committing:
git log --oneline -1. Do not push unless asked; offer it in one line. After the merge/push of a bump, offer the tagvX.Y.Z(or the project's convention) — its own yes (references/release.md§5). - A hook (lint, commitlint, tests) rejects the commit → fix the cause, show the new
message/diff if it changed, and make a new commit attempt — never
--no-verify.
4. Pull request ("abre un PR", "open a PR")
- Preconditions: on a feature branch, clean tree (else stop: commit or stash first), branch is
up to date with the base (
git fetch && git log HEAD..origin/<base> --oneline; behind → proposegit merge origin/<base>, not a rebase of pushed work). - Base = default branch (Git Flow:
develop); confirm only if ambiguous. - Draft from
git log <base>..HEADandgit diff <base>...HEAD:- Title: Conventional Commit style (
feat(cart): add coupon field), ≤ 72 chars. - Body:
references/pr-template.md— what and why, how it was tested, screenshots when UI changed, checklist. If the repo already has.github/pull_request_template.md(ordocs// root), use the repo's template instead. - Large or mixed change → propose a split first (one concern per PR, schema/migrations before the code that needs them, each PR green on its own).
- Title: Conventional Commit style (
- Show title + body; wait for approval. Then push (
git push -u origin <branch>, verified per §1) and create:gh pr create --base <base> --title … --body-file …whenghis authenticated; otherwise give the compare URL and the ready-to-paste text. - Return the PR URL. Review fixes go in new commits on the same branch, never force-pushed.
5. Release ("saca una versión", "release", "bump version")
Full procedure: references/release.md; the per-change rule that feeds it is references/versioning.md (every
change already carries its bump, so a release usually only tags). Summary:
- Precondition: clean tree on the release source branch (default branch, or
developunder Git Flow). Find the version file (package.json,pyproject.toml,Cargo.toml,pubspec.yaml,*.xcodeprojmarketing version, …; none → ask) and the last tag (git describe --tags --abbrev=0). - Propose the SemVer bump from commits since the last tag: any breaking → MAJOR (MINOR
while
0.y.z), anyfeat→ MINOR, otherwise PATCH. Show current → proposed; wait. - Draft the Keep a Changelog block (
## [x.y.z] - YYYY-MM-DD, sections Added / Changed / Deprecated / Removed / Fixed / Security; move## [Unreleased]items in). Show; wait. - Commit
chore(release): vX.Y.Z(version file +CHANGELOG.md) after approval, then the annotated taggit tag -a vX.Y.Z -m "vX.Y.Z"after approval, then push branch and that tag (git push origin vX.Y.Z, verified withgit ls-remote --tags origin vX.Y.Z). - Optional:
gh release create vX.Y.Z --notes-file <block>— ask. - Write the decision to
.hyperui/decisions.md, one line:YYYY-MM-DD · release vX.Y.Z · <why this bump> · https://semver.org/. - Repo already uses release-please, semantic-release or Changesets → follow that tool instead of a manual bump; do not mix both.
6. Hotfix ("arréglalo en producción", "hotfix")
Full procedure: references/hotfix.md. Start from what is in production (the last release
tag or the default branch), branch hotfix/x.y.(z+1), fix with a test, PATCH bump + Fixed
changelog entry, tag, and bring the fix back to every long-lived branch (develop under Git
Flow). Same approval gates as a release; never cherry-pick by rewriting history.
7. Tone per archetype
- non-tech: do the git part for them, explained in one plain line per step ("I'll save this change with a short note describing it — okay?"). One question per turn, with the recommended answer. Never mention rebase, reflog or detached HEAD unless they must act.
- dev: the command and one line of why.
- senior: the proposed message/command only; options only when asked.
8. Report
End each action with: what ran (commit sha / PR URL / tag), what was verified (ls-remote
match), the root §9 care line when a bump happened (version vX.Y.Z · changelog), and the next step in one line.
Update .hyperui/state.md next: if it exists.
Sources
Cite only URLs that are listed in a skill/reference or that you opened this session; never construct or guess a URL.
Open the source before stating a rule you are unsure of.
- Conventional Commits 1.0.0 — https://www.conventionalcommits.org/en/v1.0.0/
- Semantic Versioning 2.0.0 — https://semver.org/
- Keep a Changelog 1.1.0 — https://keepachangelog.com/en/1.1.0/
- A successful Git branching model (Git Flow, with the 2020 note) — https://nvie.com/posts/a-successful-git-branching-model/
- GitHub Flow — https://docs.github.com/en/get-started/using-github/github-flow
- Trunk-Based Development — https://trunkbaseddevelopment.com/
- GitHub pull request reviews — https://docs.github.com/en/pull-requests/reference/pull-request-reviews
- GitHub PR templates — https://docs.github.com/en/communities/using-templates-to-encourage-useful-issues-and-pull-requests/creating-a-pull-request-template-for-your-repository
- release-please — https://github.com/googleapis/release-please
- semantic-release — https://semantic-release.gitbook.io/semantic-release
- Changesets — https://github.com/changesets/changesets
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

