grind-lab-core/night_owl_research_agent/paper-covert
Claude Code and agent skill by grind-lab-core/night_owl_research_agent
- community
Checking that the SKILL.md file is still in the repository.
Converts the final Markdown manuscript from `paper-draft` / `paper-review-loop` into a submission package for the target venue — modular LaTeX (one file per section), compiled PDF, and Word `.docx`. Venue is read from `output/PAPER_PLAN.md` (or argument) and routed through a small YAML profile. Does not rewrite prose, score, or invent citations.
Install
npx vskill@latest install grind-lab-core/night_owl_research_agent/paper-covertSKILL.md
Skill: paper-covert
Convert the final manuscript in output/manuscript/ into a submission package for: $ARGUMENTS
Naming: the pipeline inpaper-writing-pipelinereferences this as/paper-convert. Folder name ispaper-covertper invocation; they resolve to the same skill.
Constants
- SRC — first existing of:
output/manuscript/MANUSCRIPT_REVISED.md→output/manuscript/MANUSCRIPT_DRAFT.md→ concatenatedsections_revised/*.md→ concatenatedsections/*.md. - SECTIONS_SRC —
output/manuscript/sections_revised/if present, elsesections/. - PLAN = `output/PAPER_PLAN.md` — for title, keywords, venue, figure/table plan, declarations.
- OUT = `output/submission/`
- VENUE — argument
venue:<name>→PAPER_PLAN.md§0/§2 →research_contract.md→IJGIS. - PROFILE —
./profiles/<venue>.yaml, else./profiles/generic.yaml.
Inline override: /paper-covert — venue: ISPRS, mode: latex. Modes: all (default), latex, pdf, docx.
Inputs
Primary:
SRC(Markdown manuscript)SECTIONS_SRC/*.mdPLAN
Supporting (read when present):
output/manuscript/CLAIM_RISK_REPORT.md,COVERAGE_GAPS.md,CITATION_GAPS.md— surface unresolved items into the manifest, do not fix them.output/figures/FIGURE_MANIFEST.md,output/figures/FIGURE_CAPTIONS.md,output/figures/memory/paper-cache/*.json, localreferences.bibdata/DATA_MANIFEST.md,research_contract.md./profiles/<venue>.yaml
Outputs
Filenames are stable; overwrite in place. Two-digit zero-padded section prefixes match paper-draft.
Workflow
1. Resolve source and venue
Pick SRC by priority above. Read PLAN for title, keywords, venue, declarations, figure/table plan. Load PROFILE. Record the source path, venue, and profile choice at the top of SUBMISSION_MANIFEST.md.
2. Build the LaTeX tree
- Write
main.tex,preamble.tex,metadata.texfrom./templates/, filling in profile fields (documentclass,class_options,bib_style,bib_engine) and manuscript metadata (title, keywords, highlights when the venue requires them). - For each section in
SECTIONS_SRC/, write one.texfile underlatex/sections/using these conversion rules: #/##/###→\section/\subsection/\subsubsectionwith a\label{sec:...}.- Markdown emphasis, lists, block quotes, inline/display math → LaTeX equivalents.
- Markdown tables →
booktabstabular; tables ≥ 15 rows extracted totables/. - Images
→figureenv with\includegraphics,\caption,\label{fig:X}. - Citations:
\cite{key}kept as-is when resolvable inreferences.bib;[CITE: topic]rendered via a visible\citeplaceholder{topic}macro and logged in the manifest. [PLACEHOLDER — …]blocks wrapped in a visibleplaceholderenvironment so they show in the PDF.- Copy figures listed in
FIGURE_MANIFEST.mdintolatex/figures/. Do not reference figures not in the manifest.
Section file mapping adapts to the manuscript's actual section list; PLAN §19 is authoritative when it differs from the default 01–11 layout. Appendices use appendix_<letter>.tex.
3. Wire the bibliography
- If a
.bibexists underoutput/manuscript/or repo root → copy tolatex/references.bib. - Else synthesize from
memory/paper-cache/*.json— copy only entries whose keys appear in the manuscript; never invent. - Use
bib_styleandbib_enginefrom the profile. Unresolved[CITE: …]or missing keys → list in the manifest's Bibliography gaps section; do not fabricate.
4. Build the PDF
Write build.sh from ./templates/build_script_template.sh. Run it (latexmk -pdf; fallback to pdflatex + bibtex + pdflatex ×2). Copy main.pdf to pdf/MANUSCRIPT_SUBMISSION_READY.pdf. On failure, keep the LaTeX tree intact and record the first error + likely cause in the manifest under Build.
5. Export the DOCX
Prefer pandoc latex/main.tex -o docx/MANUSCRIPT_SUBMISSION_READY.docx --citeproc --bibliography=latex/references.bib. If Pandoc rejects venue LaTeX, fall back to pandoc on the source Markdown (concatenated SECTIONS_SRC/*.md). If Pandoc is unavailable, record docx: blocked in the manifest.
6. Write the manifest
Write SUBMISSION_MANIFEST.md from ./templates/SUBMISSION_MANIFEST_TEMPLATE.md:
- source manuscript path + readiness (
reviewed/revised/draft-only) - venue + profile (flag fallback
genericexplicitly) - files generated with paths
- Bibliography gaps (unresolved citations) — carried from
CITATION_GAPS.mdplus anything new. - Asset gaps — figures referenced but missing from the manifest; figures marked
Needs revision. - Content gaps —
[PLACEHOLDER …]blocks remaining in the LaTeX. - Build — PDF engine, pass/fail, warning counts; DOCX pathway, pass/fail.
- Readiness — honest per-format statement. Do not mark "submission-ready" while any gap above is open or a build failed.
Append one line to output/PROJ_NOTES.md:
Decision rules
- Venue structure:
PROFILEdefaults →PLAN§19 overrides. Log the final structure in the manifest. - No publisher class bundled: use
article+ the profile's bib style; record in the manifest that a publisher re-wrap is needed at submission time. Never claim the output is an official publisher template. - Incomplete manuscript: still produce the package; placeholders stay visible; readiness is
partial. - Mode restriction:
mode:latexstops after step 3;mode:pdfskips DOCX;mode:docxstill needs LaTeX for the Pandoc path unless Markdown→DOCX is forced.
Guardrails
Do not:
- rewrite, soften, or restructure prose — that is
paper-review-loop. - invent citations, bibliographic entries, figure files, or publisher-private rules.
- reference figures not listed in
FIGURE_MANIFEST.md. - silently drop content when a format conversion can't handle it — log it.
- label the package "submission-ready" with open gaps or a failed build.
- modify
output/manuscript/. This skill is read-only on it.
Supporting files
Under this skill:
templates/main_template.tex,preamble_template.tex,metadata_template.tex,section_template.tex,build_script_template.sh,SUBMISSION_MANIFEST_TEMPLATE.md,CONVERSION_CHECKLIST.md,VENUE_ROUTING_README.md,BIBLIOGRAPHY_GAP_CHECKLIST.md.profiles/:generic.yaml,ijgis.yaml,isprs_jprs.yaml,rse.yaml,tgis.yaml,aag_annals.yaml,ieee_tgrs.yaml. Each profile declaresdocumentclass,class_options,bib_style,bib_engine, word/abstract/figure limits, highlights requirement, and a note on publisher-class availability.
Composing with other skills
paper-covert packages; submit-check validates venue compliance. They do not overlap.
Security
- Security scanPassed, 95 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskills/paper-covert/SKILL.md
Popularity
- Repository stars
- 84
- Repository forks
- 21
- 7-day trend score
- 22
Stars and forks are for the whole GitHub repository, not this skill alone. Refreshed 17 May 2026, 5 months ago.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/grind-lab-core/night_owl_research_agent/paper-covert)