flonat/claude-research/latex-scaffold

Claude Code and agent skill by flonat/claude-research

Trust tier 2
  • community
LLM review pending
Source check pending

Checking that the SKILL.md file is still in the repository.

Convert an existing Markdown manuscript draft into a buildable LaTeX project with canonical structure and build configuration. Use when prose already exists but no LaTeX source tree does. Not for checking template drift in an existing project; use $latex-template.

Install

npx vskill@latest install flonat/claude-research/latex-scaffold

SKILL.md

LaTeX Scaffold

Convert an approved Markdown draft into a minimal, compilable LaTeX project. This is a deterministic format conversion — prose quality should already be addressed in the source draft.

When to Use

  • Converting a literature review, survey, or report from Markdown to LaTeX for PDF output
  • Turning meeting notes or drafts into a formatted document
  • Bootstrapping a LaTeX project from an existing outline
  • Any time you need md→tex without rewriting content

Inputs

  • A Markdown file (.md) — the draft to convert
  • A .bib file (optional) — if the draft contains citations

Outputs

  • A .tex file ready to compile with latex
  • The fail-closed canonical .latexmkrc if one does not already exist. Invoke the latex pre-flight to copy the canonical artifact; never synthesize selected directives.

Workflow

Step 1: Analyse the Draft

Read the Markdown file and inventory:

  • Heading structure (determine \section / \subsection depth)
  • Citations ([@Key] or [@Key1; @Key2] patterns)
  • Tables (Markdown pipe tables)
  • Math blocks ($...$ inline, $$...$$ display)
  • Figures (![caption](path))
  • Code blocks (fenced with language)
  • Whether an abstract section exists
Step 2: Create the LaTeX File

Apply these conversion rules:

MarkdownLaTeX
# Title (first H1)\title{...}
## Section\section{...}
### Subsection\subsection{...}
#### Subsubsection\subsubsection{...}
## Abstract\begin{abstract}...\end{abstract}
Headings starting with Appendix\appendix once, then \section{...}
**bold**\textbf{...}
*italic*\emph{...}
` code `\texttt{...}
[@Key]\citep{Key}
[@Key1; @Key2]\citep{Key1,Key2}
@Key (inline)\citet{Key}
$...$ / $$...$$Pass through unchanged
- item\begin{itemize}\item ...\end{itemize}
1. item\begin{enumerate}\item ...\end{enumerate}
> quote\begin{quote}...\end{quote}
![caption](path)\begin{figure}[htbp]\includegraphics{path}\caption{caption}\end{figure}
Pipe tables\begin{table}[htbp]\begin{tabular}{...}...\end{tabular}\end{table}
Fenced code blocks\begin{verbatim}...\end{verbatim}
--- (horizontal rule)\bigskip\hrule\bigskip or omit
Preamble Template
latex
\documentclass[a4paper,11pt]{article}
\usepackage[a4paper,margin=1in]{geometry}
\usepackage{hyperref}
\hypersetup{colorlinks=true,linkcolor=blue,citecolor=blue,urlcolor=blue}
\usepackage{booktabs}
\usepackage{tabularx}
\usepackage{graphicx}
\usepackage{amsmath,amssymb}
\usepackage{enumitem}
\usepackage[backend=biber,style=authoryear,natbib=true]{biblatex}
\addbibresource{references.bib}
\title{...}
\author{...}
\date{\today}
\begin{document}
\maketitle
% content here
\printbibliography
\end{document}

Adjust the preamble based on what the draft actually uses (e.g., skip graphicx if no figures). The natbib=true option provides \citet/\citep compatibility. If the project already uses natbib (e.g., with a journal .bst file), keep natbib — but for new scaffolds, biblatex is the default.

Step 3: Strip Markdown Residue

After conversion, scan the .tex file for any remaining Markdown syntax:

  • ## heading markers
  • ** bold markers
  • [@ citation markers
  • Pipe | table syntax
  • ![ image markers

These indicate incomplete conversion — fix them.

Step 4: Wire Bibliography
  • If a .bib file exists in the project, point \addbibresource{} to it
  • If the project has a references.bib, use that
  • If no .bib exists but citations are present, create placeholder comments: % TODO: create .bib with keys: Key1, Key2, ...
  • Ensure \printbibliography is at the end of the document (not \bibliography{})
Step 5: Compile and Verify

Run latex to compile. Verify:

  • [ ] Document compiles without errors
  • [ ] All citations resolve (or are marked as TODO)
  • [ ] Tables render correctly
  • [ ] Math renders correctly
  • [ ] Page count is reasonable

Rules

  • No content rewriting — this is format conversion only. Do not improve prose, fix grammar, or reorganise sections.
  • Preserve all content — every paragraph, figure reference, and citation in the draft must appear in the .tex output.
  • Strip heading numbering — if the draft has numbered headings like 1.2 Methods, let LaTeX handle the numbering (just use \subsection{Methods}).
  • Use `latex` for compilation — never bare pdflatex or latexmk without out/ directory.
  • Bold caption lines like **Table 1. Description** immediately before a pipe table should become \caption{Description} inside a table float.

Cross-References

SkillWhen to use alongside
latexCompile the scaffolded .tex file
latexFor manual compilation config and .latexmkrc setup
bib-validateAfter scaffolding to verify all citation keys resolve
proofreadAfter scaffolding for grammar and consistency check
latex-templateAfter scaffolding to verify preamble aligns with the working paper template

Citation Contract

<!-- paperpile-citation-contract -->

  1. Paperpile is the only source of truth for committed citation keys and BibTeX metadata.
  2. Before writing \cite{key}, verify with paperpile get-item key and paperpile export-bib key.
  3. Resolve unknowns in order: DOI lookup → Paperpile substring search → refpile semantic search → Paperpile verify.
  4. A DOI miss is not non-membership; continue with title/author search and refpile.
  5. If unresolved, write \CiteTodo{slug}{title/author/year/DOI hint} — never a guessed key.
  6. Drafting sub-agents must not write/edit the active .bib; only the orchestrator regenerates it from Paperpile exports.
  7. Stage genuine new refs under .paperpile-import/ for manual Paperpile import; don't cite until Paperpile mints the key.
  8. Run scripts/bib/citation_lint.py before commit; zero placeholders, zero non-Paperpile keys, zero hand-authored metadata.

See rules/paperpile-citations.md for the full workflow.

Security

  • Security scanPassed, 96 of 100Pattern checks on the skill's files.
  • Model reviewNot runA model review is scheduled for the next rescan.

Quality evaluation

  • Task evaluationNot runNo evaluation yet. Run one in Skill Studio.

Source

Popularity

Repository stars
106
Repository forks
18
7-day trend score
23

Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.

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
vskill VERIFIED badge
[![vskill VERIFIED](https://verified-skill.com/api/v1/skills/flonat/claude-research/latex-scaffold/badge)](https://verified-skill.com/skills/flonat/claude-research/latex-scaffold)

Something wrong with this skill or its page? Tell us.