SuperAPI AI Directory

Significance-Search

General & other

View repository

Updated 10-15 17:30

About this skill

Control Variable Search Skill

This skill generates a parallelised Stata .do file that:

  1. Enumerates all subsets of optional control variables via tuples
  2. Runs reghdfe (or user-specified command) for each combination across N parallel Stata instances
  3. Ranks combinations by |t| of the independent variable
  4. Reports Top 10 and runs the best combination regression

Important: This skill only generates the .do file. It does NOT execute it. Tell the user the output path and let them run it in Stata themselves.

What to collect from the user

Ask the user for the following. Items marked (required) must be provided; others have defaults.

Parameter Description Default
data file (required) Full path to the .dta file --
dependent variable (Y) (required) Y variable name --
independent variable (X) (required) X variable of interest --
cluster variable (required) Variable for clustering SE and fixed effects --
mandatory controls (required) Controls always included --
optional controls (required) Controls to search over (all subsets) --
N_WORKERS Number of parallel Stata instances 8
significance level Two-tailed alpha 0.01
model command Estimation command reghdfe
absorb Fixed effects specification absorb(<<CLUSTER>> year)
vce Variance-covariance specification vce(cluster <<CLUSTER>>)
STATA_EXE Path to Stata executable E:\Stata\StataMP-64.exe

Critical constraints

  • Optional controls must be <= 14 variables. With 15+ variables, tuples generates 32,768+ combinations and will freeze Stata. If the user provides more than 14, warn them and ask them to reduce or move some into mandatory controls.
  • The output .do file path is <data_dir>\控制变量搜索_并行.do by default, placed next to the data file.

How to generate

After collecting parameters:

  1. Read the template at C:\Users\Verasuna\.claude\skills\ControlVariable\template.do
  2. Replace all <<PLACEHOLDERS>> with user-provided values (see table below)
  3. Write the result to <data_dir>\控制变量搜索_并行.do
  4. Do NOT execute it. Tell the user: "The do file has been generated to , please run it manually in Stata."

Do not modify any code logic in the template. Only replace placeholders.

Placeholder reference

<<N_WORKERS>>          e.g. 8
<<STATA_EXE>>          e.g. E:\Stata\StataMP-64.exe
<<PROJ_DIR>>           directory containing the .dta file
<<DATA_FILE>>          filename of .dta (just the name, not full path)
<<SIGNIFICANCE>>       e.g. 0.01
<<DEP_VAR>>            dependent variable (Y)
<<INDEP_VAR>>          independent variable (X)
<<MANDATORY_CONTROLS>> space-separated mandatory controls
<<OPTIONAL_CONTROLS>>  space-separated optional controls
<<MODEL_CMD>>          e.g. reghdfe
<<MODEL_ABSORB>>       e.g. absorb(stkcd year)
<<MODEL_VCE>>          e.g. vce(cluster stkcd)
<<HEARTBEAT_STALL>>    300

Typical usage

User says: "Y is GTFPEFF8, X is Size, cluster to stkcd, required control variable Lev, optional control variables ROA ROE ATO Cashflow, data file is C:\data\mydata.dta"

Then fill:

  • <<DEP_VAR>> = GTFPEFF8
  • <<INDEP_VAR>> = Size
  • <<MODEL_ABSORB>> = absorb(stkcd year)
  • <<MODEL_VCE>> = vce(cluster stkcd)
  • <<MANDATORY_CONTROLS>> = Lev
  • <<OPTIONAL_CONTROLS>> = ROA ROE ATO Cashflow
  • <<PROJ_DIR>> = C:\data
  • <<DATA_FILE>> = mydata.dta
  • Other placeholders use defaults