/identification-proofs
This skill covers formal identification arguments and proofs in structural and reduced-form econometrics. Use when the user needs to prove or formalize that a parameter is identified — including writing identification propositions, stating regularity conditions, deriving rank
$ npx -y skills add brycewang-stanford/Auto-Empirical-Research-Skills --skill identification-proofs --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
- You can call itInvoke it directly when you want it.
- Slash command
/identification-proofs
Context preview
The summary Claude sees to decide when to auto-load this skill.
This skill covers formal identification arguments and proofs in structural and reduced-form econometrics. Use when the user needs to prove or formalize that a parameter is identified — including writing identification propositions, stating regularity conditions, deriving rank
SKILL.md
identification-proofs.SKILL.mdname: identification-proofs
argument-hint: "<target parameter or identification result>"
description: >-
This skill covers formal identification arguments and proofs in structural and reduced-form econometrics. Use when the user needs to prove or formalize that a parameter is identified — including writing identification propositions, stating regularity conditions, deriving rank conditions, or showing observational equivalence fails. Triggers on "identification proof", "identification argument", "identify the parameter", "show identification", "identification condition", "exclusion restriction proof", "rank condition", "order condition", "identification strategy formal", "nonparametric identification", "parametric identification", "local identification", "global identification", "observational equivalence", "identification at infinity", "completeness condition", "regularity conditions", "Rothenberg", "proof of identification", "identification result", "identified parameter", "point identified", "set identified", "partial identification".
Identification Proofs
Reference for writing formal and informal identification arguments: from stating the target parameter precisely, through deriving the identification result, to connecting it to a feasible estimator.
**Detail files** (load on demand):
- `references/derivation-tools.md` — IFT approach, completeness, worked proofs for LATE/RDD/DiD/BLP
- `references/proof-template.md` — LaTeX and plain-language templates for identification propositions
- `references/regularity-and-partial-id.md` — Regularity conditions checklist and partial identification methods
When to Use This Skill
Use when the user is:
- Writing a formal identification proposition for a paper or theory appendix
- Deriving whether a structural or causal parameter is point identified
- Stating and verifying regularity conditions for an identification result
- Working through rank or order conditions for GMM moment conditions
- Arguing identification for IV, DiD, RDD, or structural models
- Checking whether two models are observationally equivalent
- Characterizing an identified set under partial identification
Skip when:
- The task is implementing a causal estimator (use `causal-inference` skill)
- The task is structural model estimation code (use `structural-modeling` skill)
- The user needs only informal intuition, not a formal argument
---
What Identification Means
**Core definition.** A parameter $\theta_0$ is *identified* if the map from the true parameter value to the distribution of observables is injective: $P_{\theta_1} = P_{\theta_2} \implies \theta_1 = \theta_2$.
**Key distinctions:**
- **Local vs global**: Local identification holds in a neighborhood of $\theta_0$ (Rothenberg 1971). Global identification requires uniqueness over the entire parameter space. Estimation needs global identification for a well-defined probability limit.
- **Point vs set**: Under point identification, data uniquely determine $\theta_0$. Under partial identification (Manski 1990), data are consistent with an identified set $\Theta^* \supseteq \{\theta_0\}$.
- **Observational equivalence**: Identification fails when two distinct parameter values generate the same observable distribution.
**Why identification precedes estimation.** A parameter can only be consistently estimated if it is identified. Code runs and produces output even when parameters are unidentified — checking identification before estimation prevents hard-to-diagnose failures.
---
The 7-Step Canonical Structure
Every formal identification argument follows this architecture. Work through all seven steps before claiming identification.
Step 1 — Target Parameter
State precisely *what* $\theta$ you want to identify — not "the causal effect" but the exact functional or structural parameter (e.g., coefficient $\beta$ under endogeneity, the ASF $g(x) = E[Y(x)]$, taste parameters in BLP). **Common mistake:** conflating the target with the estimand (LATE is not ATE; ATT from DiD is not ATE).
Step 2 — Model Primitives
State observables $(Y, X, Z)$, latent variables ($\varepsilon$, unobserved heterogeneity), structural equations, error restrictions (independence, mean independence), functional form (parametric vs nonparametric), and equilibrium concept if applicable.
Step 3 — Source of Variation
State what observable variation provides identification leverage: instrument variation (IV), policy changes across groups (DiD), proximity to a cutoff (RDD), cost shifters entering supply but not demand (structural). The source must be distinct from functional form assumptions.
Step 4 — Key Assumptions
Enumerate identifying assumptions explicitly (label A1, A2, ...). Common categories: exclusion restrictions, rank/order conditions, support conditions, independence, monotonicity (LATE), continuity (RDD), parallel trends (DiD). Each must be statable in population terms and either testable or defended substantively.
Step 5 — Identification Result
Derive identification via one of three strategies: 1. **Explicit formula**: $\theta_0 = h(P_{\theta_0})$ — strongest form, gives both identification and an estimator 2. **Implicit function theorem**: moment conditions $E[m(X;\theta)] = 0$ have $\theta_0$ as unique solution (Jacobian has full rank) — see `references/derivation-tools.md` 3. **Injectivity argument**: show $P_{\theta_1} = P_{\theta_2} \implies \theta_1 = \theta_2$ directly
Step 6 — Regularity Conditions
State conditions under which the result holds: support, rank, order, compactness, continuity, integrability, unique zero, monotonicity, no anticipation, overlap. Full checklist in `references/regularity-and-partial-id.md`.
Step 7 — Estimation Link
Connect identification to a feasible estimator: explicit formula yields plug-in estimator $\hat\theta = h(P_n)$; moment conditions yield GMM; likelihood yields MLE. State the consistency result.
---
Identification Arguments by Metho
Read more
name: identification-proofs argument-hint: "<target parameter or identification result>" description: >- This skill covers formal identification arguments and proofs in structural and reduced-form econometrics. Use when the user needs to prove or formalize that a parameter is identified — including writing identification propositions, stating regularity conditions, deriving rank conditions, or showing observational equivalence fails. Triggers on "identification proof", "identification argument", "identify the parameter", "show identification", "identification condition", "exclusion restriction proof", "rank condition", "order condition", "identification strategy formal", "nonparametric identification", "parametric identification", "local identification", "global identification", "observational equivalence", "identification at infinity", "completeness condition", "regularity conditions", "Rothenberg", "proof of identification", "identification result", "identified parameter", "point identified", "set identified", "partial identification".
Identification Proofs
Reference for writing formal and informal identification arguments: from stating the target parameter precisely, through deriving the identification result, to connecting it to a feasible estimator.
**Detail files** (load on demand):
- `references/derivation-tools.md` — IFT approach, completeness, worked proofs for LATE/RDD/DiD/BLP
- `references/proof-template.md` — LaTeX and plain-language templates for identification propositions
- `references/regularity-and-partial-id.md` — Regularity conditions checklist and partial identification methods
When to Use This Skill
Use when the user is:
- Writing a formal identification proposition for a paper or theory appendix
- Deriving whether a structural or causal parameter is point identified
- Stating and verifying regularity conditions for an identification result
- Working through rank or order conditions for GMM moment conditions
- Arguing identification for IV, DiD, RDD, or structural models
- Checking whether two models are observationally equivalent
- Characterizing an identified set under partial identification
Skip when:
- The task is implementing a causal estimator (use `causal-inference` skill)
- The task is structural model estimation code (use `structural-modeling` skill)
- The user needs only informal intuition, not a formal argument
---
What Identification Means
**Core definition.** A parameter $\theta_0$ is *identified* if the map from the true parameter value to the distribution of observables is injective: $P_{\theta_1} = P_{\theta_2} \implies \theta_1 = \theta_2$.
**Key distinctions:**
- **Local vs global**: Local identification holds in a neighborhood of $\theta_0$ (Rothenberg 1971). Global identification requires uniqueness over the entire parameter space. Estimation needs global identification for a well-defined probability limit.
- **Point vs set**: Under point identification, data uniquely determine $\theta_0$. Under partial identification (Manski 1990), data are consistent with an identified set $\Theta^* \supseteq \{\theta_0\}$.
- **Observational equivalence**: Identification fails when two distinct parameter values generate the same observable distribution.
**Why identification precedes estimation.** A parameter can only be consistently estimated if it is identified. Code runs and produces output even when parameters are unidentified — checking identification before estimation prevents hard-to-diagnose failures.
---
The 7-Step Canonical Structure
Every formal identification argument follows this architecture. Work through all seven steps before claiming identification.
Step 1 — Target Parameter
State precisely *what* $\theta$ you want to identify — not "the causal effect" but the exact functional or structural parameter (e.g., coefficient $\beta$ under endogeneity, the ASF $g(x) = E[Y(x)]$, taste parameters in BLP). **Common mistake:** conflating the target with the estimand (LATE is not ATE; ATT from DiD is not ATE).
Step 2 — Model Primitives
State observables $(Y, X, Z)$, latent variables ($\varepsilon$, unobserved heterogeneity), structural equations, error restrictions (independence, mean independence), functional form (parametric vs nonparametric), and equilibrium concept if applicable.
Step 3 — Source of Variation
State what observable variation provides identification leverage: instrument variation (IV), policy changes across groups (DiD), proximity to a cutoff (RDD), cost shifters entering supply but not demand (structural). The source must be distinct from functional form assumptions.
Step 4 — Key Assumptions
Enumerate identifying assumptions explicitly (label A1, A2, ...). Common categories: exclusion restrictions, rank/order conditions, support conditions, independence, monotonicity (LATE), continuity (RDD), parallel trends (DiD). Each must be statable in population terms and either testable or defended substantively.
Step 5 — Identification Result
Derive identification via one of three strategies: 1. **Explicit formula**: $\theta_0 = h(P_{\theta_0})$ — strongest form, gives both identification and an estimator 2. **Implicit function theorem**: moment conditions $E[m(X;\theta)] = 0$ have $\theta_0$ as unique solution (Jacobian has full rank) — see `references/derivation-tools.md` 3. **Injectivity argument**: show $P_{\theta_1} = P_{\theta_2} \implies \theta_1 = \theta_2$ directly
Step 6 — Regularity Conditions
State conditions under which the result holds: support, rank, order, compactness, continuity, integrability, unique zero, monotonicity, no anticipation, overlap. Full checklist in `references/regularity-and-partial-id.md`.
Step 7 — Estimation Link
Connect identification to a feasible estimator: explicit formula yields plug-in estimator $\hat\theta = h(P_n)$; moment conditions yield GMM; likelihood yields MLE. State the consistency result.
---
Identification Arguments by Metho
📌 文档结构(2026-07-22 起): 本文件是中文默认入口 —— banner + badges + 信任面 + 9 阶段流水线速览 + 76 行合集总表。 每个合集的完整描述、按用途分组、精确数字、验证方法在 docs/CONTENT_ZH.md(扩展正文,总表行内的 → 直接跳转到对应锚点)。 English version: README-en.md · 中文扩展正文:docs/CONTENT_ZH.md · README-zh-CN.md 已弃用(重定向占位) 🌐 语言: English |
Other skills on auto-empirical-research-skills.
- /pipeline
Classical end-to-end empirical analysis workflow in the traditional Python econometric stack — pandas + numpy + scipy + statsmodels + linearmodels + pyfixest + rdrobust + econml + causalml + matplotlib/seaborn. **Defaults to economics empirical-paper style** (AER / QJE / AEJ) —
Open skill - /pipeline
Classical end-to-end empirical analysis workflow in the modern tidyverse + econometrics R ecosystem — dplyr + tidyr + haven + fixest + sandwich + lmtest + clubSandwich + AER + ivreg + did + bacondecomp + HonestDiD + eventstudyr + rdrobust + rddensity + Synth + gsynth + synthdid
Open skill - /pipeline
Classical end-to-end empirical analysis workflow in the traditional Stata ecosystem — native Stata + reghdfe + ivreg2 + csdid + did_imputation + eventstudyinteract + sdid + rdrobust + rddensity + synth + synth_runner + psmatch2 + teffects + ebalance + coefplot + esttab + asdoc +
Open skill - /00-Full-empirical-analysis-skill_StatsPAI
Use when the user asks to run a full empirical / causal analysis in Python — by default in the style of an applied economics paper (AER / QJE / JPE / ReStud / AEJ) with DID / RD / IV / SCM / DML / matching, written-out estimating equation + identifying assumption, Table 1 /
Open skill - /00.1-Full-empirical-analysis-skill_Python
Classical end-to-end empirical analysis workflow in the traditional Python econometric stack — pandas + numpy + scipy + statsmodels + linearmodels + pyfixest + rdrobust + econml + causalml + matplotlib/seaborn. **Defaults to economics empirical-paper style** (AER / QJE / AEJ) —
Open skill - /00.2-Full-empirical-analysis-skill_Stata
Classical end-to-end empirical analysis workflow in the traditional Stata ecosystem — native Stata + reghdfe + ivreg2 + csdid + did_imputation + eventstudyinteract + sdid + rdrobust + rddensity + synth + synth_runner + psmatch2 + teffects + ebalance + coefplot + esttab + asdoc +
Open skill

