How I Use AI as an Economist

Notes from using AI in real, months-long research projects. Not a tutorial — what I have learned, what works, and what doesn't. Written for researchers who already use AI and want tricks beyond the basics.

Last updated: April 21, 2026. Download PDF version.

Principles

Three ideas that shape how I use AI day to day.

Dispatches

Notes I add as I learn. Sorted by most recently updated. Each card carries a permanent number (#N) and a floating Updated date.

#13 Updated Apr 21, 2026

Git worktrees in Claude Code: keep main clean, run agents in parallel

Research runs for months and most trials fail. Keeping every failed attempt on main pollutes Claude's context; running parallel agents on one tree creates file conflicts. One flag — claude -w <name> — isolates each exploration in its own worktree, so only the winners ever touch main.

#12 Updated Apr 20, 2026

Reviewing Claude Code's work: review the plan, the execution, or both

Principle 3 in practice. Review the plan when re-running is expensive (GPU training, LLM API calls). Review the execution when it is cheap to replicate. The mechanism is the same: pick option 4 on the "Would you like to proceed?" prompt and type /document-review, /codex:adversarial-review, or /ce:review.

#11 Updated Apr 19, 2026

Annoyed by Claude Code permission prompts? Read this.

We want Claude Code to run as an autonomous agent, but it keeps stopping to ask for permission on every bash or MCP call. Two recent features — auto mode and the /fewer-permission-prompts skill — silence the interruptions without resorting to --dangerously-skip-permissions.

#10 Updated Apr 16, 2026

Context management in Claude Code: when to continue, compact, or start fresh

Most usage overruns come from a handful of very long sessions, not many short ones. A practical framework — from personal experience and Anthropic's session management guide — for knowing when to keep going, compact, start fresh, or spin off sub-agents.

#9 Updated Apr 14, 2026

Compound Engineering: a workflow for research projects

Four commands — /ce:brainstorm, /ce:plan, /ce:work, /ce:review — turn a drifting AI session into a structured workflow. How I use them on research projects that span weeks and months.

#8 Updated Apr 13, 2026
The reflection workflow

Perhaps the most powerful technique I have found. When you encounter a new type of task:

  1. Push Claude Code to its best. Work through the task iteratively.
  2. Do not delete the session history. The full history is essential for what comes next.
  3. Ask Claude Code to reflect:
Reflect on this entire session. Is there anything you
should save as a skill, a memory, or a setting change
so that next time we do this, it goes faster?

Claude Code will then create reusable artifacts — skills, memories, or configuration changes. The first time you do a task with AI might not save time. The second time, it will. For more on creating skills, see this walkthrough.

I have built a dedicated reflection skill that automates this process. Install it with:

mkdir -p ~/.claude/skills/reflection && \
curl -o ~/.claude/skills/reflection/SKILL.md \
  https://gjiang-economics.github.io/skills/reflection.md

Then at the end of any session, type /reflection.

#7 Updated Apr 12, 2026
Cross-model brainstorming

When Claude Code struggles with a subtask after a few attempts, try a "second opinion" from another model:

  1. Ask Claude Code to summarize the situation: problem, what was tried, what failed.
  2. Say: "Give me a self-contained prompt I can paste into Gemini."
  3. Copy it into Gemini (or another AI), then paste the solution back.

Different models have different strengths. Combining them often gets you to a solution faster than pushing a single model repeatedly. The same trick works in reverse when a chatbot conversation gets stuck — summarize and hand it to Claude Code.

#6 Updated Apr 11, 2026
Humanizer: strip AI writing patterns

AI text has telltale patterns — inflated language, filler phrases, em dashes everywhere. The humanizer skill detects 29 such patterns and rewrites text to sound natural.

Claude Code. Install and run /humanizer:

mkdir -p ~/.claude/skills/humanizer && \
git clone https://github.com/blader/humanizer.git \
  ~/.claude/skills/humanizer

Claude AI (web) and Claude Desktop. Create a Project, then paste the SKILL.md contents into the Project's custom instructions.

#5 Updated Apr 10, 2026
Remote control: approve sessions from your phone

Claude usage is calculated in 5-hour windows. If Claude Code pauses for a permission prompt while you are away, those hours are wasted. Remote Control lets you monitor and approve sessions from your phone or any browser via claude.ai/code or the Claude mobile app (iOS, Android).

/remote-control

Or start a new session with: claude --remote-control

My workflow. Before leaving the office, I start a long task with /remote-control. On the train home, I check my phone, approve prompts, and review progress. If I know what comes next, I start a second session — when session one completes, I pick up session two from my phone. See the official documentation for details.

#4 Updated Apr 9, 2026
Travel reimbursement as a skill

After a conference, I use Claude Code to prepare reimbursement documents using a custom skill.

Step 1: Organize your folder.

reimbursement/
|-- proofs/                        # Receipts and payment evidence
|   |-- 01 flight receipt.pdf
|   |-- 01 boarding pass.pdf
|   |-- 03 hotel invoice.pdf
|   |-- 06 taxi receipt.pdf
|   |-- 11 city tax photo.JPG      # Photos of paper receipts work too
|-- host_reimbursement_policy.pdf   # Instructions from the host
|-- summary_template.xlsx           # Excel template (if any)

Files in proofs/ are numbered by item. Files sharing the same prefix (e.g., 01) belong to the same expense.

Step 2: Install the skill.

mkdir -p ~/.claude/skills/reimburse-external && \
curl -o ~/.claude/skills/reimburse-external/SKILL.md \
  https://gjiang-economics.github.io/skills/reimburse-external.md

The skill walks Claude through a 10-phase workflow: read the host's policy, catalog receipts, verify against rules, calculate the claim with currency conversion, fill in templates, merge receipts into a single PDF, and draft the submission email. View the full skill file.

Step 3: Run it. Open the reimbursement folder in VS Code and type:

/reimburse-external

Adapting this. This skill handles external reimbursement (conference hosts, funding bodies). For your university's process, create a separate skill — ask Claude Code to reflect after your first reimbursement and it will build one tailored to your institution.

#3 Updated Apr 8, 2026
Hooks: automatic context and guardrails

Hooks are shell scripts that Claude Code runs automatically on specific events — prompt submission, tool execution, file edits. You configure them once and they enforce rules in every session. Typical uses:

  • Inject context — tell Claude your prompt was dictated, or that you are on a specific machine.
  • Block dangerous actions — intercept tool calls to prevent force-pushes or unapproved deletions.
  • Automate repetitive steps — run linting or update changelogs automatically.

My most-used hook: dictation context. I dictate with Wispr Flow. Speech-to-text as a non-native English speaker occasionally mishears words or drops articles. A prompt-submit hook tells Claude the input was dictated so it silently corrects artifacts instead of asking for clarification.

Save this as ~/.claude/hooks/dictation-context.sh:

#!/bin/bash
cat <<'EOF'
DICTATION NOTICE: The user's prompt was likely dictated
using Wispr Flow (speech-to-text). The user is a native
Chinese (Mandarin) speaker. The transcription may contain:
- Homophones or near-homophones (e.g. "EA" → "it")
- Misheard technical terms or proper nouns
- Missing or wrong articles, prepositions, or plurals
- Run-on sentences or missing punctuation

Mentally correct any likely transcription artifacts and
interpret the intended meaning. Do not ask for clarification
on obvious transcription errors — just fix them silently.
EOF

Then activate it in ~/.claude/settings.json:

{
  "hooks": {
    "UserPromptSubmit": [
      {
        "type": "command",
        "command": "$HOME/.claude/hooks/dictation-context.sh"
      }
    ]
  }
}

Adapt the script to your own native language — just change "Chinese (Mandarin)" and the example error patterns to match your accent.

For a curated collection of other hook ideas, see this tweet by @zodchiii. Full documentation: official hooks docs.

#2 Updated Apr 7, 2026
Syncing Claude Code across two machines

I use Claude Code on a MacBook and a Windows desktop. To keep them identical, I store shared config in Dropbox and symlink from ~/.claude/:

Dropbox/AI_meta/claude-sync/
|-- memory/        # Your personal AI memory
|-- skills/        # Custom skills
|-- commands/      # Custom slash commands
|-- plugins/       # Plugins
|-- CLAUDE.md      # Global instructions
|-- settings.json  # Shared preferences
|-- .mcp.json      # MCP server config

On Mac:

ln -sf ~/Dropbox/AI_meta/claude-sync/memory   ~/.claude/memory
ln -sf ~/Dropbox/AI_meta/claude-sync/skills   ~/.claude/skills
# ... same for each item

On Windows (PowerShell as Administrator):

# Folders -- use Junction
New-Item -ItemType Junction -Path "$env:USERPROFILE\.claude\memory" `
  -Target "C:\Users\YOU\Dropbox\AI_meta\claude-sync\memory"

# Files -- use SymbolicLink
New-Item -ItemType SymbolicLink -Path "$env:USERPROFILE\.claude\CLAUDE.md" `
  -Target "C:\Users\YOU\Dropbox\AI_meta\claude-sync\CLAUDE.md"

Machine-specific settings go in settings.local.json and do not sync.

#1 Updated Apr 6, 2026
Self-guided learning with AI

Pick a topic you want to learn. Tell the AI your background, available time, and what you want to understand. Ask it to build a study plan — readings, key ideas, and an order to work through them. As you read, use the AI to ask questions, check your understanding, and explore connections. What used to take days of searching now takes hours.

Also worth setting: AI chatbots trained with RLHF tend to be sycophantic — defaulting to agreement rather than honest critique. Counterproductive when you are trying to learn. In Claude, go to Settings → General → "What personal preferences should Claude consider in responses?" and add:

Be direct and honest. Don't default to agreement
or flattery: I prefer candid feedback, especially
on my research.

This overrides the default tendency at the preference level, so every conversation starts candid rather than agreeable.

The self-guided learning idea comes from a post by Jesús Fernández-Villaverde, who used AI to design a self-guided study of sociologist Erving Goffman — and found the experience comparable to a master's-level course week.

Resources