Publication Output logo

Publication Output

CommunityPopular
brycewang-stanford
publication-output

This skill covers publication-quality tables and figures for academic research papers. Use when formatting regression results, summary statistics, Monte Carlo output, or research visualizations for LaTeX inclusion. Triggers on "table", "figure", "tabulate", "stargazer", "publication-ready", "LaTeX table", "event study plot", "coefficient plot", "RD plot", "power curve", "specification curve", "binscatter", "format results", "booktabs".

Overview

Publisherbrycewang-stanford
RepositoryAuto-Empirical-Research-Skills
Skill namepublication-output
Stars
4.6K
Forks
543
Bundled files
2
Links
  • Markdown instructions

    A SKILL.md file the model loads on demand, so it only costs tokens when a request actually matches.

  • Works with any LLM

    AI skills are plain Markdown, not provider-specific code, so this works with GPT, Claude, Gemini, Grok, or a local model.

  • 2 bundled files

    Scripts, templates, and references the model can read while it works. Files are read-only and never executed.

  • Open source

    Published by brycewang-stanford on GitHub. Read the source before you install it.

Installation

Install the Publication Output AI skill in TypingMind to use it with any LLM, or drop it into another agent that reads SKILL.md.

1

Install in TypingMind

TypingMind installs a skill straight from its GitHub folder — it reads SKILL.md, bundles the resource files, and stores the result locally.

  1. Open the app and go to Plugins → Skills.
  2. Choose "Install from GitHub".
  3. Paste the skill folder URL below and confirm.
    https://github.com/brycewang-stanford/Auto-Empirical-Research-Skills/tree/main/skills/11-James-Traina-compound-science/skills/publication-output
  4. Enable the skill in any chat where you want it available.
Plugins → Skills → Add skill → From GitHub URL, then paste the folder URL and press Continue.
2

Install in another agent

Any agent that reads the Agent Skills format can use this skill — copy the folder into that agent's skills directory.

Claude Code — .claude/skills
git clone --depth 1 https://github.com/brycewang-stanford/Auto-Empirical-Research-Skills.git /tmp/Auto-Empirical-Research-Skills
mkdir -p .claude/skills
cp -r /tmp/Auto-Empirical-Research-Skills/skills/11-James-Traina-compound-science/skills/publication-output .claude/skills/publication-output
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Publication Output in any TypingMind chat and the model takes it from there. Its name and description sit in the system prompt, and the moment a request matches, the model loads the full instructions itself — you never invoke it by hand, and it costs no tokens until it is actually used.

The model loads Publication Output on its own as soon as a request matches it.

Works with any AI model

AI skills are plain Markdown instructions rather than provider-specific code, so Publication Output is not tied to the model it was written for. Install it once in TypingMind and use it with GPT-5, Claude, Gemini, Grok, DeepSeek, Mistral, Llama, or a local model you run yourself — all on your own API keys.

  • Loaded only when it is needed

    The system prompt carries just the name and description. The instructions are fetched on the first matching request, so an idle skill costs nothing.

  • Switch models mid-chat

    Because the skill is instructions rather than code, changing model does not break it — the next model reads the same SKILL.md.

Skill instructions

This is the SKILL.md content the model loads. Read it before installing — a skill is instructions your model will follow.

Publication Output

Generate publication-quality tables and figures for academic research papers. Routes to the appropriate output type based on content, applies standard academic formatting conventions, and produces files ready for LaTeX inclusion.

When to Use

Skip when:

  • The task is choosing an empirical method or running estimation (use empirical-playbook or causal-inference skill)
  • The task is journal submission logistics or referee responses (use submission-guide skill)
  • Results are exploratory and not yet ready for formatted output (finish estimation first)

Use when:

  • After estimation: format regression results, diagnostics, or robustness checks into tables
  • After simulation: format Monte Carlo results (bias, RMSE, coverage) into comparison tables
  • For descriptive work: summary statistics, balance tables, transition matrices
  • For visualization: event studies, RD plots, coefficient plots, power curves, densities, specification curves

Output Type Router

Content typeOutputReference
Regression results (coefficients, SEs, R², N)Stargazer-style coefficient tablereferences/table-generation.md
Summary statistics (means, SDs, quantiles)Descriptive statistics panelreferences/table-generation.md
Monte Carlo output (bias, RMSE, coverage)Simulation results tablereferences/table-generation.md
Balance / covariate comparisonBalance table with normalized differencesreferences/table-generation.md
Transition probabilitiesMatrix with row/column labelsreferences/table-generation.md
First-stage IV resultsFirst-stage regression tablereferences/table-generation.md
Time-relative coefficients (leads/lags)Event study plotreferences/figure-generation.md
Running variable + cutoffRD plot with local polynomialreferences/figure-generation.md
Multiple estimates with CIsCoefficient comparison plotreferences/figure-generation.md
Sample sizes × effect sizesPower curvereferences/figure-generation.md
Group distributionsDensity / kernel density plotreferences/figure-generation.md
Two continuous variablesBinned scatter plotreferences/figure-generation.md
Sorted estimates + indicator matrixSpecification curvereferences/figure-generation.md

Format Defaults

Tables

SettingDefault
FormatLaTeX (booktabs: \toprule, \midrule, \bottomrule)
StarsOn coefficients, never on SEs (* p<0.10, ** p<0.05, *** p<0.01)
SEsIn parentheses, directly below coefficient
Decimal alignmentAll numbers in a column align at decimal point
Fixed effectsYes/No indicator rows, not coefficient rows
Negative numbersMinus sign (economics convention), not parentheses
File locationtables/<descriptive-name>.tex
Label formattab:<name>

Figures

SettingDefault
FontSerif (Computer Modern / Times), 11-12pt labels
Size6.5" × 4.5" (single column), 13" × 4.5" (two-panel)
DPIVector (PDF) primary, 300 DPI PNG secondary
StyleWhite background, no gridlines, bottom+left axes only
ColorGrayscale-friendly with distinct markers and line styles
ColorblindOkabe-Ito or ColorBrewer Set2 when color is used
File locationfigures/<descriptive-name>.pdf + .png
Label formatfig:<name>

Language-Specific Packages

LanguageTablesFigures
Pythonpandas, stargazer, pystout, tabulatematplotlib + seaborn
Rstargazer, modelsummary, kableExtra, gt, tinytable, fixest::etable()ggplot2, coefplot, binsreg
JuliaPrettyTables.jl, Latexify.jlPlots.jl, Makie.jl
Stataesttab, outreg2, estouttwoway, coefplot, binscatter

Package notes:

  • pystout (Python) — estout-style regression tables for statsmodels and linearmodels (OLS, IV2SLS, PanelOLS). Supports mgroups for column grouping, modstat for custom statistics rows.
  • tinytable (R) — lightweight, native Typst support, used as modelsummary backend.
  • fixest::etable() (R) — direct from estimation, handles multi-way FE notation automatically.

Automated vs semi-automated tradeoff: Automated tools (esttab, stargazer) are quick but hard to customize. Semi-automated tools (save intermediates, generate LaTeX separately) are harder to start but easier to customize. Costs are convex for automated, concave for semi-automated.

Quarto+Typst: Quarto with Typst backend offers sub-second compilation for iterative work. Use keep-tex: true for journal submission when you need the raw LaTeX output.

Multi-Panel Assembly

Tables and figures often require multi-panel layouts:

PatternTable panelsFigure layout
Multiple outcomesPanel A/B/C by outcome1×2 or 1×3 side-by-side
Multiple samplesPanel by subsample2×1 stacked
Multiple methodsPanel by estimator (OLS/IV/GMM)2×2 grid
Robustness variantsColumns within one panel2×3 grid
Event study + pre-trends—2×1 stacked (estimates + test)

Ensure consistent axis scales, font sizes, and formatting across panels. Label panels as (a), (b), (c) or Panel A, Panel B, Panel C.

Quick Examples

Python: Regression Table

python
import pandas as pd
from stargazer.stargazer import Stargazer
from linearmodels.iv import IV2SLS

# Format results with stargazer
stargazer = Stargazer([ols_result, iv_result])
stargazer.custom_columns(["OLS", "IV/2SLS"])
stargazer.show_model_numbers(False)
stargazer.significant_digits(3)
with open("tables/main-results.tex", "w") as f:
    f.write(stargazer.render_latex())

Python: Event Study Plot

python
import matplotlib.pyplot as plt
import matplotlib

matplotlib.rcParams.update({"font.family": "serif", "font.size": 11})
fig, ax = plt.subplots(figsize=(6.5, 4.5))
ax.errorbar(leads_lags, coefficients, yerr=1.96 * se, fmt="o-", color="black", capsize=3)
ax.axhline(y=0, color="gray", linestyle="--", linewidth=0.8)
ax.axvline(x=-0.5, color="red", linestyle=":", linewidth=0.8)
ax.set_xlabel("Periods relative to treatment")
ax.set_ylabel("Coefficient estimate")
ax.spines[["top", "right"]].set_visible(False)
fig.savefig("figures/event-study.pdf", bbox_inches="tight")

Quality Checklist

Before finalizing any output:

  • Decimal alignment consistent within each column
  • Stars attached to coefficients only (never to SEs)
  • SE format consistent throughout (parentheses or brackets, not mixed)
  • Sample sizes sum correctly across panels
  • Column/axis labels clear and unambiguous
  • Significance note present if stars used
  • LaTeX compiles without errors
  • Figures readable in grayscale (B&W print)
  • No default titles on figures (titles go in \caption)
  • All information encoded in color also encoded in shape/line style

Integration with Other Components

  • econometric-reviewer agent preloads this skill to audit tables against code output
  • econometric-reviewer may request formatted output during /workflows:review
  • /workflows:compound captures table/figure templates into docs/solutions/
  • Companion outputs: regression table → summary statistics table; event study → pre-trend test figure

Bundled files

The model reads these on demand while the skill is loaded. They are exposed as readable files and are never executed.

Frequently asked questions

What does the Publication Output AI skill do?

This skill covers publication-quality tables and figures for academic research papers. Use when formatting regression results, summary statistics, Monte Carlo output, or research visualizations for LaTeX inclusion. Triggers on "table", "figure", "tabulate", "stargazer", "publication-ready", "LaTeX table", "event study plot", "coefficient plot", "RD plot", "power curve", "specification curve", "binscatter", "format results", "booktabs".

Why use Publication Output on TypingMind?

Because you install it once and use it with any model. Publication Output is plain Markdown rather than provider-specific code, so the same skill runs on GPT-5, Claude, Gemini, Grok, or a local model — and you can switch model mid-chat without it breaking. TypingMind runs on your own API keys, so you pay providers directly instead of a per-seat subscription, and your skills and chats stay in your own storage.

How do I install Publication Output in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/brycewang-stanford/Auto-Empirical-Research-Skills/tree/main/skills/11-James-Traina-compound-science/skills/publication-output. TypingMind reads its SKILL.md and bundles its files and installs it as a skill you can enable per chat.

Which AI models can use Publication Output?

Any model you connect in TypingMind. AI skills are plain Markdown instructions rather than provider-specific code, so GPT, Claude, Gemini, Grok, and local models can all load this skill when a request matches it.

How many AI models can I use with Publication Output?

As many as you like. As long as a model supports skills, you can use Publication Output with it — GPT, Claude, Gemini, Grok, DeepSeek, Mistral, Llama and more — all on TypingMind with your own API keys.

Is the Publication Output AI skill free?

It is published on GitHub by brycewang-stanford. Check the repository for licensing terms. You only pay your own AI provider for the tokens you use.

What are AI skills?

An AI skill is a reusable instruction bundle that teaches an AI model how to do one specific task. It follows the open Agent Skills format: a SKILL.md file with a name and description, plus any scripts, templates or reference files the model may need. The model reads the instructions only when your request matches the skill, so an installed skill costs nothing until it is used.

How are AI skills different from plugins or MCP servers?

A plugin or MCP server gives a model new tools to call — code that runs somewhere and returns a result. An AI skill gives the model knowledge and process instead: how to approach a task, which steps to follow, what good output looks like. Skills are plain Markdown, so they need no server, no API key and no runtime, and they work with any model.

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇