Vercel Composition Patterns
supabase/supabase
React composition patterns that scale. An agent skill from supabase/supabase.
Audit one area of Modbux against the eight criteria and write the findings to tmp/AUDIT-<area.md, changing no code.
$ npx skills add ploxc/modbux --skill audit -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install ploxc/modbux audit --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/audit .claude/skills/audit && 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 "audit" agent skill from https://github.com/ploxc/modbux/tree/main/.claude/skills/audit into .claude/skills/audit/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "audit", 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/auditType 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 audit -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install ploxc/modbux audit --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/audit .agents/skills/audit && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "audit" agent skill from https://github.com/ploxc/modbux/tree/main/.claude/skills/audit into .agents/skills/audit/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "audit", 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 audit -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install ploxc/modbux audit --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/audit .cursor/skills/audit && 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 "audit" agent skill from https://github.com/ploxc/modbux/tree/main/.claude/skills/audit into .cursor/skills/audit/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "audit", 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/audit--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 audit -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install ploxc/modbux audit --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/audit .gemini/skills/audit && 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 "audit" agent skill from https://github.com/ploxc/modbux/tree/main/.claude/skills/audit into .gemini/skills/audit/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "audit", 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 auditInstalls 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 audit -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/audit .github/skills/audit && 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 "audit" agent skill from https://github.com/ploxc/modbux/tree/main/.claude/skills/audit into .github/skills/audit/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "audit", 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 audit -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 audit --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/audit .opencode/skills/audit && 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 "audit" agent skill from https://github.com/ploxc/modbux/tree/main/.claude/skills/audit into .opencode/skills/audit/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "audit", 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.
auditAudit one area of Modbux against the eight criteria and write the findings to tmp/AUDIT-<area.md, changing no code.
Audit is an agent skill from ploxc/modbux. Audit one area of Modbux against the eight criteria and write the findings to tmp/AUDIT-<area.md, changing no code. Use when the user asks to audit or assess an area, or to re-check one after changes. Do NOT use to review a branch or your own diff — that is /code-review; and do NOT use to execute a finished audit, which is a separate session with fresh context.
Its SKILL.md is about 2.9k tokens, which your agent loads only when the skill is triggered. The skill folder holds 4 other files, including reference files (for example `references/a-meter-is-a-claim.md`, `references/one-bug-three-reports.md` and `references/read-the-library.md`).
It sits in Development. 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.
8 steps, taken from the first numbered list in SKILL.md.
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:
npxFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use npx, 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.
Audit loads about 2.9k tokens when it runs, and up to ~4.4k if it reads all its reference files. Until then it costs about 93 tokens; SKILL.md has 1,409 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,409 words, ~2,914 tokens.
.claude/skills/audit/SKILL.md (or your agent's skills folder). This skill also uses 3 other files; get the full folder from GitHub.Read-only with respect to code. The only file this writes is
tmp/AUDIT-<area>.md, which is gitignored. Every improvement you spot becomes a
finding, including the one-line obvious ones.
Split by what the code shares, not by directory size. One area per run.
| area | what it is |
|---|---|
modbus | main/modules/modbusClient.ts, modbusServer.ts and modbusServer/ |
boundary | main/ipc.ts, preload/, shared/types/ipc.ts, main/state.ts, main/windows.ts |
shared | shared/ minus types/ipc.ts: schemas, migrations, pure helpers |
stores | renderer/src/context/ |
client-ui | renderer/src/components/client/ |
server-ui | renderer/src/components/server/, components/shared/, containers/ |
Read CLAUDE.md, CONTRIBUTING.md and src/__tests__/conformance.test.ts.
The suite already asserts thirteen conventions. Do not report what it asserts — it is green, so those are closed. Audit what a test cannot see.
Apply all eight. Do not merge them and do not skip the cosmetic ones.
What the conformance suite cannot see. The store-versus-component IPC rule, the folder-per-component judgement, and anything else CONTRIBUTING states as prose under The rules no test can see.
Duplication. Search for the shape, not the name. Two functions doing one job often share no word, so a search for what one is called returns neither. Report identical copies too, because they diverge later. A duplication claim carries its own burden of proof, under Verification. → WHY: a meter is a claim too
Dead code. Unused exports, unreachable branches, config entries pointing at deleted paths, comments naming files that are gone.
Deferred comments. Every TODO, FIXME, for now, later, until we,
with its exact location and text.
Test coverage. What is not covered. Think like someone with a field device, not like the author: a unit id of 0 and of 248, an address at 65535 with a data type needing four registers, a serial port that disappears mid-read, a config file from two versions ago.
File size and module shape. Four files stand clear of the rest, and the distribution is the argument rather than any number you pick:
find src -name '*.ts' -o -name '*.tsx' | grep -v __tests__ | xargs wc -l | sort -rn | headPropose a split only along a real responsibility boundary, never on length alone. Count code lines and test lines separately: a file that looks like the worst offender is sometimes a thin one with a large test block bolted on, and the two call for opposite conclusions.
Architecture fit. Does this block RTU over TCP, a second client, the
gateway idea, or anything CHANGELOG.md says is coming?
What modbus-serial actually does. For modbus, boundary and shared:
every assumption this code makes about the library is checked against
node_modules/modbus-serial/, not against its README. Two of this project's
sharper findings came from that gap.
→ WHY: read the library, not its README
Build first. A reproduction against a stale bundle looks like a measurement and is not one:
npx electron-vite buildThen drive it. The e2e fixtures already stand up a server, a client and a socat serial pair:
npx playwright test e2e/specs/01-main/<nn>-<name>.spec.tsFor a claim about the wire, a scratch spec beats reading. For a claim about a
schema or a pure helper, npx vitest run <file> in a scratch test is faster than
either.
A reproduced defect beats ten lines of reading. Delete your scratch files when you are done.
Every finding is a heading in this exact form, and then the fields under it:
### <ID> · `<file> <symbol>` · criterion <1-8> · <severity> · size <S|M|L> · reproducedThe ID is the area's initial and a number: F1, CU-01, B-04. Drop
reproduced when you did not run it.
The heading is the form, not a suggestion. Six agents were given the field list and five wrote the same heading; the sixth used numbered titles with the fields as bullets, and a grep for severity across the six documents found nothing in that one. The document was fine and the count was wrong.
Under the heading: claim (one sentence) · evidence (the code, or the command
and its output) · proposal · recipe if reproduced.
severity — what the app does to a user decides it, not how much it annoys you.
| blocking | A user gets a wrong answer, a crash, or lost configuration. A malformed frame reaching the socket. A register read as the wrong type. Also: dead code that makes something look covered when it is not. |
| annoying | Right behaviour, wrong construction. Duplication, a rule enforced in one of two places, untested logic. Nothing a user sees today; the next change here is where it bites. |
| cosmetic | Neither. A stale comment, an unused export, a name that misleads. |
size — how much work the proposal is, not how large the defect is. S is one file and no decision. M touches several call sites or needs a small decision you can make from the area alone. L needs a decision that is not yours: a protocol question, a persisted shape, or anything crossing two areas.
Give the exact recipe if you reproduced it — the file contents and the command, complete enough to paste. A recipe that does not work as written is worse than none, because the next person dismisses a real defect.
Anchor on the symbol, not the line. modbusClient.ts readRegisters, not
modbusClient.ts:412. A line number is right for one commit; the symbol keeps
working. The exception is inside a finding's evidence, where the line is what
makes it checkable.
Do not record a file's size as a number. A size is worth writing only as an argument: past the threshold, and here is why it is still one file.
A document listing only defects leaves the reader unable to tell "examined and correct" from "not looked at". Say what you read and what held, briefly.
A claim you could not settle is an open question, labelled as one. Not a finding.
Every finding goes to a second agent whose job is to break it. That is not a reviewer looking for problems; it is handed a claim and asked to demonstrate it wrong.
The bar for rejection is high. A wrong finding costs one look; a dropped correct one costs a defect in a released build. When in doubt: unconfirmed. No verdict returned counts as kept, never as rejected.
Two exceptions, where the burden runs the other way:
| part | trust |
|---|---|
| the file, the symbol, the evidence | high, and verifiable |
| the claim, if reproduced | high |
| the claim, if only read | good |
| the recipe | low — the most common defect in an audit is a recipe describing an input that does not trigger the behaviour |
| the proposal | low — a guess by someone who did not read the rest of the file |
| any summary or state | low — a compression, and compressions interpret |
Open the file, reproduce, then decide. Being written down is not evidence.
Group the blocking findings by cause before anyone fixes them. Six areas audited in parallel produced 28 blocking findings that turned out to be thirteen causes, and three of those thirteen were invisible from any single document. → WHY: the same bug from three directions
Write tmp/AUDIT-clusters.md: one section per cause, naming the findings it
holds, what they share, and what a fix has to settle. Keep the per-finding
evidence where it is; the cluster document points, it does not copy.
Check every blocking finding reaches the document:
for a in <areas>; do
grep -E '^#{3,4} .*· blocking' tmp/AUDIT-$a.md | sed 's/^#* *//;s/ ·.*//' | while read id; do
grep -q "$a/$id" tmp/AUDIT-clusters.md || echo "missing: $a/$id"
done
doneA wrong grouping is a new way to be wrong. A cluster that is really two causes gets fixed as one and half of it survives, so the refutation reviewer is asked to break the grouping as well as the claims.
A cluster's size is not the largest size inside it. Each finding was sized inside one area by someone who could not see the others. Four of the thirteen here needed a decision that fits in no single area, which is size L whatever the findings said.
The document path, then one line per finding: severity, symbol, claim. Then stop. Proposing is the whole job, and the session that proved a defect is the worst one to fix it: it is invested in the finding and has read past everything it already dismissed.
© 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 3 other files (references) in .claude/skills/audit of ploxc/modbux.
Open the folder on GitHubat commit 3313c0f
Audit 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 |
|---|---|---|---|---|---|---|
| Audit this skillploxc/modbux | 109 | — | ~2.9k | Automated safety check: Pass | MIT | |
| Vercel Composition Patternssupabase/supabase | 111k | 59 repos | ~726 | Automated safety check: Pass | MIT | |
| Finishing a Development Branchobra/superpowers | 296k | 5 repos | ~1.9k | Automated safety check: Pass | MIT | |
| Typescript Advanced Typesrolling-scopes/rsschool-app | 10k | 25 repos | ~4.2k | Automated safety check: Pass | MPL-2.0 | |
| PR Babysitteropeninterpreter/openinterpreter | 69k | 3 repos | ~4.2k | Automated safety check: Pass | Apache-2.0 | |
| Code Review ChecklistshareAI-lab/learn-claude-code | 78k | 5 repos | ~1.1k | Automated safety check: Pass | MIT |
supabase/supabase
React composition patterns that scale. An agent skill from supabase/supabase.
obra/superpowers
Walks the last step of a branch: confirm tests pass, detect the git environment, ask how to integrate, carry out your choice and clean up the worktree.
rolling-scopes/rsschool-app
Master TypeScript's advanced type system including generics, conditional types, mapped types, template literals, and utility types for building type-safe applications.
openinterpreter/openinterpreter
Watches an open GitHub pull request until it merges, handling review comments, diagnosing CI failures and retrying flaky checks along the way.
shareAI-lab/learn-claude-code
Reviews code against a five-part checklist covering security, correctness, performance, maintainability and testing, and reports findings in a fixed format.
onyx-dot-app/onyx
Iteratively improves a PR (GitHub), MR (GitLab), or shelved changelist (Perforce) until Greptile gives it a 5/5 confidence score with zero unresolved comments.
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
Measure a sentence you just wrote against the thing it describes, then prune the block it lands in.
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.
Categories
Audit one area of Modbux against the eight criteria and write the findings to tmp/AUDIT-<area.md, changing no code. Audit is an agent skill from ploxc/modbux.md, changing no code.
Audit fits situations like: the user asks to audit; re-check one after changes; review a branch; your own diff — that is /code-review.
Run `npx skills add ploxc/modbux --skill audit -a claude-code`. Or copy the skill folder (.claude/skills/audit in ploxc/modbux) into .claude/skills/audit in your project. Claude Code loads it when a task matches its description.
Run `npx skills add ploxc/modbux --skill audit -a codex`. Or copy the skill folder (.claude/skills/audit in ploxc/modbux) into .agents/skills/audit 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 audit -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/audit, .gemini/skills/audit, .github/skills/audit and .opencode/skills/audit in your project.
Going by SKILL.md and its folder, Audit needs the command-line tools its instructions call (npx). Our summary lists: Node.js.
SKILL.md contains no URLs. Its commands use npx, 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.
Audit 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.9k tokens (SKILL.md is roughly 12k 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 1.5k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Audit: Vercel Composition Patterns (supabase/supabase, 111k stars), Finishing a Development Branch (obra/superpowers, 296k stars), Typescript Advanced Types (rolling-scopes/rsschool-app, 10k stars) and PR Babysitter (openinterpreter/openinterpreter, 69k 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 109 GitHub stars. The repository holds 5 skills in this directory. The repository was last updated on October 7, 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.