Skip to content
Back to skills

Camera Ready

ASecurity

On acceptance, turn the anonymized-for-review paper into the de-anonymized camera-ready that actually enters the proceedings (ACM DL / IEEE Xplore). Reverses double-blind anonymization, swaps the OSF view-only artifact for a real public repo + an archival DOI, and — for security papers — completes responsible disclosure BEFORE any de-anonymized public release. Use after a notification email says Accept and the venue gives a camera-ready deadline. Compose with submit-paper (upstream) and exten...

  • 7 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added September 26, 2026
researchgobashgitsecurity

Security analysis

A100/100

Pro scans all 4 files and shows the line behind each finding

Scanned October 5, 2026

npx -y skills add zernie/paperlint --skill camera-ready --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Camera Ready?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Camera Ready
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/zernie-camera-ready/badge)](https://www.skillsdirectory.com/skills/zernie-camera-ready)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: camera-ready
description: On acceptance, turn the anonymized-for-review paper into the de-anonymized camera-ready that actually enters the proceedings (ACM DL / IEEE Xplore). Reverses double-blind anonymization, swaps the OSF view-only artifact for a real public repo + an archival DOI, and — for security papers — completes responsible disclosure BEFORE any de-anonymized public release. Use after a notification email says Accept and the venue gives a camera-ready deadline. Compose with submit-paper (upstream) and extend-paper (next).
allowed-tools: [Read, Write, Edit, Grep, Glob, Bash, WebSearch, WebFetch]
---

<!-- vigiles:sha256:1c9ad89e55c3e89a compiled from skills/camera-ready/SKILL.md.spec.ts -->

# camera-ready — de-anonymize an accepted paper into the final proceedings version

The reviewed PDF was anonymized on purpose. Acceptance flips that: the camera-ready carries your
real name, your real repo, and an archival DOI — and it's the version that gets indexed, so it's the
actual authorship evidence. This skill is the reverse of the anonymization you did at
submission. Work from `paper-pipeline/references/anonymization.md` and undo each move it lists.

## 0. Pre-flight
- Confirm the **camera-ready deadline** and the **format instructions** in the acceptance email
  (some venues ship a specific `acmart` template version or a copyright block to paste — use theirs).
- Read the reviews once more: camera-ready is your one cheap chance to fold in the must-fix comments
  the meta-review flagged. Do those edits now, not "later."
- **Security papers only**: do not start the public de-anonymized release until §3 (disclosure) is
  logged as complete. The de-anon repo is public and Google-findable the moment you push it.

## 1. Reverse the anonymization
Undo, one by one, everything `../paper-pipeline/references/anonymization.md` told you to hide:
- **Class options**: `\documentclass[sigconf,review,anonymous]{acmart}` → `\documentclass[sigconf]{acmart}`.
  Dropping `review` also drops line numbers and the review-mode banner; dropping `anonymous` un-hides
  the author block.

  🔴 **Dropping `review` ARMS a gate that was exempt until this second — run it NOW, in the same
  pass, not at push time:**

  ```bash
  npx eslint --no-config-lookup --config eslint.config.mjs <paper.tex>
  ```

  `tex/future-promise` exempts review builds deliberately: while a paper is under review, "the
  harness will be released at camera-ready" is true and expected. The moment `review` comes off,
  the same sentence becomes a contradiction with the Availability paragraph — and that is exactly
  the defect this rule was created for, on a real submitted paper, where a reviewer had already
  listed the missing artifact as a weakness and the printed camera-ready went on asserting it.

  ⚠️ **Why it must run HERE and not be left to CI** (measured 2026-09-11): the check lives in
  ESLint, and no local hook runs ESLint on `.tex` — `paper-lint.mjs` stopped carrying it on
  2026-09-07. CI does run it, but CI runs *after a push*, while a camera-ready gets built and
  uploaded to HotCRP before that. Between "dropped `review`" and "pushed" the gate does not
  exist. Measured on a fixture: in review mode 0 findings, with `review` removed 1 finding —
  the rule flips instantly, so the only question is whether anyone looks.

  ⚠️ And re-run it after the LAST edit to `paper.tex`, not once at the start. The original
  defect survived because the promise was swept out of the artifact (`README`, `reproduce.py`)
  the same day and nobody made the same pass over `paper.tex`: one class of defect, two
  carriers, one cleaned.
- **Author block**: replace `Anonymous Author(s)` with your real name, affiliation (`None` /
  `Unaffiliated` if independent — that's honest, not a weakness), city/country, email, and
  `\orcid{...}`. Keep the **ORCID identical** to your prior papers — it's the permanent thread that
  ties every version to one identity regardless of name spelling.
- **Un-blind self-citations**: the "[anonymized for review]" / "our prior work [redacted]" placeholders
  become the real citations. Grep the `.tex` for `anonym`, `redact`, `blinded`.
- **"Our tool" naming**: the studied artifact and your own tool get their real names back everywhere —
  title, abstract, figures, captions, artifact README. (For AISec: the anonymized hook names get their
  real names back **only after** disclosure, §3.)
- **Acknowledgements / funding**: add the section that was omitted for blind review (thanks, grant
  numbers, compute credits). None to declare is fine — say nothing rather than invent a funder.

## 2. Swap the artifact: real repo + ARCHIVAL DOI
The review artifact was an OSF anonymized view-only link. The camera-ready needs two things:
- **A real public repo** (your GitHub, de-anonymized, with the generation layer / de-anon code that you
  promised "lands at camera-ready" in the submission README).
- **An archival DOI** — mint it on **Zenodo or Figshare** (GitHub→Zenodo release integration is the
  easy path). A zip sitting in a repo does **not** earn the ACM "Artifacts Available" badge; a DOI'd,
  immutable deposit does. Put the DOI (not just the repo URL) in the Availability section via `\url{}`
  or `\doi{}`.
- Keep the artifact **self-checking** (it still recomputes every headline number and exits non-zero on
  drift) — de-anonymizing it doesn't excuse it from reproducing the paper.

## 3. Responsible disclosure (security papers — BEFORE public release)
For the AISec "Safety Theater" paper the studied hooks are named-but-anonymized, and disclosure to the
maintainers is **owed before** any de-anonymized public release. Do this, in order:
- Identify the named parties (maintainers of each studied hook / tool).
- Send a private disclosure (email / security advisory) with the finding, repro, and a fix suggestion.
  Give a reasonable remediation window (the venue or a 90-day norm).
- **Log it**: who, when, via what channel, and their response — keep the thread. This log is both
  ethics evidence and "impact" material.
- Only after disclosure is sent (and ideally acknowledged) do you push the de-anonymized repo and
  restore real hook names in the camera-ready. If a maintainer needs more time, hold the public release
  and coordinate — the indexed paper can go out with names still generalized if disclosure is pending.

## 4. Re-check the page limit
De-anonymizing **adds lines** — the author block, acknowledgements, un-abbreviated self-cites, real
URLs all grow the paper. Camera-ready page limits are often the same as (or one page more than) review,
and going over is a hard reject at the proceedings stage. Recompile
(`pdflatex; bibtex; pdflatex; pdflatex`), confirm 0 undefined refs, and check you're within the limit.
If tight, ACM allows references to spill into the reference-only extra pages.

## 5. Ship
- **Before the final PDF goes up, hand the last check to the author, in plain words.** Tell them that
  paperlint passing is not the venue or the publisher accepting the format, and ask them to open the
  exact PDF they are about to upload and check it against the venue's call for papers and its
  camera-ready instructions themselves — the page count and what counts toward the limit (the
  camera-ready's extra page, if any), the template and its class options, the author block and
  acknowledgements now de-anonymized, and that every figure, table and reference renders. Upload once
  they say they have looked.
- Rebuild the final PDF, upload to the camera-ready system (often the same HotCRP, or an ACM eRights /
  TAPS pipeline — follow the copyright email).
- Complete the **ACM/IEEE eRights** copyright form → paste the returned copyright block + DOI into the
  `.tex` before the final build (ACM validates this).
- Verify the public artifact link resolves and the DOI is live before you submit the final PDF.
- Record the paper's DOI, the artifact DOI, and the ORCID in the paper's HANDOFF — those three IDs are
  the authorship evidence and the anchor the extension (`extend-paper`) builds on.

## Compose with
- **submit-paper** (upstream — this reverses what it anonymized).
- **paper-pipeline/references/anonymization.md** — the canonical list of anonymization moves; undo each.
- **extend-paper** (next — the accepted+indexed paper is the base for a second, stronger publication).

## Provenance
Both portfolio papers are anonymized-for-review and **defer de-anonymization + the public artifact to
camera-ready by design**: AgenticDev "Measuring the Wrong Number" (submitted, camera-ready 28 Aug if
accepted) and AISec "Safety Theater" (ships an anonymized artifact; hook names anonymized; responsible
disclosure to named maintainers owed before any de-anonymized public release). ORCID is identical
across both so every indexed version resolves to one researcher.

Files in this skill

  • SKILL.md9.6 KB
  • SKILL.md.spec.ts10.2 KB
  • camera-ready.eval.mjs900 B
  • camera-ready.harness.mjs1.1 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.