latex-revision
Run a revision pass over a LaTeX manuscript with colour-marked changes.
Skill by michakraus
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/michakraus-latex-revision
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: documents, research
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/latex-revision
What's inside
- Skill name
latex-revision- Description
- Run a revision pass over a LaTeX manuscript with colour-marked changes. Triggers on: revise this paper, do a revision pass, mark the changes, \fixed, \added, \rev, markchanges, address the referee report, respond to the reviewers, which changes are still unreviewed, strip the change markings, typeset it clean. Covers the marking macros, the colour lifecycle, and the scripts/ verification convention.
- License
- MIT
- Instructions
- 92 lines in SKILL.md · view on GitHub
Files (1)
- SKILL.md
SKILL.md (first lines)
# LaTeX revision passes
Changes to a manuscript are **colour-marked**, and the markings are a **review queue**: a
marked passage is one the author has not yet accepted. Removing the colour asserts it was
reviewed. That is the whole point of the mechanism, and the reason a "tidy up the markup" pass
is destructive.
## The preamble block
A shared preamble that the document inputs may define this block already, with the colours
below. Then the document adds only the dated comment of the pass, and a new colour where a pass
needs one; a second definition stops LaTeX with `Command \fixed already defined`.
```latex
% Verification pass <date>: corrections and additions are colour-marked.
% Set \markchangesfalse to typeset the document clean.
\newif\ifmarkchanges \markchangestrue
\definecolor{fixcolor}{rgb}{0.70,0.10,0.10} % corrected existing material
\definecolor{addcolor}{rgb}{0.10,0.25,0.70} % newly added material
\newcommand{\fixed}[1]{\ifmarkchanges\textcolor{fixcolor}{#1}\else#1\fi}
\newcommand{\added}[1]{\ifmarkchanges\textcolor{addcolor}{#1}\else#1\fi}
\newenvironment{addedblock}{\ifmarkchanges\color{addcolor}\fi}{}
\newcommand{\fixmath}{\ifmarkchanges\color{fixcolor}\fi}
\newcommand{\addmath}{\ifmarkchanges\color{addcolor}\fi}
```
A later pass adds a **third colour**, so that round is distinguishable from material already
accepted:
```latex
\definecolor{revcolor}{rgb}{0.05,0.45,0.20} % this pass
\newcommand{\rev}[1]{\ifmarkchanges\textcolor{revcolor}{#1}\else#1\fi}
\newenvironment{revblock}{\ifmarkchanges\color{revcolor}\fi}{}
\newcommand{\revmath}{\ifmarkchanges\color{revcolor}\fi}
```
Note the environment is **not** called `newblock`: `\newblock` is a LaTeX bibliography command
and `plainnat` uses it.
## Lifecycle
| state | meaning |
|:------|:--------|
| wrapped in this pass's colour | new, awaiting review |
| wrapped in an older colour | from an earlier pass, still unaccepted |
| unwrapped | **accepted** |
Rules:
- **Never strip a marker you did not resolve.** Stripping is the accept action.
- A new pass gets a **new colour**. Reusing the previous one destroys the distinction between
what has been reviewed and what has not.
- Use `\fixed` for corrected existing material and `\added` for genuinely new material — the
two colours answer different questions during review.
- Inside displayed maths use `\fixmath` / `\addmath` / `\revmath`; `\textcolor` does not survive
every maths context.
- `\markchangesfalse` typesets clean. Do **not** delete the macros to produce a clean build.
## Every claim gets a script
```latex
\newcommand{\us}{\_\allowbreak} % underscore that permits a line break
\newcommand{\script}[1]{\texttt{#1}}
```
A derivation, identity, constant or convergence statement is checked by a script in `scripts/`
and cited with `\script{}`. Julia, per the global rule — `SymPyPythonCall.jl` only where Julia
has no equivalent, harness in Julia.
**A control that cannot fail proves nothing.** The recorded case: `so(3)` used as a Jacobi
control satisfies the identity because it is Bianchi class A, a reason unrelated to the
property under test. It passed for everything, including what it was meant to exclude, and an
erratum followed. State what would make each check fail, and run that case too.
## The author reorganises deliberately
Moved, reordered or rewritten text is an authorial decision, not drift. Fix only what the move
broke — a dangling `\ref`, a duplicated sentence, a now-unused macro. Do not restore the
previous order and do not rewrite prose you were not asked about.
## Frozen snapshots
`arXiv_v1` and its siblings are what was submitted. They do not change — not the `.tex`, not the
`.bib`, not during a bibliography consolidation.
## Report
List, per pass: what was marked and in which colour, what was stripped (i.e. accepted) and on
whose instruction, which claims got a new `scripts/` check, and what was left marked for the
author. Never strip on your own initiative.From michakraus/ResearchHarness, MIT.
More from michakraus/ResearchHarness
- 0.598score
plan-parts
michakraus
Plan work as parts that are each one pull request, and write each part's spec so that the builder-critic loop can build it and judge it: the parts table, the…
SkillAFreshness: A★ 2Claude Code +9 - 0.598score
build-reviewed
michakraus
Build one part of a decomposed task file whose tier cell is reviewed: one part-builder, one blind part-critic, at most one fix round by a new part-builder…
SkillAFreshness: A★ 2Claude Code +9 - 0.598score
julia-package-audit
michakraus
Audit the correctness and code quality of a whole Julia package, and return one findings report in a fixed format: type piracy, type instabilities, avoidable…
SkillAFreshness: A★ 2Claude Code +9 - 0.598score
julia-performance
michakraus
Measure Julia performance so that the number means something: allocations, type stability, timings and before/after comparisons, each in a cold process with…
SkillAFreshness: A★ 2Claude Code +9 - 0.598score
julia-release
michakraus
Release and register a Julia package in the General registry.
SkillAFreshness: A★ 2Claude Code +9 - 0.598score
build-part
michakraus
Run the next part of a decomposed task file through the builder-critic loop.
SkillAFreshness: A★ 2Claude Code +9 - 0.598score
julia-surgical-fix
michakraus
Fix a reported problem in a Julia repository so that the diff holds that fix and nothing else, then check it again: the scope rule, the fix and re-verify…
SkillAFreshness: A★ 2Claude Code +9 - 0.598score
math-verify
michakraus
Check one mathematical statement in Julia, analytically, symbolically or numerically, together with a case that should make the check fail, and keep the check…
SkillAFreshness: A★ 2Claude Code +9 - 0.594score
julia-structure
michakraus
Answer a structural question about Julia code with tools that read it as Julia, not with grep: julia-methods.jl, Kaimon's live session and julia-callers.jl…
SkillAFreshness: A★ 2Claude Code +9 - 0.565score
which-model
michakraus
Probe: report which model runs a typed slash command whose frontmatter names the tier small.
SkillAFreshness: A★ 2Claude Code +9
Signals
- Stars
- 2
- Forks
- 0
- Open issues
- 0
- Last commit (this folder)
- Oct 23, 2026 (5 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/michakraus/ResearchHarness
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from michakraus
- 0.598score
plan-parts
michakraus
Plan work as parts that are each one pull request, and write each part's spec so that the builder-critic loop can build it and judge it: the parts table, the…
SkillAFreshness: A★ 2Claude Code +9 - 0.598score
build-reviewed
michakraus
Build one part of a decomposed task file whose tier cell is reviewed: one part-builder, one blind part-critic, at most one fix round by a new part-builder…
SkillAFreshness: A★ 2Claude Code +9 - 0.598score
julia-package-audit
michakraus
Audit the correctness and code quality of a whole Julia package, and return one findings report in a fixed format: type piracy, type instabilities, avoidable…
SkillAFreshness: A★ 2Claude Code +9 - 0.598score
julia-performance
michakraus
Measure Julia performance so that the number means something: allocations, type stability, timings and before/after comparisons, each in a cold process with…
SkillAFreshness: A★ 2Claude Code +9 - 0.598score
julia-release
michakraus
Release and register a Julia package in the General registry.
SkillAFreshness: A★ 2Claude Code +9 - 0.598score
build-part
michakraus
Run the next part of a decomposed task file through the builder-critic loop.
SkillAFreshness: A★ 2Claude Code +9
Cite this page
latex-revision skill. Agent Mart. https://agentmart.dev/skills/michakraus-latex-revision (last updated 2026-10-24)