Before you publish. Before you merge. One more pass.
One More Pass is a private plugin for final reviews. It has exactly two skills:
- Writing edits existing prose while protecting facts, logic, uncertainty, quantities, quotations, code, URLs, identifiers, and voice.
- Code reviews a diff, implementation, package, pull request, or release for defects, weak proof, unsafe assumptions, and release risk.
The installable plugin lives at plugins/one-more-pass. The repository root holds tests, plans, release notes, and marketplace files. Those files are not copied into the installed plugin.
In Codex, use $one-more-pass:writing. In Claude Code, use /one-more-pass:writing.
Run Writing when existing prose needs a final edit or review. A rewrite returns revised prose in chat unless the user identifies a file and asks for an edit. A review returns findings without rewriting the prose. Writing does not review code behavior and does not judge who or what wrote the text.
Writing stays out of blank-page work. Start new prose with the client's normal writing support. Once text exists, use Writing for the final pass.
In Codex, use $one-more-pass:code. In Claude Code, use /one-more-pass:code.
Run Code for a final review of code or a release. It checks the change against the stated behavior, tests, safety rules, and release requirements. It does not implement a feature or debug an unknown failure.
When a request includes code and public prose, run Code first. Run Writing after the behavior review is complete.
The commands below use the private marketplace name one-more-pass-private.
Use an absolute path to the repository root:
codex plugin marketplace add /absolute/path/to/one-more-pass
codex plugin add one-more-pass@one-more-pass-privateAfter local changes, reinstall the plugin so Codex copies the current runtime:
codex plugin remove one-more-pass@one-more-pass-private
codex plugin add one-more-pass@one-more-pass-privateRemove the plugin and its marketplace entry:
codex plugin remove one-more-pass@one-more-pass-private
codex plugin marketplace remove one-more-pass-privateYour Git setup must already have access to the private repository.
codex plugin marketplace add git@github.com:marklearst/one-more-pass.git --ref main
codex plugin add one-more-pass@one-more-pass-privateRefresh the Git checkout, then reinstall the plugin:
codex plugin marketplace upgrade one-more-pass-private
codex plugin remove one-more-pass@one-more-pass-private
codex plugin add one-more-pass@one-more-pass-privateThe removal commands are the same as the local workflow.
These examples install the plugin for the current user. Replace user with project or local when that scope is a better fit.
claude plugin marketplace add /absolute/path/to/one-more-pass --scope user
claude plugin install one-more-pass@one-more-pass-private --scope userAfter increasing the plugin version, update the marketplace and installed copy:
claude plugin marketplace update one-more-pass-private
claude plugin update one-more-pass@one-more-pass-private --scope userRun /reload-plugins in an open Claude Code session. Restart Claude Code if that command is unavailable or the updated plugin does not appear.
For local work before a version change, load the nested plugin for one session:
claude --plugin-dir /absolute/path/to/one-more-pass/plugins/one-more-passRemove the plugin and its marketplace entry:
claude plugin uninstall one-more-pass@one-more-pass-private --scope user
claude plugin marketplace remove one-more-pass-private --scope userYour Git setup must already have access to the private repository.
claude plugin marketplace add git@github.com:marklearst/one-more-pass.git#main --scope user
claude plugin install one-more-pass@one-more-pass-private --scope userRefresh and update the Git-backed install:
claude plugin marketplace update one-more-pass-private
claude plugin update one-more-pass@one-more-pass-private --scope userRun /reload-plugins in an open Claude Code session. Restart Claude Code if that command is unavailable or the updated plugin does not appear.
Remove the plugin and its marketplace entry:
claude plugin uninstall one-more-pass@one-more-pass-private --scope user
claude plugin marketplace remove one-more-pass-private --scope userEach skill includes a read-only Python scanner. The scanners accept named files or standard input, use the Python standard library, and do not modify source files.
From the repository root:
python3 plugins/one-more-pass/skills/writing/scripts/scan.py README.md
git diff --no-ext-diff | python3 plugins/one-more-pass/skills/code/scripts/scan.py --diff -A scanner match is a signal to review, not proof of a defect or proof of authorship. A clean scan is not release approval. The skill instructions explain how to locate the same scripts inside an installed plugin.
Run the full test suite from the repository root:
python3 -m unittest discover -s tests -vCheck the installable file list and its package hash:
python3 scripts/list-runtime-files.pyValidate the Claude Code marketplace and nested plugin manifest:
claude plugin validate . --strict
claude plugin validate plugins/one-more-pass --strictCodex validates the marketplace when codex plugin marketplace add runs. The release checklist shows how to test both clients without changing the normal client setup.
plugins/one-more-pass/
├── .claude-plugin/plugin.json
├── .codex-plugin/plugin.json
├── LICENSE
└── skills/
├── writing/
│ ├── SKILL.md
│ ├── agents/openai.yaml
│ ├── references/
│ └── scripts/scan.py
└── code/
├── SKILL.md
├── agents/openai.yaml
├── references/
└── scripts/scan.py
- Stop Slop by Hardik Pandya
- One More Pass by Mark Learst
MIT. See LICENSE.