bip-edit
Edit prose live with the author, line by line — a TeX manuscript or a blog post.
Skill by matsen
Install
Works with Claude Code. Read the repository before you give any tool access to your data.
npx agentmarket install skill/matsen-bip-edit
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, writing, productivity
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 and code. 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/bip-edit
Tools it pre-approves 9
From allowed-tools in SKILL.md: the agent may use these without asking you each time.
Agent,AskUserQuestion,Bash,Read,Edit,Write,Skill,SendMessage,mcp__pdf-navigator__*
What's inside
- Skill name
bip-edit- Description
- Edit prose live with the author, line by line — a TeX manuscript or a blog post. "Pull and evaluate" a coauthor's commit, "let's work on the abstract/intro/paragraph X", or vet a suggested rewording. Structure first, then sentences; apply-and-show each edit; keep margin notes and the response letter in sync; commit only when asked. Not a batch punch list (/bip-ms-sweep) or a mathematics revision (/bip-ms-math).
- License
- MIT
- Allowed tools
- Agent,, AskUserQuestion,, Bash,, Read,, Edit,, Write,, Skill,, SendMessage,, mcp__pdf-navigator__*
- Instructions
- 126 lines in SKILL.md · view on GitHub
Before installing
- Pre-approves some shell commands
Files (1)
- SKILL.md
SKILL.md (first lines)
# /bip-edit
## Usage
```
/bip-edit main.tex "Introduction"
/bip-edit <post>.md
/bip-edit pull and evaluate
```
## Style source
Style comes from the repo, not from this skill.
Read the repo's `CLAUDE.md`, `AGENTS.md`, and `.claude/rules/`, and every style guide or agent they name (for a TeX paper, usually `scientific-tex-editor`).
Where they and this skill disagree, the repo wins.
If they name no style source, say so once and apply only the checks below.
## Step 0: Orient
Read the whole document with `Read`, not only the target section: you can't judge what an introduction must set up, or whether its promises are kept, without the rest.
Find the response letter if there is one (`ls response*`).
Ask how refined the text is.
A refined draft gets only fixes to what is broken.
Once its structure is settled (Step 1), your first pass over a refined draft is one batch: fix what is broken, audit it, and show the author `git diff --word-diff` before starting the edit loop.
**Not a TeX manuscript** (a blog post, say): skip the build, `%XX`, and response-letter steps.
Verify every number and claim against the source the text reports on, and ask where that source is if the repo doesn't say.
**Builds.** Check whether a background build is running, usually `make cont`: `pgrep -fl "make cont|latexmk -pvc"`, then `lsof -a -p <pid> -d cwd` for each.
If one is, read results from the repo's `main.log` after it rebuilds.
Never build yourself unless the author says to (recipe below).
**Pull and evaluate**: `git pull`, read the coauthor's commit with `git show --word-diff=plain`, and read its build log if a background build is running.
Report plainly what changed and what is wrong (build, leftover TODOs, one sentence per line, the change's place in the paragraph's logic, prose), then propose a rewrite.
## Step 1: Structure first, then wait
Propose structural changes only: section and paragraph order, what each paragraph claims, what to cut or move.
Use `AskUserQuestion` with previews (one line per paragraph's topic sentence) for reorder choices.
Don't touch sentences until the author approves the structure; editing both at once throws away polished prose.
After any reorder, re-read the section top to bottom and report dangling referents and ideas used before they are introduced.
## Step 2: The edit loop
When the author pastes a sentence with a terse note ("clefty", "delete?"), or when you propose a change:
1. diagnose in one line;
2. apply your recommended fix with `Edit`;
3. quote before and after;
4. give at most two alternatives, one line each, if the choice is close.
Apply small prose edits without asking, provided you can say what was wrong with the original; the tree stays uncommitted and "revert" undoes your last change.
Ask first for structural changes, cuts of whole passages, and anything outward-facing.
When the author proposes a wording or asks a question ("However, ?"), answer in one line and offer to apply their version; don't overwrite it with yours.
"Give feedback and clean it up" means a bulleted diagnosis, then the cleaned paragraph quoted in full.
Keep replies short; the author responds to quoted sentences, not to prose about them.
Before showing any text you or an agent wrote, check it against the style source and these:
- **Overclaim**: does the claim also apply to the methods the paper favors, and does any word promise more than the evidence supports?
Scope a claim exactly instead of hedging it.
- **Numbers**: check each against the tables, methods, or the paper a post describes; a claim often holds for one setting only.
- **Referents**: name the antecedent of every "this X", "it", "both", and "them"; repeat the exact noun phrase rather than a synonym.
- **Clauses**: split a sentence with an interrupting aside plus a trailing clause.
- **Size**: late in revision, add less; a side idea gets one sentence or none.
- **Attribution**: never put a feeling or claim in the author's mouth that they didn't state.
- **Caveats**: fix a misleading implication in one clause, framed as a finding where that is honest, and describe a baseline by what it does, not by judging it.
When a coauthor objects to a claim, decide on the merits whether the objection hits the claim or only its wording, and present both readings before recommending.
The author edits the file too: re-read the lines before every `Edit`, fix their typos, and mention each in one line.
Before reporting a batch, audit your diff against the last commit (`git diff`), not against your previous edit: for each hunk, name what was wrong with the original, and revert the hunks where you can't.
**Keep in sync, in the same edit:**
- margin comments tagged with initials (`%XX`): never delete one yourself; when an edit addresses one, offer to delete it, and update a note you added this session when you change the text it describes;
- the response letter: grep it for any phrase you remove or change, and fix stale quotes, pointers, and examples;
- promises the letter makes ("we cut rhetorical turns"): check new text against them.
## Citations
Follow `/bip-lit`: search the local library first and add with `bip export --bibtex --append main.bib <id>`.
Don't cite or characterize work that no author has read.
When you add or keep a claim about a cited result, read the cited PDF (`bip get`, pdf-navigator) and confirm the result and the key in this pass.
Check publication dates before writing "concurrent", "recent", or "building on".
When a cut leaves a reference uncited, say so at once and offer a place for it.
## Agents
**Cold read**, for key passages (abstract, topic sentences, a contested claim): a fresh `general-purpose` agent given only the passage text inline, no file access and no context.
Ask for flow, ambiguous referents, overclaims, undefined terms, and claim/argument tensions, ranked by importance, with minimal fixes only.
Use a new agent for each cold read; one that has seen an earlier version is not cold.
Continuing the same agent with `SendMessage` is fine for a "did this fix it?" check.
**Specialists** (`scientific-tex-editor`, `topic-sentence-stickler`, `tex-grammar-checker`, `tex-verb-tense-checker`): fan out in parallel on a whole section once its structure is settled.
Triage their output and show the author only what survives; never apply it wholesale.
Their fact checks are valuable, but their style suggestions overreach on refined text.
## Build recipe
Only when the author asks for a build and no background build is running, build in a clean copy of the repo; `latexmk -outdir` in the repo can reuse a stale `main.bbl` and report no undefined citations when there are some.
Use absolute paths, not `cd`.
```bash
d=<scratch>/build; rm -rf "$d"; mkdir -p "$d"
rsync -a --exclude .git --exclude '*.aux' --exclude '*.bbl' --exclude '*.fdb_latexmk' \
--exclude '*.fls' --exclude '*.blg' --exclude '*.log' --exclude main.pdf <repo>/ "$d"/
latexmk -pdf -cd -interaction=nonstopmode "$d/main.tex"; echo "latexmk exit $?"
grep -n "undefined\|^!" "$d/main.log"
```
A nonzero exit is a failure even if the grep is clean; after a bibtex error `main.log` can be stale or missing.
## Wrap-up
Don't rename or move the file while iterating, since that breaks the diff; rename last, in its own commit.From matsen/bipartite, MIT.
More from matsen/bipartite
- 0.652score
bip-review-post
matsen
Post a review window's findings as the user's GitHub review — approve unless the user already has, distill _ignore/REVIEW-p<N>.md into a comment, fact-check…
SkillAFreshness: A★ 33Claude Code +9 - 0.652score
bip-talk
matsen
Cold-start for a talks session — the live layer of a project.
SkillAFreshness: A★ 33Claude Code +9 - 0.652score
bip-ms-math
matsen
Revise the mathematics of a TeX manuscript as a series of small, separately checkable commits — proofs in proof blocks, duplicate proofs cut, long paragraphs…
SkillAFreshness: A★ 33Claude Code +9 - 0.652score
bip-remove-metaspeak
matsen
Cut what does not earn its place out of a document or PR body — internal dialogue, meta-commentary, and whole passages the document itself undercuts — while…
SkillAFreshness: A★ 33Claude Code +9 - 0.652score
bip-staff
matsen
Cold-start the long-lived staff session — the last layer of adjudication before the user, across every EPIC, conductor, and manuscript session.
SkillAFreshness: A★ 33Claude Code +9 - 0.652score
bip-conductor-recover
matsen
Recover bip-conductor fleet Claude sessions after a host reboot — replay a planned-reboot manifest if one exists, else find the killed sessions by scanning…
SkillAFreshness: A★ 33Claude Code +9 - 0.652score
bip-helper
matsen
Start, message, resume, and shut down a long-lived helper session — a `claude --bg` peer that survives the primary's compaction and restarts, can message any…
SkillAFreshness: A★ 33Claude Code +9 - 0.652score
bip-lit
matsen
Unified guidance for using the bipartite reference library CLI.
SkillAFreshness: A★ 33Claude Code +9 - 0.652score
bip-infra
matsen
Cold-start a long-lived infra session that tracks compute hosts and outages for the whole fleet — verifies outage reports independently, broadcasts status and…
SkillAFreshness: A★ 33Claude Code +9 - 0.652score
bip-ms-sweep
matsen
Pre-share / pre-submission polish sweep of a TeX manuscript.
SkillAFreshness: A★ 33Claude Code +9 - 0.652score
bip-spawn-resume
matsen
Cold-start into a worktree/clone from a fresh conversation — read the PR, issue, and any status files, figure out where things stand, then STOP and ask the…
SkillAFreshness: A★ 33Claude Code +9 - 0.652score
bip-tuckin
matsen
Universal tuckin dispatcher — persist session state before a context reset by delegating to the right /bip-*-tuckin (ms, spawn, epic, conductor), or a generic…
SkillAFreshness: A★ 33Claude Code
Signals
- Stars
- 33
- Forks
- 5
- Open issues
- 29
- Last commit (this folder)
- Oct 16, 2026 (12 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/matsen/bipartite
- Website
- matsen.github.io/bipartite/
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from matsen
- 0.652score
bip-infra
matsen
Cold-start a long-lived infra session that tracks compute hosts and outages for the whole fleet — verifies outage reports independently, broadcasts status and…
SkillAFreshness: A★ 33Claude Code +9 - 0.652score
bip-ms-math
matsen
Revise the mathematics of a TeX manuscript as a series of small, separately checkable commits — proofs in proof blocks, duplicate proofs cut, long paragraphs…
SkillAFreshness: A★ 33Claude Code +9 - 0.652score
bip-conductor-recover
matsen
Recover bip-conductor fleet Claude sessions after a host reboot — replay a planned-reboot manifest if one exists, else find the killed sessions by scanning…
SkillAFreshness: A★ 33Claude Code +9 - 0.652score
bip-helper
matsen
Start, message, resume, and shut down a long-lived helper session — a `claude --bg` peer that survives the primary's compaction and restarts, can message any…
SkillAFreshness: A★ 33Claude Code +9 - 0.652score
bip-lit
matsen
Unified guidance for using the bipartite reference library CLI.
SkillAFreshness: A★ 33Claude Code +9 - 0.652score
bip-ms-sweep
matsen
Pre-share / pre-submission polish sweep of a TeX manuscript.
SkillAFreshness: A★ 33Claude Code +9
Cite this page
bip-edit skill. Agent Mart. https://agentmart.dev/skills/matsen-bip-edit (last updated 2026-10-24)