# Coarse Editorial

> Coarse pipeline steps 12-13 — editorial filter to remove low-value comments, then programmatic quote verification. Writes _comments_verified.json to .coarse_cache/.

- **Type:** Skill
- **Install:** `agentstack add skill-felipe-so-coarse-ink-claude-code-coarse-editorial`
- **Verified:** Yes — security-reviewed for prompt injection and unsafe behavior
- **Seller:** [Felipe-SO](https://agentstack.voostack.com/s/felipe-so)
- **Installs:** 0
- **Category:** [Agent Skills](https://agentstack.voostack.com/c/agent-skills)
- **Latest version:** 0.1.0
- **License:** MIT
- **Upstream author:** [Felipe-SO](https://github.com/Felipe-SO)
- **Source:** https://github.com/Felipe-SO/coarse-ink-claude-code/tree/main/.claude/skills/coarse-editorial

## Install

```sh
agentstack add skill-felipe-so-coarse-ink-claude-code-coarse-editorial
```

Requires the [AgentStack CLI](https://agentstack.voostack.com/docs/cli). Works with Claude Code, Cursor, and any MCP-compatible agent.

## About

# /coarse-editorial — Editorial Filter and Quote Verification

**Usage**: `/coarse-editorial `

Argument (`$ARGUMENTS`) is the paper slug (e.g. `my-paper`). All paths are relative
to the workspace root `d:/Dropbox/Research/Coarse Reviewer/`.

## Path setup

- `EXTRACTED` = `.coarse_cache/_extracted.md`
- `CONTRIBUTION` = `.coarse_cache/_contribution.json`
- `OVERVIEW_JSON` = `.coarse_cache/_overview.json`
- `COMMENTS_DRAFT` = `.coarse_cache/_comments_draft.json`
- `COMMENTS_VERIFIED` = `.coarse_cache/_comments_verified.json`

**Re-read `CONTRIBUTION`, `OVERVIEW_JSON`, and `COMMENTS_DRAFT` before starting.**

---

## Step 12 — Editorial Filter

Apply the final editorial pass to the verified comments.

You are an expert peer reviewer performing a final editorial pass. Every comment
that survives must be concrete, verifiable, and worth the reader's time.

**STEP 1: REMOVE low-value comments**

Remove a comment if ANY of these apply:
- It merely restates an Overview Issue without adding a specific equation,
  quote, or calculation that goes beyond what the overview already says.
- Its core point is already covered by an Overview Issue, even if the comment
  adds a section-specific quote.
- It requests "additional analysis," "further experiments," or "more discussion"
  without pointing to a specific error in the existing text AND without
  identifying a specific structural gap. Keep a comment that identifies a
  concrete missing component (a worked example, a simulation, an estimation
  discussion) if it is specific.
- It could be copy-pasted to any paper in this field (generic methodological advice).
- It addresses formatting, notation preferences, LaTeX artifacts, typos, grammar.
- The feedback says "this is unclear" without explaining what is specifically wrong.
- It flags an OCR artifact as an author error.
- It asserts a specific numerical value without showing a derivation.
- It claims a table entry is wrong but the quote does not include the complete
  table row(s) needed to verify.
- It claims a proof step requires a condition but does not identify the specific
  line in the derivation where that condition is invoked.
- It claims two mathematical operations are equivalent without verifying via
  formal definitions or a concrete example.
- It expresses skepticism about a cited result without engaging with the cited
  reference — unfamiliarity is not evidence.
- It treats the paper's extension as a deficiency.
- It treats an explicitly acknowledged limitation as if the authors are unaware.

**STEP 2: CONTRADICTION CHECK**

For each surviving comment, compare its core claim against the paper's abstract
and stated contributions (from `CONTRIBUTION`). If a comment asserts a result
has the opposite character of what the paper explicitly claims to prove (e.g.,
bounded vs. unbounded, identifiable vs. not identifiable), remove it unless it
provides a complete, self-contained derivation disproving the paper's claim.

**STEP 3: VERIFY against full paper text**

For each surviving comment:
- If the comment claims something is "never defined" or "absent" — check
  `EXTRACTED` to verify. If the item IS defined elsewhere, remove the comment.
- If the quote looks paraphrased or clearly hallucinated (not a verbatim substring
  of the paper), flag for removal. A downstream programmatic step (Step 13) will
  fuzzy-match all quotes, but obvious hallucinations should be caught here.

**STEP 4: QUALITY and SEVERITY assignment**

For each surviving comment:
- severity: "critical" (concrete proof error, equation demonstrably wrong),
  "major" (internal inconsistency, missing case, unsupported claim),
  "minor" (notation inconsistency, ambiguous definition, exposition issue)
- confidence: "high" (demonstrated with derivation), "medium" (believed but
  not fully verified), "low" (uncertain)
- Remove comments with "low" confidence unless they identify a genuinely
  important ambiguity.

**STEP 5: NOTATION CAPPING**

Keep at most 2-3 pure notation-level comments. A single structural issue is
worth more than three notation fixes.

**STEP 6: HUMANIZE**

When revising feedback text:
- Vary sentence length and structure across comments.
- Replace AI vocabulary ("crucial", "comprehensive", "robust", "serves as").
- No repetitive openers.
- Have editorial opinions — say why something matters.

**STEP 7: ORDER by importance**

Order: critical first, then major, then minor. Within each level, high
confidence before medium. Renumber from 1.

Keep as many comments as are warranted. Do not remove a comment with a specific
verbatim quote and a concrete identified error solely to reduce count.

**Write the final filtered list back to `COMMENTS_VERIFIED`** using the Write tool
(same JSON format as the draft).

A downstream programmatic step will verify quotes against the paper text —
obvious hallucinations (quotes that clearly don't appear in the paper) should
still be caught here, but exact fuzzy-matching happens in Step 13.

---

## Step 13 — Quote Verification (Python)

Run:
```bash
python scripts/coarse_quote_verify.py COMMENTS_VERIFIED EXTRACTED COMMENTS_VERIFIED
```

This fuzzy-matches each quote against the extracted paper text, corrects
near-matches, and drops comments whose quotes cannot be found. Read the
output summary printed to stdout.

If the script drops ALL comments (empty output), skip verification and keep
`COMMENTS_VERIFIED` as written — this is the fallback behaviour for edge cases
where extraction produced non-standard formatting.

**Re-read `COMMENTS_VERIFIED`** with the Read tool and confirm the final count
before proceeding.

---

Done. Next: `/coarse-write `

## Source & license

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

- **Author:** [Felipe-SO](https://github.com/Felipe-SO)
- **Source:** [Felipe-SO/coarse-ink-claude-code](https://github.com/Felipe-SO/coarse-ink-claude-code)
- **License:** MIT

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

## Pricing

- **Free** — Free

## Security capabilities

Automated source analysis of v0.1.0 — what this tool can access:

- **Network access:** no
- **Filesystem access:** no
- **Shell / process execution:** no
- **Environment & secrets:** no
- **Dynamic code execution:** no

*"Yes" means the capability is present in the source — more access means more to trust, not that it is unsafe.*


## Versions

- **0.1.0** — security scan: passed — Imported from the upstream source.

## Links

- Listing page: https://agentstack.voostack.com/l/skill-felipe-so-coarse-ink-claude-code-coarse-editorial
- Seller: https://agentstack.voostack.com/s/felipe-so
- Browse the marketplace: https://agentstack.voostack.com/browse

---
Listed on AgentStack — the marketplace for AI agent skills and MCP servers. Every listing is security-reviewed. Creators keep 70%.
