Skip to content
Automation
Skill

/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

From plugin
auto-empirical-research-skills
5k200 skills

Claude Code

$ npx -y skills add brycewang-stanford/Auto-Empirical-Research-Skills --skill identification-proofs --agent claude-code

SKILL.md

identification-proofs.SKILL.md
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

Read more
@brycewang-stanford
Ships withauto-empirical-research-skills

## 🔥 力荐 · StatsPAI — Stata 与 R 的 Python 平替,为 AI Agent 而生 🔁 Stata / R 平替:reghdfe、csdid、rdrobust、synth、fixest、did 等常用命令在 Python 中一站式替代,一个 import statspai as sp 搞定 DID / RD / IV / SCM / DML / matching 🤖 面向 Agent 设计:结构化结果对象 + 内置 MCP Server,Claude / Codex

Stars on GitHub

Momentum

stars in total
5.0k
Star history of brycewang-stanford/Auto-Empirical-Research-Skills on GitHub, a chart by star-history.com

More skills from other plugins.

agent-builder

agent-builder

Load immediately after an Agent intent, before the first agent_builder_* call. Governs how you create, configure, test, and…

n8n2w209k
@n8n-io@n8n-ioInstall Skill
browser-use

browser-use

Direct browser control via CDP for web interaction: automation, scraping, testing, screenshots, and site/app work. Also covers…

@browser-use@browser-useInstall Skill
add-anydoc

add-anydoc

Add local office-document-to-Markdown conversion to NanoClaw agent containers with the pinned Firecrawl AnyDoc CLI. Use when…

@nanocoai@nanocoaiInstall Skill

Questions about identification-proofs.

Which coding agents can use identification-proofs?
identification-proofs installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.