Awesome-Agent-Skills-for-Empirical-Research regression-table
Formats estimation output as a publication-quality regression table with stars, SEs, and fit statistics. Use when creating a results table.
install
source · Clone the upstream repo
git clone https://github.com/brycewang-stanford/Awesome-Agent-Skills-for-Empirical-Research
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/brycewang-stanford/Awesome-Agent-Skills-for-Empirical-Research "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/29-quarcs-lab-project20XXy/dot-claude/skills/regression-table" ~/.claude/skills/brycewang-stanford-awesome-agent-skills-for-empirical-research-regression-table && rm -rf "$T"
manifest:
skills/29-quarcs-lab-project20XXy/dot-claude/skills/regression-table/SKILL.mdsource content
Format Regression Table
Create a publication-quality regression table from estimation output in a notebook.
Arguments
— a notebook reference and/or description of the table (e.g., "notebook-02 OLS results" or "main regression table with 3 specifications")$ARGUMENTS
Steps
-
Identify the source notebook and the estimation output:
- If a notebook name is provided, read that notebook
- If no notebook is specified, ask the user which notebook contains the regression results
- Look for cells with estimation commands (Python:
,statsmodels
; R:linearmodels
,lm
,fixest
; Stata:felm
,reg
,reghdfe
)ivregress
-
Ask the user for table specifications:
- Which models/columns to include
- Dependent variable name(s)
- Which coefficients to display (or "all")
- Fixed effects to report as Yes/No rows
- Clustering level for standard errors
- Any custom notes for the table footer
-
Construct the table following academic conventions:
- Header row: Dependent variable name spanning all columns, column numbers (1), (2), (3)...
- Coefficient rows: Point estimate on top, standard error in parentheses below
- Significance stars:
p<0.10,*
p<0.05,**
p<0.01*** - Fixed effects rows: Yes/No indicators
- Summary rows: Observations (N), R-squared, Adjusted R-squared, or other fit statistics
- Footer: Significance legend and notes about standard errors
-
Create or update a cell in the specified notebook with:
- Cell directive:
(or#| label: tbl-<descriptive-name>
for Stata)*| - Cell directive:
(or#| tbl-cap: "<caption>"
for Stata)*| - The code to generate the formatted Markdown table
- Stata caveat: Do NOT use
prefix for Stata text output — use a plain label instead (e.g.,tbl-
)stata-regression
- Cell directive:
-
Sync the Jupytext pair:
uv run jupytext --sync notebooks/<name>.md -
Show the user the embed shortcode to paste into
:index.qmd{{< embed notebooks/<name>.ipynb#tbl-<label> >}}
Error handling
- If the notebook has no estimation output, report this and ask the user to run the regressions first.
- If the estimation output format is not recognized, ask the user to provide the raw coefficients and standard errors.