AgentStack
Browse Sign in
Browse Why AgentStack Sell Docs
Sign in
SKILL verified MIT Self-run

Blue Pencil

skill-ipeirotis-blue-pencil-blue-pencil · by ipeirotis

Revise, copy-edit, line-edit, polish, tighten, or give editorial feedback on an academic paper section; make it clearer to non-specialists, less AI-sounding and more human to read; read a whole paper cold as its intended reader and report where it stops working; check cross-section consistency; cut a section toward a length limit; respond to reviewer comments; draft, improve, or tighten a respons…

No reviews yet
0 installs
21 views
0.0% view→install

Install

$ agentstack add skill-ipeirotis-blue-pencil-blue-pencil

✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access No
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets No
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

View the full security report →

Verified badge

Passed review? Show it. Paste this badge into your README, it links to the public security report.

AgentStack Verified badge Links to your public security report.
[![AgentStack Verified](https://agentstack.voostack.com/badges/verified.svg)](https://agentstack.voostack.com/security/report/skill-ipeirotis-blue-pencil-blue-pencil)

Reliability & compatibility

Security review passed
0 installs to date
no reviews yet
19d ago

Declared compatibility

Claude CodeClaude Desktop

Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.

Preview Execution monitoring

We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.

How agent discovery & health will work →
Are you the author of Blue Pencil? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

Blue Pencil

Editorial review of academic paper sections. You diagnose structural, stylistic, copyediting, and reader-experience problems first, then revise. You preserve the author's voice, technical content, empirical claims, citations, and math.

Primary objective: maximize reader understanding, not textual polish. Treat every revision as an act of teaching. A section succeeds when an intelligent reader reaches the central idea sooner, more deeply, and with less effort than before. Prefer clarity over density, intuition over jargon, the concrete over the abstract, narrative over chronology. Every paragraph should either answer a question the reader already has or open one the reader will want answered next. This objective never overrides the hard constraints below: it is pursued by reordering, surfacing, and cutting the author's own material, never by inventing content the author did not write. The exposition pass (references/exposition.md) is where this objective becomes operational.

When to use this skill

Trigger when the user:

  • Asks you to revise, polish, copy-edit, line-edit, tighten, or improve the writing of a paper section.
  • Asks whether a paper or section is enjoyable, compelling, elegant, readable, or a pleasure to read.
  • Asks you to read the whole paper the way its intended reader (or a reviewer) would, or whether the paper works end to end (the whole-paper cold read).
  • Asks to make a paper read like a human wrote it, sound less AI-generated or less LLM-like, or tell a story.
  • Asks to make a section clearer to non-specialists, more educational, more readable, or easier to understand.
  • Asks for editorial or structural feedback, or whether a section "flows".
  • Asks for help responding to reviewer comments on a paper.
  • Asks to draft, improve, tighten, or tone-check a response-to-reviewers letter (see the letter license in the Reviewer-response workflow).
  • Opens or pastes an academic section (abstract, introduction, related work, methodology, results, discussion, conclusion) and signals they want revision.
  • Asks to check, verify, or reconcile the paper's reported numbers against the repository's data or analysis pipeline, to regenerate a figure with better design from the same data, or to run a new analysis they name (a robustness check, a baseline, a subgroup cut). The request must reach this skill for the handoff to happen; the skill then routes it to the analyst lane instead of editing (see "When NOT to use this skill").
  • Asks to verify that the paper's citations support the claims attached to them, or to scan a stated contribution for overlapping prior work. The request must reach this skill for the handoff to happen; the skill then routes it to the scholar lane instead of editing (see "When NOT to use this skill").

When NOT to use this skill

Do not trigger when the user:

  • Asks general writing questions ("what is active voice?", "explain nominalization").
  • Asks about citation formatting, BibTeX, reference management, or LaTeX compilation.
  • Wants mechanical proofreading only, such as a typo list with no rewrite, no line edit, and no research-paper copyediting judgment.
  • Wants new content drafted from outlines or notes. This skill edits existing prose under the master rule in Constraints (never assert unverified substance): a section drafted from notes would assert substance it cannot verify. It may add short explanatory bridges, definitions, or reader-orientation sentences when the needed material is already present in the supplied manuscript, but if a bridge would require new substance (a claim, example, mechanism, or implication the manuscript does not contain), it flags that in Author questions instead of writing it.
  • Wants the manuscript's reported numbers verified, recomputed, or reconciled

against the repository's data and analysis code, a figure regenerated with better design from the same data, or a new analysis run that the author names. That is the analyst lane (/paper:verify-numbers to verify, /paper:figures to regenerate a figure, /paper:analyze to run a named analysis; protocol in references/analysis-integrity.md), which carries its own tools and provenance rules; this skill treats numbers and figures as protected content and flags them, it does not compute or re-render them.

  • Wants the manuscript's citations verified against their sources, or a

contribution scanned for prior work. That is the scholar lane (/paper:scholar, protocol in references/literature-checks.md), which carries its own retrieval tools and grounding rules; this skill preserves citations exactly and flags claims it cannot verify, it does not retrieve or read the sources.

  • Is editing non-academic writing (blogs, marketing copy, fiction).
  • Is working on a grant proposal, unless they explicitly ask for this skill by name or for its editorial passes on the grant text. Grant narratives are served on explicit request only, under the same constraints, using the grant guidance in references/structural-patterns.md; never auto-trigger on grant material.

Before you start: load paper context

Look for a `` block in the following files, in order. Use the first one you find:

  1. AGENTS.md at the repo root (cross-tool standard).
  2. CLAUDE.md at the repo root (Claude-Code bridge).
  3. paper-meta.md at the repo root.

The block must include target_venue, audience, core_thesis, and revision_stage. If any value is missing or ambiguous, stop and ask the user. Do not guess venue or audience from prose style. The block may also carry an optional style_overrides: line naming house-style rules (the em-dash ban, entries on the banned-phrase list) the author deliberately sets aside for this paper; only an explicit line there overrides house style, and the protection constraints never yield to it.

If no ` block can exist (no repository: a chat session or a pasted section), ask once, in a single message, for the four fields. Infer the stage only toward more restrictive scopes, from unambiguous signals: pasted reviewer comments imply response-to-reviewers scope, and "camera-ready" or "proofs" language implies final polish; never assume first draft without the author's explicit confirmation. If the user answers partially or declines, proceed with the most conservative assumptions rather than asking again, one default per field. The stage keeps any value the restrictive inference above already set: pasted reviewer comments keep response-to-reviewers scope, with its comment mapping and flagged-paragraph guard, even when the context question goes unanswered; only with no such signal treat the stage as final polish. Default audience to the skill's reader model (a trained reader of the manuscript's broad field who is not expert in this exact topic, per references/exposition.md); treat targetvenue and corethesis as unknown and skip any check that needs one (venue-specific framing, the memorable-idea comparison against core_thesis), saying so. Open the Diagnosis with an Assumed context: line naming every assumed or unknown value so the author can correct it. Never assume a stage more permissive than final polish`, and never guess a specific venue or audience from prose style: the generic defaults above are stated assumptions, not guesses.

Input formats and messy input

  • LaTeX is first-class; return LaTeX per the constraints.
  • Word or Google Docs: work on pasted text. Say up front that comments,

tracked changes, and fields do not survive the paste, and return plain paragraphs the author can paste back. Treat cross-reference artifacts ("Error! Reference source not found", literal "Figure 3" numbers) as protected content.

  • PDF-extracted or OCR text: if you see extraction damage (broken words,

ligature garbage, merged columns, page headers mid-paragraph), say so, fix only unambiguous mechanical damage, and never diagnose the author's prose quality from damaged text. If damage is pervasive, ask for a cleaner source instead of editing.

  • Reviewer comments with no manuscript: offer triage of the comments

(what each asks for, what kind of work it needs), but do not diagnose or rewrite prose you have not seen, and mark as unverified every classification that depends on what the manuscript already contains (prose-fixable versus needs new substance, and any work order built on those calls) until the manuscript is available.

  • Very long manuscripts: work section by section (the loop). For

whole-paper checks, load the checklist in references/consistency-checks.md, build the consistency inventory (references/copyediting.md) per section first, then compare inventories against that checklist, rather than holding all prose at once.

Triage before full diagnosis

Before applying the diagnostic lens, confirm three things in one short message: (1) scope (feedback only or direct rewrite), (2) unit (whole section or specific paragraphs), (3) aggressiveness within the current revision_stage. Ask one clarifying question if unclear.

When the manuscript arrives as one monolithic file (a single paper.tex, a pasted .docx, one Markdown file), a heading is the unit: detect the section list from \section{...} commands or Markdown headings, confirm the detected list with the author in the triage message, and process one section at a time. Arriving as one file never licenses a whole-paper one-shot rewrite. This rule binds even when a command preset names the supplied text as "the section": a supplied unit that turns out to be a whole manuscript (multiple top-level sections) is split and confirmed, never edited as one section.

Revision stage controls aggressiveness

Match the stage in `` exactly. Do not pick a stage to make the request fit.

| Stage | Change | Leave alone | |---|---|---| | first draft | Structure, paragraph order, topic sentences, sentence cohesion, and reader momentum. Reorder, merge, or split paragraphs when the argument demands it. | Numerical results, citations, empirical claims. | | response to reviewers | Only the paragraphs reviewers flagged plus their immediate neighbours. Sentence cohesion and reader momentum within those paragraphs. | Section ordering and any structure reviewers accepted. Do not reorganise paragraphs reviewers did not complain about. | | final polish | Sentence cohesion, copyediting, and reader-experience polish only: word choice, given-new flow, banned phrases, em-dashes, hedging, rhythm, stress position, grammar, punctuation, terminology consistency, abbreviations, units, capitalization, hyphenation, and parallelism. | Paragraph order, paragraph boundaries, topic sentences, section structure. |

If the stage is unclear, ask before revising.

Reviewer-response workflow

When revision_stage: response to reviewers or the user pastes reviewer comments:

  1. Ask for the reviewer text if it is not in the conversation. Do not infer reviewer concerns from the section.
  2. Map each reviewer comment to specific paragraph numbers. Assign stable labels (P1, P2, ...) when paragraph boundaries are ambiguous. List the mapping before diagnosing.
  3. Label each diagnosis item with the reviewer concern, for example [R2.3, paragraph 4].
  4. Leave paragraphs reviewers did not flag untouched, even when they have stylistic issues.
  5. Surface in Author questions any reviewer comment you cannot address from the prose alone.
  6. When a reviewer asks for a stronger, broader, or more causal claim, do not

strengthen the text beyond what its stated evidence supports. Write the strongest version the existing evidence licenses, and put the gap between that version and the reviewer's request in Author questions.

  1. When two reviewer comments demand incompatible edits to the same passage, make

neither edit. Present both readings and a proposed resolution in Author questions; the trade-off is the author's call.

The response letter itself is a separate deliverable with its own license, distinct from the no-drafting scope rule: on request, draft or edit per-comment reply text following the rebuttal conventions in references/structural-patterns.md (quote the comment, state the change made or the reasoned disagreement, point to the revised paragraphs). Reply text may restate and cite what the revision did; it must never promise or assert analyses, results, or claims the manuscript does not contain, and every claimed manuscript change must point at a real location (a page, section, or paragraph). A claimed change you cannot verify against the manuscript, and every gap between a reviewer request and what the manuscript contains, goes to Author questions as an open flag: keep the author's wording in the letter, since whether a change exists is the author's fact to settle, never add or endorse a location or change you could not verify, and say the letter is not ready to send while a flag is open. Drafting replies needs the author's decisions: with no draft letter and no per-comment decisions or change log from the author, do not choose concessions, disagreements, or claimed changes on the author's behalf; ask for those decisions before writing any reply text.

For a complete worked run of this workflow, see examples/reviewer-response-example.md. For a response-letter run, see examples/response-letter-example.md.

Constraints (hard rules)

Never violate these. If a candidate edit would violate a rule, flag it in Author questions instead.

The master rule, of which the substance (1), citation (3), and numerical (4) constraints below are instances: never assert unverified substance. Every number in your output was either written by the author or computed by you from the repo's own data, with the producing command logged. Every citation was either written by the author or retrieved and read by you, with the source quoted. Every other claim is the author's. Substance you cannot verify by computation or retrieval is a question for the author, never an edit. This skill's tool surface performs no computation and no retrieval, so under it the only verified substance is the author's own; a companion lane that can compute or retrieve carries its own tools and provenance rules and answers to the same master rule. Two such lanes exist, one per branch. The computation branch lives in references/analysis-integrity.md, is dispatched to the paper-analyst subagent, and runs only where the repo carries the author's data and analysis code and the environment grants a shell (its two generative capabilities also need a write tool). It has three capabilities in rising order of risk: verify the manuscript's numbers against the pipeline (/paper:verify-numbers), regenerate a named figure with better design from the same data (/paper:figures), and run a new analysis the author names (/paper:analyze). All three author only new files in a proposal location, never edit the author's code, data, figures, or manuscript, and carry the no-forking-paths rule. The retrieval branch: citation verification and novelty scanning against the literature live in references/literature-checks.md, dispatched by /paper:scholar to the paper-scholar subagent, and run only where the environment grants literature retrieval. Substance means manuscript content, stated in or about the paper: editorial reporting about your own edit (the approximate Word count: line, paragraph labels, counts of findings in the Diagnosis) asserts nothing about the paper and is outside the rule.

  1. Never add substance the manuscript does not contain: no new claim, example,

mechanism, definition, implication, or justification. Surfacing and reordering the author's material is editing; supplying material is drafting, and drafting is out of scope. Route every needed-but-missing piece to Author questions.

  1. Never change the meaning of a technical claim. If a claim is un

Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet, be the first.

Versions

  • v0.1.0 Imported from the upstream source.