cover-letter
Submission cover-letter assistant for existing LaTeX manuscripts. It generates, optimizes, and checks editor-facing letters while keeping every strong letter claim tied to manuscript evidence.
Use It For
- Generate a cover letter draft from
main.tex. - Optimize an existing
cover_letter.mdorcover_letter.texwithout overwriting it. - Align-check novelty, contribution, numeric, and scope claims against the manuscript.
- Check whether the letter is framed for a bundled journal or conference template.
- Run final declaration, length, cliché, AI-tone, and paragraph-shape checks.
Do Not Use It For
- Editing the manuscript source; use
latex-paper-enorlatex-thesis-zh. - Full reviewer-style manuscript critique; use
paper-audit. - Searching bibliography files; use
bib-search-citation. - Typst manuscripts; this version supports LaTeX manuscripts only.
- Rebuttal or response-to-reviewer letters.
Mode Router
| Mode | Use when | Primary command |
|---|---|---|
generate | You have a manuscript but no letter draft | uv run python academic-writing-skills/cover-letter/scripts/cover_letter.py --mode generate --manuscript main.tex --journal nature --json |
optimize | You have a draft and want safer framing | uv run python academic-writing-skills/cover-letter/scripts/cover_letter.py --mode optimize --letter cover_letter.md --manuscript main.tex --journal nature --json |
align-check | You need to verify claims against the paper | uv run python academic-writing-skills/cover-letter/scripts/cover_letter.py --mode align-check --letter cover_letter.md --manuscript main.tex --json |
journal-fit | You need venue fit scoring | uv run python academic-writing-skills/cover-letter/scripts/cover_letter.py --mode journal-fit --letter cover_letter.md --journal nature --json |
presubmission | You need final mechanical checks | uv run python academic-writing-skills/cover-letter/scripts/cover_letter.py --mode presubmission --letter cover_letter.md --journal nature --json |
Supported bundled venues: nature, science, cell, ieee-trans, acm, springer-lncs, neurips, icml, cvpr, and generic.
Minimum Inputs
--manuscript main.texforgenerateandalign-check.--letter cover_letter.mdor--letter cover_letter.texforoptimize,align-check,journal-fit, andpresubmission.--journal <venue>for journal-fit and venue-specific pre-submission rules.--jsonwhen you want a machine-readable issue bundle.
Script Entry Points
| Script | Purpose |
|---|---|
cover_letter.py | Unified public CLI for all five modes |
extract_manuscript_facts.py | Deterministic facts extraction from the manuscript |
build_letter_claim_map.py | Cover-letter claim inventory |
align_check.py / verify_letter_against_manuscript.py | Claim-evidence verification |
journal_fit_check.py | Venue-fit scoring |
presubmission_check.py | Declaration, length, cliché, and tone checks |
Output Artifacts
generatereturns manuscript facts plus a deterministic draft scaffold with placeholders for unknown editor or declaration fields.optimizereturns line-anchored suggestions and claim-evidence warnings; it does not overwrite the draft.align-checkreturns unsupported, over-scoped, or missing-evidence claim findings.journal-fitreturns HIGH / MEDIUM / LOW axis verdicts and mapped findings.presubmissionreturns mechanical findings for required declarations, length, cliché, tone, and paragraph shape.
Findings use severity, priority, source_kind, and comment_type; script-backed findings are intended to be rerunnable.
Public Resources
References
- AI disclosure policy
- Claim-evidence contract
- Forbidden phrases
- Issue schema
- Journal tiers
- Letter structure
- Mode guide
- Pre-submission rules
Templates
Examples
Agent Contracts
Common Requests
text
Generate a Nature cover letter from main.tex and include placeholders where metadata is missing.text
Optimize cover_letter.md for an IEEE Transactions submission, but do not edit the file directly.text
Check whether every strong claim in this cover letter is supported by main.tex.text
Score this letter for NeurIPS journal-fit style framing and tell me the weakest axis.text
Run final pre-submission checks on cover_letter.md before I paste it into the submission system.