Install
$ agentstack add skill-brycewang-stanford-aer-skills-aer-workflow ✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
About
AER Workflow
Overview
This is the router. It does not replace any specialized skill. It tells you which one to use next, and in what order.
Default assumption: unless the user names a different venue, the manuscript targets AER, AER: Insights, or an AEJ journal — not a finance journal, not a generic economics field journal, and not a working-paper repository.
When to Use
- The user asks "what should I work on next?"
- The user dumps a draft and you must decide where the bottleneck is
- The user asks for a full paper to be drafted end-to-end and you need the gate sequence
- The user is rotating between writing, empirics, and revision and loses track of which stage they are in
- A new reviewer report has arrived and the work mode must switch from drafting to rebuttal
Routing Map
Use:
aer-topic-selectionwhen the project is new, when the user is undecided between AER / Insights / an AEJ, or when the contribution sentence cannot be written in one lineaer-literaturewhen the closest papers must be mapped (novelty scan, antecedents paragraph) or when any citation needs verifying — for AI-drafted manuscripts, every citationaer-identificationwhen the empirical design is the bottleneck — DiD, IV, RDD, SCM, shift-share, event study, RCT analysisaer-robustnesswhen the main results exist but referee-anticipating checks (placebo, heterogeneity, mechanism, alternative samples) are missing or weakaer-paper-bodywhen drafting or repairing the body sections — background, data, empirical strategy, results narration, magnitude interpretation, mechanisms, conclusionaer-introductionwhen drafting or rewriting the introduction, or when the abstract is over 100 wordsaer-tables-figureswhen regression tables are inconsistent, oversized, footnote-bloated, or do not match AER house styleaer-consistencywhen the assembled manuscript needs the integrity audit — numbers vs. tables, sample sizes, conversions, cross-references, citation two-way matchaer-referee-simwhen a complete draft needs the adversarial desk screen and three simulated referee reports before submissionaer-replicationwhen preparing the AEA Data and Code Availability deposit, writing the README, or auditing reproducibility before acceptanceaer-submissionwhen running the final preflight before clicking submit — length, format, cover letter, conflictsaer-rebuttalwhen reviewer comments exist and a point-by-point response letter plus aligned manuscript edits are neededaer-statspai(optional engine) when the design is already fixed and the user wants to run the empirics from the agent — a unified Python API / MCP server covering DiD, IV, RDD, SCM, robustness, and table export. It executes whataer-identificationchose; it does not replace that choice.
Default Sequence
For most empirical AER-track manuscripts, prefer this order:
aer-topic-selection— fix the contribution sentence and the target venue before anything elseaer-literature— map the 3-6 closest papers; kill the project now if it is scoopedaer-identification— stress-test the design; if it fails here, no later skill saves the paperaer-robustness— anticipate the three robustness checks the median referee will demand (run the empirics viatemplates/oraer-statspai)aer-paper-body— draft background, data, strategy, results, mechanisms, conclusionaer-introduction— only now write the five-paragraph intro and the 100-word abstract, summarizing a body that existsaer-tables-figures— finalize the main exhibits in AER house styleaer-consistency— the integrity audit; every number, reference, and citation must reconcileaer-referee-sim— adversarial internal review; loop back to the routed fix skill until the verdict is at least major R&R on a fresh runaer-replication— assemble the deposit package while results are still fresh in codeaer-submission— final preflight: length, format, cover letter, COIaer-rebuttal— after external review, revise manuscript first, then write the letter against the revised version
Quality Gates for End-to-End Drafting
When the user asks the agent to write the paper, the sequence above is a set of gates, not suggestions. Do not advance past a gate that fails:
- Gate A (after step 3): contribution sentence written, venue chosen, design survives
aer-identificationred flags - Gate B (after step 5): every claim in the draft body traces to an exhibit or a verified citation
- Gate C (after step 8):
aer-consistencyreports all-pass;aer-literaturecitation ledger fully closed - Gate D (after step 9):
aer-referee-simverdict ≥ major R&R on two consecutive fresh runs - Gate E (after step 11):
aer-submissionpreflight all green
Decision Cues
If the user says...
- "I have an idea but I don't know if it's AER-worthy" →
aer-topic-selection - "Has someone already done this?" / "Are these references real?" →
aer-literature - "My DiD has staggered treatment" →
aer-identification - "My first stage F is 8" →
aer-identification(weak-IV branch) - "The referee said the result might be driven by X" →
aer-robustness - "My results section just walks through the tables" →
aer-paper-body - "What does a 0.042 coefficient on log wages mean?" →
aer-paper-body(magnitude rules) - "My intro is 4 pages and the editor hated it" →
aer-introduction - "My table 3 has 14 columns" →
aer-tables-figures - "Do the numbers in my abstract match my tables?" →
aer-consistency - "Tear this draft apart before I submit" →
aer-referee-sim - "The Data Editor flagged my README" →
aer-replication - "I'm submitting tomorrow" →
aer-submission - "I got an R&R with three reports" →
aer-rebuttal - "Just run my staggered DiD / IV / RDD for me" →
aer-statspai(after the design is settled inaer-identification)
Common Mistakes
- polishing the introduction before the identification strategy is stable
- drafting the body before the empirics exist, then bending results prose to fit promises
- writing the abstract before deciding AER vs AER:Insights (the 100-word limit is the same but the framing differs sharply)
- treating tables and figures as a final-week task; AER tables drive how reviewers read results
- submitting without the consistency audit — text-table mismatches are the cheapest rejection trigger there is
- skipping the referee simulation because the deadline is close; the real referees are slower and harsher
- writing the rebuttal letter against the old draft instead of the revised manuscript
- assembling the replication package only after acceptance — the AEA Data Editor's report is now part of the production timeline and can delay publication by weeks
- defaulting to the OLS + cluster-by-state recipe; modern AER demands design-based identification
Anti-Patterns
- Using a generic "scientific writing" skill in place of
aer-introductionoraer-paper-body— the conventions (no intro heading, five-paragraph Head formula, finding-first results paragraphs, magnitude discipline) are economics-specific - Using a generic "data availability" skill in place of
aer-replication— the AEA policy is unusually strict and the openICPSR workflow is specific - Skipping
aer-topic-selectionbecause "I already know this is an AER paper" — desk rejection across the AER family is high, and the top-5 bar is cross-subfield interest, not technical competence - Letting any skill write citations from memory —
aer-literature's verification protocol is mandatory for machine-drafted text - Treating
aer-referee-simpraise as evidence of quality; its only export is the revise list
Repository Resources
When working from the AER-skills repository or plugin bundle, load only the relevant resource:
- Full workflow diagram:
docs/workflow-map.md - Editor/referee no-go checklist:
docs/desk-rejection-audit.md - Estimator and diagnostic defaults:
docs/methods-reference.md - Prose rules shared by the writing skills:
docs/style-guide.md - Scoring rubric for the internal review gate:
docs/referee-report-rubric.md - Policy source register:
docs/source-register.md - SkillOpt-style improvement protocol:
docs/skillopt-evaluation-protocol.md - Held-out routing scenarios:
examples/skillopt-routing-scenarios.json
Skill Optimization Loop
When improving this skill stack, treat aer-workflow as the router under test. Use docs/skillopt-evaluation-protocol.md to collect failures, keep each patch bounded, and accept routing or gate changes only after python3 scripts/run_skillopt_gate.py and make preflight pass. Do not tune the router by naming only the expected skill; use user-like manuscript prompts from examples/skillopt-routing-scenarios.json or add a new scenario first.
Handoff Contract
Whenever this skill is invoked, end with:
NEXT SKILL:
REASON:
INPUTS NEEDED:
GATE STATUS:
This keeps the agent loop tight when the user runs multiple skills in sequence.
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: brycewang-stanford
- Source: brycewang-stanford/AER-Skills
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet — be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.