dw-gitlisted
Install: claude install-skill dominikwozniak/dw-solo-skills
# dw-git — all git ops, by the project's own conventions
Every git operation in one place, so the conventions live in exactly one place: the rest of the loop
delegates here by prose — the build step commits the way this skill does, the ship step pushes and
opens PRs the way this skill does.
## What it reads
Before any operation, look for a `## Git conventions` block in `AGENTS.md` (repo root) first, then in
a legacy `CLAUDE.local.md`. **First one found wins**, and its values **override** the defaults below —
commit format, default branch, branch naming, trailer policy, PR title format, rebase-vs-merge,
signing. With neither file, or neither carrying such a block, use the documented defaults.
`CLAUDE.md` is deliberately not in that list: where it exists it is a symlink to `AGENTS.md`, so
reading it is reading the first entry twice. And `AGENTS.md` comes first because it is **tracked** —
it reaches a fresh clone and a `git worktree` checkout, which is exactly where the old gitignored
copy left this skill falling back to defaults the repo had already overridden.
**Resolving the default branch** is the one lookup every other skill borrows from here: take it from
`## Git conventions`, else `git symbolic-ref --short refs/remotes/origin/HEAD`, else `main`. Never
assume `main` outright.
**Which ref of it to diff against** is the second half of that lookup, and every skill that reviews a
diff borrows it too. Fetch, then take whichever of the two already contains the other:
```b