Commit
LennartHennigs/Button2
Stage and commit current changes for Button2 — checks for needed CHANGELOG/README/CLAUDE.md updates, creates a branch if on master, writes a commit message, and commits
Measure a sentence you just wrote against the thing it describes, then prune the block it lands in.
$ npx skills add ploxc/modbux --skill prose -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install ploxc/modbux prose --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/ploxc/modbux.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/prose .claude/skills/prose && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "prose" agent skill from https://github.com/ploxc/modbux/tree/main/.claude/skills/prose into .claude/skills/prose/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "prose", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/ploxc/modbux/tree/main/.claude/skills/proseType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add ploxc/modbux --skill prose -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install ploxc/modbux prose --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ploxc/modbux.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.claude/skills/prose .agents/skills/prose && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "prose" agent skill from https://github.com/ploxc/modbux/tree/main/.claude/skills/prose into .agents/skills/prose/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "prose", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add ploxc/modbux --skill prose -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install ploxc/modbux prose --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ploxc/modbux.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.claude/skills/prose .cursor/skills/prose && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "prose" agent skill from https://github.com/ploxc/modbux/tree/main/.claude/skills/prose into .cursor/skills/prose/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "prose", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/ploxc/modbux.git --path .claude/skills/prose--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add ploxc/modbux --skill prose -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install ploxc/modbux prose --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ploxc/modbux.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.claude/skills/prose .gemini/skills/prose && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "prose" agent skill from https://github.com/ploxc/modbux/tree/main/.claude/skills/prose into .gemini/skills/prose/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "prose", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install ploxc/modbux proseInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add ploxc/modbux --skill prose -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/ploxc/modbux.git skills-src && mkdir -p .github/skills && cp -r skills-src/.claude/skills/prose .github/skills/prose && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "prose" agent skill from https://github.com/ploxc/modbux/tree/main/.claude/skills/prose into .github/skills/prose/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "prose", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add ploxc/modbux --skill prose -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install ploxc/modbux prose --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ploxc/modbux.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.claude/skills/prose .opencode/skills/prose && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "prose" agent skill from https://github.com/ploxc/modbux/tree/main/.claude/skills/prose into .opencode/skills/prose/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "prose", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
proseMeasure a sentence you just wrote against the thing it describes, then prune the block it lands in.
Prose is an agent skill from ploxc/modbux. Measure a sentence you just wrote against the thing it describes, then prune the block it lands in. Use after writing or editing a code comment, a commit message, a CHANGELOG entry, an issue reply, or any markdown paragraph, and before adding to one that already exists — reflowing a sentence that states a measurement counts as writing it. Do NOT use as a tone pass — a sentence that passed its check is finished.
Its SKILL.md is about 2.1k tokens, which your agent loads only when the skill is triggered. The skill folder holds 3 other files, including reference files (for example `references/figures.md` and `references/the-block-not-the-sentence.md`).
It sits in Development, covering Commit messages, Technical documentation and Changelog and release notes. It works with Git. The repository describes itself as: Free open-source Modbus client (master) GUI and server simulator for Windows, macOS and Linux. Desktop tool for Modbus TCP, RTU and RTU over TCP. A modern alternative to Modbus… The licence is MIT.
Read from SKILL.md and the folder at commit 3313c0f. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
gityarnFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use git and yarn, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Prose loads about 2.1k tokens when it runs, and up to ~3k if it reads all its reference files. Until then it costs about 105 tokens; SKILL.md has 1,210 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from ploxc/modbux at commit 3313c0f, republished under its MIT licence (© ploxc). 1,210 words, ~2,063 tokens.
.claude/skills/prose/SKILL.md (or your agent's skills folder). This skill also uses 2 other files; get the full folder from GitHub.Is it code? Skip. Everything else gets read back sentence by sentence before it stands, and a claim you did not measure does not stay.
You just wrote a sentence containing one of these. Run its command now.
| the sentence contains | the command |
|---|---|
| a quoted message — a snackbar, an error, test output | run it and copy the line out of the output |
| a number — including "both", "all three", "each", "the only remaining" | the command that counts it, pasted with its output |
| a reference — a file, a symbol, a commit | git show <ref>:<file> and grep -rn '<symbol>' src/ |
| a cause — "because", "this closes", "it is missing X" | grep -rn '<symbol>' src/ over every caller, and show both sides |
| a date or an order — "pre-existing", "added after", "still" | git log -S '<text>' --format='%h %ad %s' --date=short |
| a qualifier — "mostly", "except", a parenthesis | read the hedge back; ask whether the claim in front survives |
| the shape of the code — "X now calls Y", "the copy is gone" | grep and git diff, never a green suite |
| a command the reader is told to run | run it, and read its output the way its reader will |
| you are adding to a comment or a section that already exists | read the whole block first — see read the block below |
A fact from outside this repository has no command here. Cite the source, or cut the sentence.
To quote something the app says, find it rather than remember it:
grep -rn "message:" src/main src/renderer/src --include=*.ts --include=*.tsx | grep -v __tests__Four ways it is still wrong:
yarn lint | tail -5 prints nothing
useful when lint failed on a file you did not open.No hand-written figure goes into prose. Not a careful one, not a checked one, not one you just measured.
The default is not to count. A sentence with no number in it is the one to
write unless counting earns its place. "The suite is green", "its callers are
AddButtons, DeleteButton and the edit submit" — neither can go stale.
"Did you measure it" is the wrong gate, and it passes the failures. A measured figure fails when the command counted one set and the sentence names another. So the question is not did I run it but which set did the command count, and is that the noun in the sentence?
A figure about work in progress does not go in at all — steps done, files left, lines in your own diff. It is a prediction, and it is wrong before the commit lands.
Editing a sentence that states a measurement is writing it. Reflowing or trimming does not make the measurement true again. Run the command again, or cut the sentence.
The reader has the diff. Files, functions, call sites — git show answers all
of it, correctly, forever.
Naming a mechanism is a count too: "the linter would catch it", "nothing else reads this" — a claim about a set you did not enumerate.
Check the last item in any list of three. The first two get verified and the third rides along on the pattern they set.
The unit is the block, not the sentence you just wrote. Every sentence in a long comment was justified on the day it was added, and nobody reads the whole thing — so a comment grows by accretion and never shrinks.
Before the sentence stands, read the whole comment block, the whole section:
CONTRIBUTING.md says what
the rules are. Prose repeating one of those is a second copy that drifts.A comment that survives a move has not been re-read. A section banner introduces the thing under it; after any split or reorder, check that it still names what follows.
What it costs is paid by a reviewer, and it is more than one reading. Two comments in one block that disagree cost a second measurement, because the only way to tell which is the false claim is to go and run the thing.
In a test file, the sentence naming what the test discriminates stays and the incident that produced it goes.
What the code was is not what it does. A prop that is gone, a ref that no longer exists, a test that was deleted, an alternative nobody is about to retry: that is the file's diary, and git holds it. The commit message is where it goes. What survives in the comment is the mechanism as it stands, and a past state earns a line only where a reader would otherwise undo the change.
Ask of each sentence:
CLAUDE.md has the test.| what | how long |
|---|---|
| a commit message | what changed and why. The evidence is in the diff, not here |
| a CHANGELOG entry | what a user can now do. Grouped by feature, never by code change |
| a code comment | what the reader cannot see from the code. If it argues, cut it |
| an issue reply | casual, brief, first person. No release-notes formatting |
No line number. It goes wrong on the next edit above it, and the reader has to search for the symbol anyway. Name the file and the symbol.
No em dash in anything a person reads — product copy, README, release notes, CHANGELOG, issue replies. Never search and replace: each sentence gets its own fix, a comma, a colon, a full stop, or a rewrite. An em dash usually marks a sentence that wants restructuring anyway.
English in the repository, Dutch in the chat.
Two passes, then stop: the commands, and the shortening. Do not read it a third time to make it sound better. Do not soften a sentence that survived, and do not add a hedge to one you now feel less sure about — go and measure it instead.
© ploxc, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 2 other files (references) in .claude/skills/prose of ploxc/modbux.
Open the folder on GitHubat commit 3313c0f
Prose next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Prose this skillploxc/modbux | 108 | — | ~2.1k | Automated safety check: Pass | MIT | |
| CommitLennartHennigs/Button2 | 565 | — | ~562 | Automated safety check: Pass | MIT | |
| CommitLennartHennigs/ESPRotary | 188 | — | ~590 | Automated safety check: Pass | MIT | |
| Fantasia Final Cleanupvishiri/fantasia-archive | 409 | — | ~1.2k | Automated safety check: Pass | GPL-3.0 | |
| React Router Release Notes Prepremix-run/react-router | 57k | — | ~1.1k | Automated safety check: Pass | MIT | |
| Git Workflow and Versioningaddyosmani/agent-skills | 102k | 2 repos | ~3.5k | Automated safety check: Notes | MIT |
LennartHennigs/Button2
Stage and commit current changes for Button2 — checks for needed CHANGELOG/README/CLAUDE.md updates, creates a branch if on master, writes a commit message, and commits
LennartHennigs/ESPRotary
Stage and commit current changes for ESPRotary — checks for needed CHANGELOG/README/CLAUDE.md updates, creates a branch if on master, writes a commit message, and commits
vishiri/fantasia-archive
End-of-batch ship workflow for Fantasia Archive: run full yarn testbatch:verify (not dev scoped gate), fix failures, sync README/AGENTS/rules/skills from Git changes, update in-app changelog, split…
remix-run/react-router
Polishes pending React Router change files before the versioning scripts run, and decides whether a long-form What's Changed section is warranted.
addyosmani/agent-skills
Sets git habits for every change: short-lived branches, atomic commits with descriptive messages, clean pull requests, plus versioning, tagging and changelogs for releases.
verdaccio/verdaccio
Takes a change through a verdaccio pull request: branch, local checks, changeset, title and body, labels, CI and review rounds, and ports to other release lines.
ploxc/modbux
Audit one area of Modbux against the eight criteria and write the findings to tmp/AUDIT-<area.md, changing no code.
ploxc/modbux
Run the checklist before committing or merging — read the diff, lint, typecheck, the unit suite, the e2e specs the change touches, then report and commit.
ploxc/modbux
Empty a session into files before its context goes — decide with the user what gets written down, write it, and only then say what the next session needs.
ploxc/modbux
Route something you want to record to the place that holds it — TODO.md, a GitHub issue, the memory directory, or the plan in flight.
Works with
Categories
Measure a sentence you just wrote against the thing it describes, then prune the block it lands in. Prose is an agent skill from ploxc/modbux. Measure a sentence you just wrote against the thing it describes, then prune the block it lands in.
Prose fits situations like: tasks that involve Commit messages; tasks that involve Technical documentation; tasks that involve Changelog and release notes.
Run `npx skills add ploxc/modbux --skill prose -a claude-code`. Or copy the skill folder (.claude/skills/prose in ploxc/modbux) into .claude/skills/prose in your project. Claude Code loads it when a task matches its description.
Run `npx skills add ploxc/modbux --skill prose -a codex`. Or copy the skill folder (.claude/skills/prose in ploxc/modbux) into .agents/skills/prose in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add ploxc/modbux --skill prose -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/prose, .gemini/skills/prose, .github/skills/prose and .opencode/skills/prose in your project.
Going by SKILL.md and its folder, Prose needs the command-line tools its instructions call (git and yarn).
SKILL.md contains no URLs. Its commands use git, which can reach the network depending on how they are called. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Prose is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.1k tokens (SKILL.md is roughly 8.3k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 959 tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Prose: Commit (LennartHennigs/Button2, 565 stars), Commit (LennartHennigs/ESPRotary, 188 stars), Fantasia Final Cleanup (vishiri/fantasia-archive, 409 stars) and React Router Release Notes Prep (remix-run/react-router, 57k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
ploxc (a GitHub organization) maintains it in ploxc/modbux, which has 108 GitHub stars. The repository holds 5 skills in this directory. The repository was last updated on October 6, 2026.
Source: ploxc/modbux on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.