using-git
Skill4 starsChanged 7 months agoMITView on GitHub
Use when reading status, preparing commits, writing commit messages, comparing local changes, or handling dirty worktrees in this build environment. Focuses on safe non-interactive Git usage, selective staging, and avoiding interference with unrelated user changes.
- Deletes or force-pushes
We split this skill into the rules it gives an agent
22 rules. About 0 are common, 17 are distinctive, and 5 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈17
Distinctive · estimate
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
- could be automatic: a setting could enforce it
- Distinctive: line 10
Use this skill when the task involves Git operations in the RISC OS build environment, especially when preparing commits or reasoning about …
- Distinctive: line 16
Prefer non-interactive Git commands.
- Very specific: line 17
Never use git add ., git add <directory>, or other broad staging when a narrower file list is possible.
- Distinctive: line 19
Never revert or overwrite unrelated user changes unless the user explicitly asks for that.
- Distinctive: line 21
Do not use destructive commands such as git reset --hard or git checkout -- unless explicitly requested.
- Very specific: line 25
If the .git in the repository is a file, which refers to a non-existant directory, we are in a snapshot of a git submodule.
- Distinctive: line 31
Start with targeted inspection:
- Distinctive: line 40
When only a few files matter, ask Git about those files directly rather than trying to interpret the whole repository state.
- Distinctive: line 58
If the worktree is noisy, prefer:
- Distinctive: line 69
Use a short summary line followed by a wrapped body when needed.
- Distinctive: line 73
Keep the subject concise and imperative.
- Very specific: line 75
Do not embed literal \n escape sequences in git commit -m bodies.
- Distinctive: line 76
If a multiline message is needed, feed it from standard input or a file.
- Distinctive: line 83
If relevant, include information about how it was tested, but don't go into excessive detail.
- Very specific: line 97
Use multiple -m arguments only for separate paragraphs, not to simulate line wrapping with escaped newlines.
- Distinctive: line 111
Read carefully before committing if a file is already modified.
- Distinctive: line 112
If a file has unrelated user edits, integrate with them rather than replacing them.
- Distinctive: line 114
If the change set is mixed, commit only the files that belong to the current task.
- Very specific: line 123
If a shell one-liner needs a multiline commit message, prefer printf piped into git commit -F -.
- Distinctive: line 125
Commit messages should be wrapped properly because literal backslash escapes are not interpreted inside ordinary single-quoted shell …
- Distinctive: line 127
When testing or building inside the environment, generated files should remain uncommitted unless they are part of the requested source …
- Distinctive: line 132
Use this skill for tasks such as:
≈ “Common” is an estimate: at least 1 in 5 of the 308,232 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Using Git
Use this skill when the task involves Git operations in the RISC OS build environment, especially when preparing commits or reasoning about a dirty worktree.
Core rules
- Prefer non-interactive Git commands.
- Never use
git add .,git add <directory>, or other broad staging when a narrower file list is possible. - Never revert or overwrite unrelated user changes unless the user explicitly asks for that.
- Do not use destructive commands such as
git reset --hardorgit checkout --unless explicitly requested. - Expect the worktree to contain many unrelated untracked files. Filter for the exact files relevant to the current task.
- If the
.gitin the repository is a file, which refers to a non-existant directory, we are in a snapshot of a git submodule. We cannot do git operations. Do not try - give up and tell the user.
Status and inspection
Start with targeted inspection:
git status --short
git diff -- path/to/file
git diff --cached -- path/to/file
git rev-parse --short HEADWhen only a few files matter, ask Git about those files directly rather than trying to interpret the whole repository state.
Be explicit about whether you want unstaged or staged changes:
git diff -- path/to/filecompares the working tree against the index, so it shows only unstaged changes.git diff --cached -- path/to/filecompares the index againstHEAD, so use it when changes have already been staged and plaingit diffappears empty.
Staging
Stage only the intended files:
git add path/to/file1 path/to/file2If the worktree is noisy, prefer:
git status --short -- path/to/file1 path/to/file2before committing, to confirm that only the intended paths are staged or modified.
Commit messages
Use a short summary line followed by a wrapped body when needed.
Rules:
- Keep the subject concise and imperative.
- Wrap commit message body lines to 74 characters.
- Do not embed literal
\nescape sequences ingit commit -mbodies. - If a multiline message is needed, feed it from standard input or a file.
- A good description opens with a short sentence or paragraph about why the change is being made so that the context is understood. This is important for code archeology - working out why something went wrong and what the reason was for a mistake.
- This can then be followed by the detail about what has been done to address this, and how it has been tested.
- It may include how the change is deficient because of time, or just because it's progressive work, etc
- If relevant, include information about how it was tested, but don't go into excessive detail.
- You may avoid these rules and make just a simple description if the change is self-explanatory - adding documentation, correcting typos, etc - or where background would not help. But never commit only a title line; there must always be some body text.
Preferred pattern:
printf '%s\n' \
'Short subject line' \
'' \
'First wrapped body line.' \
'Second wrapped body line.' | git commit -F -Use multiple -m arguments only for separate paragraphs, not to simulate line
wrapping with escaped newlines.
Dirty worktrees
This environment often has:
- unrelated modified files,
- many untracked files,
- generated output under
.rotransform/,build/, or similar paths.
Guidance:
- Ignore unrelated untracked files unless they are directly relevant.
- Read carefully before committing if a file is already modified.
- If a file has unrelated user edits, integrate with them rather than replacing them.
- If the change set is mixed, commit only the files that belong to the current task.
Environment-specific notes
Lessons from this environment:
- The repository may contain wrapper tools on
PATHwith familiar names. Check which executable is being used if command behaviour looks unusual. - If a shell one-liner needs a multiline commit message, prefer
printfpiped intogit commit -F -. - Commit messages should be wrapped properly because literal backslash escapes are not interpreted inside ordinary single-quoted shell strings.
- When testing or building inside the environment, generated files should remain uncommitted unless they are part of the requested source change.
When to use this skill
Use this skill for tasks such as:
- preparing a clean commit from a noisy worktree,
- writing or reviewing commit messages,
- staging only selected files,
- checking whether a repository is safe to commit,
- comparing local changes before a release or integration step.
Other versions2 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 2
- webpro/skills★ 16same name
- claylo/pikchr-tools★ 0same name
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.
In this repository47 other files it gives its agents.
- allocating-resourcesSkill
- ci-testingSkill
- creating-pull-requestsSkill
- designing-modulesSkill
- porting-to-riscos-cSkill
- reading-assemblySkill
- riscos-commandsSkill
- riscos-desktop-fileractionSkill
- riscos-filer-likeSkill
- riscos-filesystemSkill
- riscos-graphics-convertersSkill
- riscos-network-dcistatisticsSkill
- riscos-network-resolverSkill
- riscos-outputSkill
- riscos-reSkill
- riscos-styleSkill
- riscos-throwbackSkill
- riscos-urls-fetchingSkill
- riscos-urls-launchingSkill
- riscos-wimp-appSkill
- riscos-wimpSkill
- riscos-wimp-templatesSkill
- updating-robe-skillsSkill
- using-bbcbasicSkill
- using-cmhgSkill
- using-ghSkill
- using-libasmSkill
- using-libgcontextSkill
- using-liboslibSkill
- using-libriscoslibSkill
- using-libtoolboxSkill
- using-makefilesSkill
- using-perlSkill
- using-stronghelpSkill
- using-toolbox-imagefilegadgetSkill
- using-tooltesterSkill
- writing-assemblySkill
- writing-assembly-testsSkill
- writing-cmodulesSkill
- writing-cplusplusSkill
- writing-cSkill
- writing-fortranSkill
- writing-oslib-defsSkill
- writing-pascalSkill
- writing-prminxmlSkill
- writing-pymodulesSkill
- writing-pyromaniac-integration-testsSkill
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
Reviews can't be read right now.
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.

