CommunityRecherche & Datenanalysegithub.com

LWWalker2202/econ-research-kit

Aktionsbibliothek für empirische Wirtschaftsforschung – unterteilt eine Studie in acht ausführbare Arbeitsschritte (Machbarkeit, Identifikation, Daten, Schätzung, Tabellen/Abbildungen, Bericht, Schreiben, Begutachtung). Jeder Schritt definiert Eingaben, Schritte, Ausgabedateien und Abnahmekriterien. Für jede empirische wirtschaftswissenschaftliche Forschungsaufgabe.

Was ist econ-research-kit?

Das econ-research-kit ist eine systematische Aktionsbibliothek, die den gesamten empirischen Forschungsprozess in der Wirtschaftswissenschaft in acht klar definierte und ausführbare Arbeitsschritte unterteilt: Machbarkeitsprüfung, Identifikationsdesign, Datenaufbereitung, Schätzung, Erstellung von Tabellen und Abbildungen, Berichterstellung, Schreiben und Begutachtung. Es ist als Workflow-Bibliothek konzipiert, nicht als bloße Sammlung von Prompts. Jeder Schritt deklariert explizit seine Eingaben, die zu produzierenden Artefakte und Abnahmekriterien. Das Kit zielt darauf ab, Forschung reproduzierbar und überprüfbar zu machen, indem es sicherstellt, dass jeder Schritt eine Datei hinterlässt, die von anderen nachvollzogen werden kann. Es wird von einer Reihe von Python-Skripten (preflight.py, recall.py, stage.py, gate.py, workflow_check.py) unterstützt, die den Ablauf strukturieren, den Fortschritt verfolgen und sicherstellen, dass keine Entscheidung getroffen wird, ohne dass der Benutzer sie bestätigt hat. Zusätzlich enthält es domänenspezifische Kenntnisse in 12 Bereichen (z. B. Energie/Umwelt, Arbeit, Bildung) und ein Datenwörterbuch für chinesische Mikrodatenquellen. Eine zentrale Regel ist das „Ask before you answer“: Vor jedem Arbeitsschritt müssen die vier Analyse-Slots (Analyseeinheit, Behandlungsvariable, Ergebnis, Vergleich) ausgefüllt sein, bevor mit der Arbeit begonnen wird.

Funktioniert mit~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/LWWalker2202/econ-research-kit/tree/HEAD

Installed? Explore more Recherche & Datenanalyse skills: affaan-m/uspto-database, affaan-m/scholar-evaluation, affaan-m/literature-review · View all 6 →

In Ihrer bevorzugten KI fragen

Öffnet einen neuen Chat, in dem dieser Agent-Skill bereits geladen ist.

Dokumentation

Was macht econ-research-kit?

Wirtschaftsforschung als eine Reihe ausführbarer Schritte. Keine Promptsammlung – eine Workflow-Bibliothek, in der jede Fertigkeit ihre Eingaben, ihre Artefakte und ihre Abnahmekriterien deklariert.

Was dies ist und was nicht

Dies ist ein Satz von acht Fertigkeiten, die jeweils eine Phase eines empirischen Projekts abdecken. Jede Fertigkeit sagt Ihnen, wann Sie sie aufrufen, was sie benötigt, was zu tun ist, welche Dateien sie produzieren muss und wie das Ergebnis zu überprüfen ist.

Dies ist keine Prompt-Deponierung. Ein Prompt erzeugt Text. Eine Fertigkeit erzeugt Dateien, die eine andere Person erneut ausführen kann. Wenn eine Phase damit endet, dass „der Assistent einen schönen Absatz geschrieben hat“, ist die Phase nicht abgeschlossen.

Auch nicht: ein Ersatz für Ihr Urteilsvermögen in Bezug auf die Identifikation. Die Fertigkeiten hier zwingen Sie, Ihre Annahmen und deren Gefährdungen zu benennen. Sie können Ihnen nicht sagen, ob die Annahmen halten.

Begleitbuch: book/ enthält Prompt Engineering for Economists von LW Walker, mit lieben Freunden und lieber Familie, 208 Seiten und sechzig Vorlagen. Das Buch erklärt, warum jede Phase so gestaltet ist; dieses Repository sagt, was darin zu tun ist. book/README.md bildet Kapitel auf Phasen ab.

Die acht Phasen

#PhaseFertigkeitDie Frage, die sie beantwortet
0Machbarkeitstorskills/feasibility/Kann das überhaupt mit den verfügbaren Daten und der Variation durchgeführt werden?
1Problem und Literaturskills/literature/Ist die Lücke real und ist sie einen Aufsatz wert?
2Identifikationsdesignskills/identification/Welche Variation identifiziert den Effekt und was würde ihn zerstören?
3Datenskills/data-prep/Sind die Variablen so definiert, wie ich denke?
4Schätzungskills/estimation/Ist die Spezifikation vertretbar und wogegen schützt jeder Robustheitstest?
5Tabellen und Abbildungenskills/tables-figures/Erfüllen die Ausgaben das Zeitschriftenformat?
6Berichtskills/report/Kann jemand anderes dies von meinen Dateien aus reproduzieren?
7Schreiben und Einreichenskills/writing/Trägt die Prosa die Identifikationsgeschichte?
—Antwort auf Gutachtenskills/review/Wie antworte ich, ohne zuzugeben, was ich nicht zugeben sollte?

Phase 0 ist ein Tor, kein Schritt. Falls sie scheitert, anhalten. Bereinigen Sie keine Daten für ein Projekt, dessen Identifikation nicht funktionieren kann.

Routing: Was der Benutzer sagt, welche Fertigkeit aufzurufen ist

Bevor Sie die folgende Tabelle lesen, führen Sie python scripts/preflight.py "<die Worte des Benutzers>" aus. Es sagt Ihnen, welche der vier Slots fehlen. Führen Sie dann python scripts/spec.py "<die Worte des Benutzers>" aus: es gibt einen Aufgaben-Spezifikationsentwurf aus – die vier Slots, die gelesene Phase, einen bearbeitbaren Prompt und die drei zu bestätigenden Dinge – und diesen Entwurf zeigen Sie dem Benutzer, bevor Sie irgendeine Arbeit erledigen. Bearbeiten Sie ihn gemeinsam, dann beginnen Sie. Jeder „erste Schritt“ in der Tabelle erfolgt erst, nachdem die vier Slots gefüllt sind; solange ein Slot offen ist, besteht der einzige Schritt darin, danach zu fragen.

Der Benutzer sagt etwas wieEintretenErster Schritt
„Ich möchte X untersuchen, kann man das machen?“ / „Gibt es Daten?“ / „this is probably infeasible“skills/feasibility/Zählen Sie die Daten und die Variation auf, bevor Sie Code schreiben
„Hat schon jemand zu diesem Thema gearbeitet?“ / „novelty“ / „Literaturlücke“skills/literature/Schreiben Sie zuerst den Suchplan, dann erstellen Sie die Matrix
„Ich verwende DID / IV / RDD / Ereignisstudie“ / „Identifikationsstrategie“ / „how do I identify this“skills/identification/Schreiben Sie die Bedrohungsliste vor der Regression
„Daten bereinigen“ / „Wie konstruiere ich die Variable?“ / „merge nicht möglich“ / „Definition“skills/data-prep/Überprüfen Sie zuerst Variablendefinitionen über Jahre hinweg
„Regression laufen lassen“ / „Fixeffekte hinzufügen“ / „Robustheit“ / „robustness“skills/estimation/Rechtfertigen Sie die Clusterungsebene und die Fixeffekt-Menge
„Tabelle erstellen“ / „Dreilinientabelle“ / „Ereignisstudie zeichnen“ / „regression table“skills/tables-figures/Entscheiden Sie Stata oder Python, dann an das Zeitschriftenformat anpassen
„Als Bericht aufbereiten“ / „Reproduzieren“ / „replication package“skills/report/Machen Sie den Bericht zu einer Skriptausgabe, niemals eine manuell bearbeitete Datei
„Abstract schreiben“ / „Einleitung schreiben“ / „Einreichen“ / „abstract“skills/writing/Verfassen Sie den Identifikationsabsatz vor der Einleitung
„Wie antworte ich auf Gutachterkommentare?“ / „referee report“ / „rebuttal“skills/review/Klassifizieren Sie jeden Kommentar als Muss / Diskutierbar / Ablehnbar

Wenn zwei Fertigkeiten gleichermaßen zutreffen könnten, gehen Sie stromaufwärts. Ein Tabellenproblem ist normalerweise ein Spezifikationsproblem; ein Spezifikationsproblem ist normalerweise ein Identifikationsproblem.

Vor allem anderen: Erinnern, dann Fragen

Jede Sitzung beginnt mit Dateien, nicht mit Erinnerung:

python scripts/recall.py

Es gibt aus, wo das Projekt steht, was der letzte Schritt produziert hat und was noch offen ist. Eine Sitzung, die dies auslässt, wird Fragen wiederholen, die das Repository bereits beantwortet, oder etwas neu erstellen, das bereits existiert. Führen Sie es zuerst aus, dann scripts/preflight.py, dann antworten.

Fünf harte Regeln

1. Fragen Sie, bevor Sie antworten: fahren Sie erst fort, wenn die vier Slots gefüllt sind. Bei jeder Forschungsanfrage ist die erste Aktion python scripts/preflight.py "<die Worte des Benutzers in ihrer eigenen Sprache>". Es zerlegt die Frage in vier Slots – Analyseebene, Behandlungsvariable, Ergebnis, Vergleich – und sagt Ihnen, welche fehlen.

  • Fehlende Slots: schreiben Sie höchstens drei Fragen, stellen Sie sie alle auf einmal, dann anhalten und auf die Antwort warten.
  • Ein Slot, den Sie durch Rückschluss gefüllt haben, muss mit „unter der Annahme X“ gekennzeichnet werden, und der Benutzer muss es bestätigen.
  • Erst wenn alle vier Slots gefüllt sind – vom Benutzer oder durch eine Annahme, die der Benutzer bestätigt hat – dürfen Sie Schritt 2 einer Fertigkeit betreten. Dies ist die einzige Regel im Kit, die ein Anhalten erfordert, um auf einen Menschen zu warten. Arbeit, die jenseits dieses Tores erstellt wird, ist eine Vermutung in den Kleidern eines Dokuments.

2. Lesen Sie glossary.yaml, bevor Sie einen methodischen Begriff schreiben. Es hat drei Ebenen: locked (wörtlich verwenden), pending (den ersten Kandidaten verwenden und die Alternative in Klammern setzen), fallback (das chinesische Eigennamen behalten, die englische Erweiterung einmal angeben). Die Verletzung einer locked-Übersetzung ist ein Defekt, keine Stilwahl.

3. Domänenspezifisches lebt in domains/, nicht in den Fertigkeiten. Fertigkeiten beschreiben, wie gearbeitet wird. Sie beschreiben nicht, was 中央环保督察 ist, wie CFPS Bildung definiert oder was Gutachter zur Umweltbelastung fragen. Der letzte Abschnitt jeder Fertigkeit sagt, welche Domänendatei zu öffnen ist. Öffnen Sie sie.

4. Jede Phase muss eine Datei hinterlassen, und jede Datei muss ihre Abnahmeliste bestehen. ## Acceptance ist eine Checkliste, kein Vorschlag. Ein Punkt, zu dem Sie nicht mit Ja/Nein antworten können, ist ein schlecht formulierter Punkt – schreiben Sie ihn um.

5. Sagen Sie, wo Sie sind, bevor Sie etwas anderes tun. Jede Antwort, die eine Phase betritt, beginnt mit drei Zeilen: welche Phase (Nummer und Name), was allein dieser Schritt tut (ein Satz, niemals „die Daten analysieren“) und welche Datei er produzieren wird, plus ob der Benutzer bestätigen muss, bevor Sie fortfahren. Eine Antwort ohne diesen Header ist eine Blackbox, und der Benutzer bezahlt dafür.

Jede Phase endet auch damit, eine Frage zu stellen und zu warten. Siehe die Tabelle unten.

Acht Bestätigungspunkte

Das Tor in Phase 0 ist nicht das einzige. Jede Phase schließt mit einer Frage und hält an. Dies ist keine Höflichkeit: Eine Entscheidung, die der Benutzer nie gesehen hat, ist eine Entscheidung, die der Benutzer nicht korrigieren kann.

PhaseDie Frage, anzuhalten und zu stellenFortfahren ohne Antwort?
0 MachbarkeitDie vier Slots sind gefüllt; können Sie die beiden, die ich erschlossen habe, bestätigen?Nein
1 Problem und LiteraturWelche dieser drei Kandidatenfragen? Ist die Lücke diese?Nein
2 IdentifikationsdesignBehandlungsgruppe, Vergleichsgruppe, Zeitpunkt so festgelegt: akzeptieren Sie das?Nein
3 DatenVariablendefinitionen und Stichprobengrenzen so festgelegt: akzeptieren Sie das?Nein
4 SchätzungHauptspezifikation und diese Robustheitsliste: etwas hinzufügen oder entfernen?Nein
5 Tabellen und AbbildungenDieses Tabellenlayout und dieser Anmerkungsstil: ist das, was Sie wollen?Nein
6 BerichtEinseitige Schlussfolgerung so geschrieben: irgendeine Änderung, wie die Zahlen gelesen werden?Nein
7 SchreibenWelcher Teil dieses Entwurfs geht zurück?Nein
8 GutachtenantwortÜberarbeiten wir diesen Kommentar oder widersprechen wir, und ist das der Grund?Nein

python scripts/stage.py 3 gibt den Header und die Frage für jede Phase aus, damit der Wortlaut zwischen den Sitzungen nicht abweicht. workflows/main.yaml ist derselbe Hauptpfad, geschrieben als maschinenlesbarer Übergabevertrag: jede Phase deklariert requires (was bereits auf der Festplatte sein muss) und produces (was es hinterlassen muss), und python scripts/workflow_check.py schlägt fehl, wenn eine Phase etwas erfordert, das keine frühere Phase produziert. python scripts/gate.py status macht das Tor mechanisch statt zu einer Konvention: es führt eine projektspezifische Zustandsdatei (.econ-kit/gate.json), weigert sich fortzufahren, bis die Artefakte der Phase existieren und eine menschliche Antwort von mindestens acht Zeichen aufgezeichnet ist, und protokolliert die Antwort mit einem Zeitstempel. gate.py pass "<die Antwort>" ist der einzige Weg nach vorne; --force existiert, schreibt aber die Lücke in die Aufzeichnung. Um zu sehen, wonach die Prüfungen einer Phase eigentlich suchen, führen Sie python scripts/explain.py 6 aus (--list zeigt alle neun Phasen an; für die Phasen 3 und 4, die bereits ausführbare Skripte haben, verweist es auf diese Skripte und stattdessen auf die Abnahmeliste der Fertigkeit).

Wenn ein Begriff unsicher ist

Nie stillschweigend eine Übersetzung wählen. Wenn der Begriff in pending ist, den ersten Kandidaten verwenden und die Alternative in Klammern anhängen. Maximal drei solcher Stellen in einer Ausgabe markieren; darüber hinaus den ersten Kandidaten stillschweigend verwenden und eine Zusammenfassungszeile am Ende hinzufügen.

Wenn der Begriff überhaupt nicht im Glossar ist, das chinesische Original behalten und eine englische Erweiterung in Klammern angeben. Dann fügen Sie es zu pending in glossary.yaml hinzu, damit die nächste Person nicht wieder entscheiden muss.

Domänensuche

RichtungVerzeichnis
Energie- und Umweltökonomiedomains/energy-env/
Arbeitsökonomiedomains/labor/
Bildungsökonomiedomains/education/
Gesundheitsökonomiedomains/health/
Verhaltens- und experimentelle Ökonomiedomains/behavioral/
Entwicklung und Feldexperimentedomains/development/
Öffentliche Wirtschaft und Politikevaluierungdomains/public/
Industrieökonomik und Regulierungdomains/industrial-organization/
Handels- und Raumwirtschaftdomains/trade-spatial/
Makroökonomie und Finanzendomains/macro-finance/
Wirtschaftsgeschichte und Textquellendomains/economic-history/
Theoretische Modellierung und Mechanismusdesigndomains/theory/

Zwölf Richtungen werden abgedeckt. Die ersten drei sind diejenigen, um die dieses Kit herum gebaut wurde; Arbeit, Bildung und Gesundheit sind die drei Felder, die das Buch zusammen unter angewandter Mikroökonomie behandelt; der Rest wurde hinzugefügt, damit ein Leser außerhalb der angewandten Mikroökonomie dennoch ein Regal zum Stehen findet.

Jede Richtung hat fünf Dateien: institutional.md (Hintergrund und zitierfähige Absätze), measures.md (wie die Behandlungsvariable aufgebaut ist), data.md (Quellen und Variablennamen), pitfalls.md (was Gutachter fragen und wie zu antworten ist) und route.md (wie diese Richtung die acht Phasen durchläuft).

Daten

data-dict/ enthält chinesische Mikrodatenquellen: CFPS, CHARLS, die Datenbank chinesischer Industrieunternehmen und Umweltüberwachungsdaten. Überprüfen Sie es, bevor Sie einen Variablennamen erfinden – der Datensatz hat wahrscheinlich bereits einen. Wenn Ihre Quelle nicht dort ist, lesen Sie zuerst data-dict/README.md: einige Quellen erhalten einen Eintrag und einige bewusst nicht, und ein erratener Variablenname ist schlimmer als einer, der als solcher gekennzeichnet ist.

Wenn die Frage nicht „Wie heißt diese Variable“ ist, sondern „Existiert überhaupt eine Quelle dafür“, durchsuchen data-dict/_catalog.md und scripts/lookup_source.py ein externes Verzeichnis mit über tausend Quellen, mit Zugriffslinks und Anwendungspapieren. Diese Treffer sind Hinweise, keine Einträge: die nummerierten Dateien hier bleiben der einzige Ort, an dem Details auf Variablenebene niedergeschrieben sind.

Was dieses Kit nicht tun wird

  • Es wird nicht entscheiden, ob Ihre Identifikation glaubwürdig ist. Es wird Sie zwingen, die Bedrohungen aufzuschreiben.
  • Es wird nicht das Lesen des Papiers ersetzen, das Sie zitieren. Halluzinierte Referenzen sind der häufigste Fehler bei KI-unterstütztem Schreiben; skills/writing/ beinhaltet einen Verifikationsschritt.
  • Es wird nicht von alleine laufen. Die Skripte in scripts/ überprüfen die Struktur; die Analyse ist Ihre.

Verwandte Skills