Two bundled fixes across the same nine skills, since both touch the same files. Issue #113: skill prose used rtk git and bare git inconsistently for the same operations, with no stated rule for which applied where. Executable instructed commands (a dispatch-table "Run" cell, a fenced code-block procedure, an imperative step) now consistently use rtk git; illustrative or referential mentions -- naming a flag's behavior, quoting a doc heading, warning against an anti-pattern -- stay bare git. Documented in the new plugins/git/README.md, scoped to this plugin only: gitea-* skills talk to the server over MCP tools and carry no git/rtk mentions at all. Also the git-plugin slice of #127: metadata.version added to the eight skills that lacked it. git-commits already had one and is untouched. Fixes: #113 Fixes: #127 Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01EeH8SCbcrCAQrtymkNuhKP
3.4 KiB
source_keys
| source_keys | |
|---|---|
|
Per-action command mapping
One command per action. Where two forms exist, the first is the default and the second the escape hatch.
- create —
rtk git switch -c <branch> <base>. Base comes from the config'sbase_branch(mainunder GitHub Flow, usuallydevelopunder Gitflow). - switch —
rtk git switch <branch>moves to an existing local branch; it aborts rather than clobbering conflicting local changes.rtk git switch -returns to the previous branch. - delete (local) —
rtk git branch -d <branch>refuses when the branch holds unmerged commits, which is why it is the default.rtk git branch -D <branch>forces the deletion and discards that work — only after the destructive-operation gates pass andconfirm: trueis set. - delete (remote) — not this skill's. Deleting a remote branch is a push, and every remote-side
gate lives in
git-remotes; hand it there rather than running the push from here. Itsreferences/push.mdcarries the command and the refspec form. - rename —
rtk git branch -m <old> <new>. - list —
rtk git branch(local),-a(local plus remote-tracking),-r(remote-tracking only),--merged/--no-merged(filter by merge status into the current branch). - track —
rtk git branch --set-upstream-to=origin/<branch>sets an upstream without pushing.rtk git branch -vvshows the tracking state of every local branch.
get-intent
Git has no native field for free-text branch metadata, and this skill does not persist any. On
create, the intent value is only returned in the structured result — the caller decides
whether to store it.
On get-intent, either parse the intent back out of the branch-name convention
(feature/<intent-slug>) or return { "intent": null } when the caller never persisted the
create-time value. Never fabricate an intent: a downstream commit message built on a guessed
intent is worse than one built on none.
Stashing work in progress
A switch aborts rather than clobbering conflicting local changes (see Gotchas). Stash is the way past it: it shelves the working tree and index so the branch pointer can move.
- save —
rtk git stash push -m "<message>". Add-uto include untracked files; verified on Git 2.39.5, a plainpushleaves them in place, and a plainpushwith only untracked changes reportsNo local changes to saveand stashes nothing. Baregit stashispushwith no message. - restore —
rtk git stash popapplies the newest entry and deletes it.rtk git stash apply stash@{n}applies without deleting, for replaying one shelf onto more than one branch. - list —
rtk git stash list;rtk git stash show -p stash@{n}prints that entry's diff. - drop —
rtk git stash drop stash@{n}deletes one entry.rtk git stash cleardeletes all of them and nothing recovers them — confirm before running it. - branch from a stash —
rtk git stash branch <branch> stash@{n}creates a branch at the commit the stash was taken from and pops it there. Use it when the stash no longer applies to the current tip.
A conflicting pop keeps the entry. Verified on 2.39.5: it exits 1, writes conflict markers,
prints "The stash entry is kept in case you need it again", and git stash list still shows it.
Resolve, rtk git add, then rtk git stash drop the entry by hand — otherwise it silently accumulates.