Unified paper audit skill supporting Chinese & English academic papers.
Supports LaTeX (.tex), Typst (.typ), and PDF (.pdf) input formats.
Three modes: self-check (pre-submission), review (peer review simulation),
gate (quality gate pass/fail).
Use when user mentions: audit, review, check paper, paper quality,
pre-submission check, score paper, or any paper auditing task,
polish paper, deep polish, adversarial review, refine writing,
caption audit, ๅพ่กจๆ ้ขๅฎกๆฅ.
Standardmรครig ist der Prompt ausgewรคhlt, der zuerst die Quelle prรผft. Sie kรถnnen zu einem direkten Befehl wechseln oder eine lokale Kopie herunterladen.
Quelldateien prรผfen
Lesen Sie SKILL.md und alle von SkillsMP angezeigten Begleitdateien, bevor Sie sich fรผr eine Installation entscheiden.
Mit Codex oder Claude installieren Kopieren Sie diesen Prompt, fรผgen Sie ihn in Codex, Claude oder einen anderen Assistant ein und lassen Sie die Skill-Seite prรผfen und installieren.
Ein direkter Befehl รผberspringt den Prรผf-Prompt. Prรผfen Sie die Quelle, bevor Sie ihn ausfรผhren.
Unified paper audit skill supporting Chinese & English academic papers.
Supports LaTeX (.tex), Typst (.typ), and PDF (.pdf) input formats.
Three modes: self-check (pre-submission), review (peer review simulation),
gate (quality gate pass/fail).
Use when user mentions: audit, review, check paper, paper quality,
pre-submission check, score paper, or any paper auditing task,
polish paper, deep polish, adversarial review, refine writing,
caption audit, ๅพ่กจๆ ้ขๅฎกๆฅ.
Script-evaluable dimensions (Soundness, Clarity, Presentation, partial Reproducibility) are scored automatically. For complete assessment, supplement with LLM evaluation of Novelty, Significance, Ethics, and Reproducibility. See SCHOLAR_EVAL_GUIDE.md.
CLI: python scripts/audit.py paper.tex --mode polish --style A --journal neurips
Supported Formats
Format
Parser
Notes
LaTeX (.tex)
LatexParser
Full support โ all checks available
Typst (.typ)
TypstParser
Full support โ all checks available
PDF (.pdf) basic
PdfParser (pymupdf)
Text extraction with font-size heading detection
PDF (.pdf) enhanced
PdfParser (pymupdf4llm)
Structured Markdown with table/header preservation
PDF Limitations: Math formulas may be lost; some checks (format, figures) skip for PDF. Recommend providing source files (.tex/.typ) for maximum accuracy.
Read .polish-state/precheck.json from the paper's directory.
Check hard blockers
If precheck.json["blockers"] is non-empty, display them and STOP.
Say: "Fix these Critical issues before polish can proceed:" + list.
Do NOT spawn any agent until user confirms fixes.
Handle non-IMRaD structure (if precheck.json["non_imrad"] == true)
Show detected sections, ask user: "Proceed with polish on these sections?"
Spawn Critic Agent via Task:
Subagent type: general-purpose
Prompt template:
You are an adversarial academic reviewer.
Paper: {file_path} | Language: {lang} | Journal: {journal} | Style: {style}
Step 1: Read the paper using the Read tool (file: {file_path}).
Step 2: The rule-based precheck found these issues: {precheck_issues_summary}
Step 3: Produce a CRITIC REPORT as valid JSON (no markdown fencing):
{
"global_verdict": "ready_to_polish" | "needs_revision_first" | "major_restructure_needed",
"global_rationale": "2-3 sentences",
"section_verdicts": [
{
"section": "<name>",
"logic_score": 1-5,
"expression_score": 1-5,
"blocks_mentor": false,
"blocking_reason": "",
"top_issues": [{"type": "logic|expression|argument", "description": "..."}]
}
],
"cross_section_issues": ["..."]
}
blocks_mentor = true ONLY when logic_score <= 2 or section is structurally absent.
Save the Critic's JSON output to .polish-state/critic_report.json using Bash:
Display Critic Dashboard and gate
Render the Critic report as a markdown table (see dashboard format).
Show blocked sections. Ask:
"How to proceed?
[1] Polish all sections (override blocks)
[2] Skip blocked sections, polish the rest
[3] Stop and revise blocked sections first"
Wait for response.
Spawn Mentor Agents per section (sequential, one at a time):
For each approved section in IMRaD order:
Subagent type: general-purpose
Prompt template:
You are a writing mentor specializing in academic polish.
CRITICAL RULES (NEVER VIOLATE):
- Never modify \cite{}, \ref{}, \label{}, \eqref{} in LaTeX
- Never modify @cite, #cite(), #ref(), <label> in Typst
- Never modify math environments: $...$, \begin{equation}..., \begin{align}...
- Never add/remove citations
- Mark any domain terminology changes as [TERM CHANGE: confirm?]
Section: {section_name} (lines {start}-{end})
Target style: {style} ({style_description from POLISH_GUIDE.md})
Critic scores โ Logic: {logic_score}/5, Expression: {expression_score}/5
Critic top issues: {top_issues}
Pre-check expression issues in this section: {filtered_expression_issues}
Read lines {start}-{end} of {file_path}:
Use Read tool with offset={start-1} and limit={end-start+1}.
Produce MENTOR REPORT in this format:
## Section: {section_name}
### Polish Suggestions
[MENTOR] (Line N) [Severity: Major|Minor] [Priority: P1|P2]: description
Original: <exact original text>
Revised: <revised text preserving all LaTeX/Typst commands>
Rationale: <one sentence>
### Section Summary
<2-3 sentences on overall quality and key improvements>
After each Mentor completes:
Display its output
Ask: "Section {name} polish done. Accept and continue to next section?"
Wait for confirmation before spawning next Mentor.
Final status dashboard (after all sections done):
See dashboard format below.