CommunitySchreiben & Editierengithub.com

gener8v/gener8v.claude-skills.engineering

Arbeit vor dem ersten Edit auf den richtigen Branch legen. Findet den Basis-Branch, erstellt einen gut benannten Branch vom aktuellen Remote-Tip und richtet pro Agent einen eigenen Worktree für parallele Arbeit ein. Vor jeder Änderung an einer getrackten Datei verwenden, z.B. ‚Starte Issue 42‘, ‚Korrektur dieses Tippfehlers‘, ‚Branches für diese drei Tickets anlegen‘ oder bevor Sub-Agenten starten, die Code editieren. Nicht zum Öffnen oder Mergen eines PR (github-pr-merge) oder für History-Rewrites und andere riskante Git-Befehle (git-safety).

Was ist gener8v.claude-skills.engineering?

Dieses Skill stellt sicher, dass jede Code-Änderung auf einem eigenen, korrekt benannten Branch beginnt, der vom aktuellen Remote-Tip des Basis-Branches abzweigt. Es vermeidet versehentliche Commits auf dem Basis-Branch, indem es automatisch den richtigen Basis-Branch ermittelt (z.B. aus CLAUDE.md, CONTRIBUTING.md oder dem Remote-Default-Branch) und einen neuen Feature-Branch anlegt. Für parallele Arbeit mit mehreren KI-Agenten richtet es separate Worktrees und Branches ein, um Konflikte zu vermeiden. Das Skill ist für Entwickler gedacht, die KI-Assistenten wie Claude Code, Cursor oder Codex verwenden, und wird zu Beginn jeder Änderung an getrackten Dateien eingesetzt. Es unterstützt die Angabe von Branch-Namen im Format <Typ>/<Referenz>-<Slug> und bietet eine Anleitung für kleine, sinnvolle Commits und sicheres Pushen. Nach Abschluss der Arbeit kann das verwandte Skill github-pr-merge einen PR öffnen.

Funktioniert mit✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/gener8v/gener8v.claude-skills.engineering/tree/HEAD/skills/git-branching

Installed? Explore more Schreiben & Editieren skills: steipete/notion, langchain-ai/langchain, bytedance/podcast-generation · View all 6 →

In Ihrer bevorzugten KI fragen

Öffnet einen neuen Chat, in dem dieser Agent-Skill bereits geladen ist.

Dokumentation

Git-Branching

Jede Änderung kommt auf einen eigenen Branch. Das gilt auch für eine einzeilige Korrektur und eine Änderung ohne Issue. Committen Sie nicht auf dem Basis-Branch.

1. Basis-Branch finden

Verwenden Sie die erste Quelle, die eine Antwort liefert:

  1. Repository-Anweisungen. Lesen Sie CLAUDE.md, CONTRIBUTING.md und Dokumente in .github/. Wenn dort ein Basis- oder Integrations-Branch genannt wird, verwenden Sie diesen.
  2. Remote-Default-Branch.
    git symbolic-ref --short refs/remotes/origin/HEAD   # gibt origin/<name> aus
    gh repo view --json defaultBranchRef -q .defaultBranchRef.name
    
  3. Mehrdeutigkeit. Wenn der Remote auch develop oder development hat und kein Dokument angibt, welcher der Basis-Branch ist, fragen Sie den Benutzer. Raten Sie nicht.

Wenn ein Integrations-Branch (z.B. develop) der Basis-Branch ist, startet ein Hotfix für eine veröffentlichte Version stattdessen vom Default-Branch. Verwenden Sie dies nur, wenn der Benutzer die Arbeit als Hotfix bezeichnet.

2. Prüfen, wo Sie sich befinden

git status --porcelain
git rev-parse --abbrev-ref HEAD
  • Wenn der Working Tree Änderungen enthält, die Sie nicht vorgenommen haben, stoppen Sie. Fragen Sie den Benutzer, was damit geschehen soll.
  • Wenn Sie sich bereits auf einem Branch für genau diese Arbeit befinden, bleiben Sie darauf.
  • Wenn Sie auf dem Basis-Branch mit eigenen uncommitteten Änderungen sind, verschieben Sie diese: git switch -c <name> behält sie im Working Tree.

3. Branch vom Remote-Tip starten

git fetch origin --prune
git switch -c <name> origin/<base>
git log -1 --oneline

Durch den Start von origin/<base> aus schadet ein veralteter lokaler Basis-Branch nicht. Führen Sie nicht zuerst git pull auf dem Basis-Branch durch, um „aufzuholen“. Das ist nicht nötig.

4. Branch benennen

Verwenden Sie die Repository-Konvention, falls vorhanden. Ansonsten verwenden Sie <Typ>/<Ref>-<Slug>:

TeilWerte
Typfeat, fix, docs, chore, refactor, test, release, hotfix
RefIssue-Nummer (42), Pipeline-Ticket (ticket-007) oder nichts
SlugZwei bis fünf klein geschriebene Wörter, mit Bindestrichen verbunden

Beispiele: fix/42-null-session-crash, feat/ticket-007-search-filters, docs/readme-install-steps.

5. Während der Arbeit

  • Committen Sie in kleinen Schritten, die jeweils für sich sinnvoll sind. Schreiben Sie den Betreff im Imperativ, maximal 72 Zeichen. Verwenden Sie den Textkörper, um das Warum zu erklären.
  • Fügen Sie keinem Commit eine Co-Authored-By: Claude-Zeile hinzu. Das ist eine gener8v-Regel.
  • Vor dem ersten Push können Sie auf origin/<base> rebasen. Nachdem der Branch gepusht wurde, mergen Sie stattdessen den Basis-Branch in den Branch. Ein Rebase eines gepushten Branches schreibt History um, und engineering:git-safety sichert dies ab.
  • Pushen Sie mit einer Kette, die beim ersten Fehler abbricht:
    set -o pipefail
    git fetch origin && <test command> 2>&1 | tail -n 40 && git push -u origin HEAD
    
    Ohne set -o pipefail versteckt | tail den Exit-Code des vorherigen Befehls. Leiten Sie einen Git-Befehl oder einen Testbefehl niemals ohne set -o pipefail durch tail.

Parallele Arbeit

Für zwei oder mehr Agenten, die gleichzeitig Code editieren, lesen Sie resources/parallel-work.md, bevor Sie einen Agenten starten. Kurz gesagt: Ein Batch-Branch vom Basis-Branch, ein Worktree und ein Branch pro Agent vom Batch-Branch, und keine zwei Agenten auf denselben Dateien.

Fertig, wenn

  • Sie sich auf einem Branch mit einem klaren Namen befinden, der beim aktuellen origin/<base> startet.
  • git status keine Änderungen zeigt, die zu jemand anderem gehören.

Verwandte Skills

  • engineering:github-pr-merge: PR öffnen, wenn die Arbeit abgeschlossen ist.
  • engineering:git-safety: Genehmigungsregeln für Force-Push, Branch-Löschung und ähnliche Befehle.
  • engineering:github-issue-workflow: Der gesamte Lebenszyklus eines Issues oder eines Pipeline-Tickets. Es ruft zuerst dieses Skill auf.

Individual skills in this repo

This repo contains 4 individual skills — each has its own dedicated page.

gener8v/gener8v.claude-skills.engineering

Find and run a project's test, lint, type-check, build and dev-server commands, read the results correctly, and seed a throwaway database when UI work needs realistic data. Never seeds the project's real or default database. Use before 'run the tests', 'lint this', 'does it build', 'start the app so I can see it', 'seed some demo data', and before you claim that a change works. Not for deployment or CI pipeline design; use the project's own deploy tooling for those.

gener8v/gener8v.claude-skills.engineering

Create or top up a project's documentation set: list what exists, let the user choose which document types to add, collect one shared fact sheet from the code, write the documents (in parallel when there are several), then check them against each other and against the code. Use when asked to 'bootstrap the docs', 'start the documentation', 'we have no README or ARCHITECTURE', or 'fill in the missing docs'. Not for the per-commit update of existing documents (documentation-sync), and not for gener8v pipeline documents (gener8v:brownfield and gener8v:planning make those).

gener8v/gener8v.claude-skills.engineering

Before a commit, find every document that describes what the change touched and update it in the same commit, or confirm in one line that no document needs a change. Catches stale text, missing documentation and facts kept in two places. Use before any commit or PR, and when asked 'are the docs up to date', 'update the docs for this change' or 'did I miss a README change'. Not for creating a documentation set or filling large gaps (documentation-bootstrap), and not for gener8v pipeline documents under .gener8v/, which the pipeline skills own.

gener8v/gener8v.claude-skills.engineering

Approval gate for git commands that destroy work or skip checks: force-push, --no-verify, signing bypass, reset --hard, clean -f, discarding uncommitted edits, branch or tag deletion, rewriting pushed commits and push --mirror. Each one needs the user's explicit approval at that moment; an earlier approval never carries over. Also covers a secrets check before a commit and what to do when a secret is already committed. Use before any of these commands, or when asked to 'force push', 'skip the hooks', 'throw away my changes' or 'delete that branch'. Not for normal branching (git-branching) or the PR flow (github-pr-merge).

Verwandte Skills