Agent skill

Prose

by ploxc in ploxc/modbux

Measure a sentence you just wrote against the thing it describes, then prune the block it lands in.

MITAuto-check passedDevelopment

Install Prose

skills CLI
$ npx skills add ploxc/modbux --skill prose -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install ploxc/modbux prose --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ 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-src

Use ~/.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/

Facts

Skill name
prose
GitHub stars
108
Token cost
~2.1k tokens
SKILL.md length
1,210 words
Files
3 (incl. references)
Skills in repo
5
Repo updated
First seen
Licence
MIT

At a glance

Measure a sentence you just wrote against the thing it describes, then prune the block it lands in.

  • Tasks that involve Commit messages
  • SKILL.md covers The trigger, The command you paste, Figures and Then: read the block your…, plus 5 more sections
  • Calls git and yarn
  • Tasks that involve Technical documentation

What it does

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.

When your agent uses it

  • Tasks that involve Commit messages
  • Tasks that involve Technical documentation
  • Tasks that involve Changelog and release notes

Example prompts

  • “/prose”

What it can do on your machine

Read from SKILL.md and the folder at commit 3313c0f. It shows what the files ask for, not the result of running them.

  • Tool permissions

    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.

  • Runs code

    Shell commands in SKILL.md call:

    • git
    • yarn

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    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.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

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.

Always · name and description, kept in context so the agent knows when to use it
~105
When it runs · the whole SKILL.md, loaded when a task matches
~2.1k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~3k

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.

Safety

Auto-check passed

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.

SKILL.md

The full file from ploxc/modbux at commit 3313c0f, republished under its MIT licence (© ploxc). 1,210 words, ~2,063 tokens.

Download SKILL.mdSave it as .claude/skills/prose/SKILL.md (or your agent's skills folder). This skill also uses 2 other files; get the full folder from GitHub.
name
prose
description
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.

Prose

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.

The trigger

You just wrote a sentence containing one of these. Run its command now.

the sentence containsthe command
a quoted message — a snackbar, an error, test outputrun 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 commitgit 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 parenthesisread 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 runrun it, and read its output the way its reader will
you are adding to a comment or a section that already existsread 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:

sh
grep -rn "message:" src/main src/renderer/src --include=*.ts --include=*.tsx | grep -v __tests__

The command you paste

Four ways it is still wrong:

  • It did not run. Read the exit code. yarn lint | tail -5 prints nothing useful when lint failed on a file you did not open.
  • It answered a different question. Read your sentence's noun, read what came back, and say whether they are the same set.
  • It could not have contradicted you. Searching for the fix never returns a site that needs it. Search the population — every call, every caller.
  • It matched the sentence you were writing. Run the search before you paste it into a file and again after, and see whether the number moved.

Figures

→ WHY: figures

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.

Show full SKILL.md (618 more words)Show less

Then: read the block your sentence lands in, and cut it

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:

  • Does your addition make something above it redundant? A correction supersedes what it corrects. Delete the superseded half; do not leave both and let the reader work out which is current.
  • Is any of it now held by something that cannot go stale? A Zod schema says what a shape is, a test says what the code does, CONTRIBUTING.md says what the rules are. Prose repeating one of those is a second copy that drifts.
  • What would a reader lose if the block were three sentences? Write those three. If nothing is lost, that is the block.

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.

Then: can this be written with fewer sentences?

Ask of each sentence:

  • Cover it. Does anything change for the reader? No — cut it.
  • Is it narration? CLAUDE.md has the test.
  • Does a test or a schema already hold this fact? Then it needs no prose.
  • Is this the third rewrite of this paragraph? Delete it.
whathow long
a commit messagewhat changed and why. The evidence is in the diff, not here
a CHANGELOG entrywhat a user can now do. Grouped by feature, never by code change
a code commentwhat the reader cannot see from the code. If it argues, cut it
an issue replycasual, brief, first person. No release-notes formatting

References

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.

The form

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.

Sentences with nothing to measure

  • Description, not assertion — "this maps the register list into rows" describes code the reader can see.
  • Reasoning about a decision — "one selector per field is easier to read" can be disagreed with; it cannot be wrong.

Stop

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

Files

SKILL.md and 2 other files (references) in .claude/skills/prose of ploxc/modbux.

  • SKILL.md
  • references/figures.md
  • references/the-block-not-the-sentence.md

Open the folder on GitHubat commit 3313c0f

Compare with similar skills

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.

Prose compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Prose this skillploxc/modbux108—~2.1kAutomated safety check: PassMIT
CommitLennartHennigs/Button2565—~562Automated safety check: PassMIT
CommitLennartHennigs/ESPRotary188—~590Automated safety check: PassMIT
Fantasia Final Cleanupvishiri/fantasia-archive409—~1.2kAutomated safety check: PassGPL-3.0
React Router Release Notes Prepremix-run/react-router57k—~1.1kAutomated safety check: PassMIT
Git Workflow and Versioningaddyosmani/agent-skills102k2 repos~3.5kAutomated safety check: NotesMIT

Similar skills

  • 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

    565 GitHub stars~562 tokensUpdated 4 mo ago
    DevelopmentAuto-check passed
  • Commit

    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

    188 GitHub stars~590 tokensUpdated 2 mo ago
    DevelopmentAuto-check passed
  • Fantasia Final Cleanup

    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…

    409 GitHub stars~1.2k tokensUpdated 6 days ago
    DevelopmentAuto-check passed
  • React Router Release Notes Prep

    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.

    57k GitHub stars~1.1k tokensUpdated yesterday
    DevelopmentAuto-check passed
  • Git Workflow and Versioning

    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.

    102k GitHub starsUsed in 2 repos~3.5k tokens
    DevelopmentAuto-check: notes
  • 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.

    18k GitHub stars~1.9k tokensUpdated yesterday
    DevelopmentAuto-check passed

More from ploxc/modbux

  • Audit

    ploxc/modbux

    Audit one area of Modbux against the eight criteria and write the findings to tmp/AUDIT-<area.md, changing no code.

    108 GitHub stars~2.9k tokensUpdated yesterday
    Auto-check passed
  • Precommit

    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.

    108 GitHub stars~1.5k tokensUpdated yesterday
    Auto-check passed
  • Handover

    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.

    108 GitHub stars~1.3k tokensUpdated yesterday
    Auto-check passed
  • Todo

    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.

    108 GitHub stars~898 tokensUpdated yesterday
    Auto-check passed

Works with

Categories

Questions about Prose

What does Prose do?

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.

When should I use Prose?

Prose fits situations like: tasks that involve Commit messages; tasks that involve Technical documentation; tasks that involve Changelog and release notes.

How do I install Prose in Claude Code?

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.

How do I install Prose in Codex?

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.

Can I use Prose in Cursor, Gemini CLI or GitHub Copilot?

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.

What does Prose need to run?

Going by SKILL.md and its folder, Prose needs the command-line tools its instructions call (git and yarn).

Does Prose access the network?

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.

Is Prose safe to install?

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.

What licence does Prose use?

Prose is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Prose use?

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.

What are the alternatives to Prose?

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.

Who maintains Prose?

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.