Justin Frake
University of Michigan, Ross School of Business
complaints-complaints.csv and learned where the data came from.CLAUDE.md or AGENTS.md loaded automatically in every session.The agent reads right through misspellings, bad grammar, duplicates, rambling, contradicting yourself mid-prompt, even saying “never mind.”
These are additions to "interview me and make a plan."
Use it before touching an unfamiliar method or any package whose syntax shifted in the last year. Training cutoffs make these the highest-hallucination zones.
Grounds the rest of the conversation in what's actually true, not the agent's best guess from training.
Use it after plan mode when you want to push the agent to name what it is still assuming.
Surfaces gaps before they become mistakes. Cheaper to clarify now than to roll back later.
Use it after the first messy attempt.
Same logic as rewriting a script after the first exploratory pass. The agent knows the data shape now; let it design the clean version.
Use it after the agent says a task is done.
Asks for files touched, commands run, and decisions made, not the cheerful recap. Catches silent edits to scripts you did not ask about.
A Chicago non-profit newsroom publishes the largest open dataset of municipal police misconduct in the country: every complaint filed against a Chicago Police Department officer, with disciplinary outcomes attached, going back to 1988.
Complaint density across Chicago beats.
Source: invisible.institute/police-data · cpdp.co · github.com/invinst/chicago-police-data
The agent jumps in and picks variables, an estimator, an FE structure, a sample, and a clustering level. You spend the next ten prompts unwinding choices you never made.
The agent asks. You answer. The spec is more yours than the agent's.
The interview only narrows your choices to the ones the agent thought to ask. Notice what it didn't ask.
Four things to pin down before any code runs. Hand them to the agent however fits: say it each time, keep the stable ones in a memory file, or bake them into a skill (we cover skills later).
fixest, statsmodels, linearmodels, etc.Three steps, in order. Once you and the agent agree on the plan, you have something concrete to check execution against.
Tell the agent what you want. Let it ask. Answer. Don't let it skip ahead to code.
Numbered steps, one screenful. What it loads, what it computes, what it saves. Concrete enough to disagree with.
Read every step. Push back. Fix it. Once you approve, the agent works inside the plan.
When you open the agent inside a project, it reads both files: the global one, then the local one.
data/codebook.mdThe agent reads global first, then project, then your chat. Each lower layer overrides the layers above.
Every line in your memory file loads into the agent's context on every session. The longer the file, the less room the agent has to do the work you asked for.
Rule of thumb: keep each file under about 200 lines, and shorter is better. If it grows past that, move the long parts into a linked file or a skill.
CLAUDE.md applies to every session inside one project.SKILL.md applies to one specific task type across all projects.Skills load in three tiers. Only the name and description automatically load into the context window.
name and description. A line or two. The agent reads this every session to decide whether to reach for the skill.SKILL.md: the recipe steps, conventions, package calls.Each skill costs roughly 75 to 150 tokens at Tier 1. Fifty short descriptions is about 5K tokens, small relative to a 1M context window.
~/.claude/skills/ (Claude Code) or ~/.agents/skills/ (Codex CLI). Loads in every project.format-regression-table, format-figure<project>/.claude/skills/ or <project>/.agents/skills/. Loads only in this folder.cpd-coding-conventionsOther people have already written skills for many common tasks. Browse and install instead of building.
~/.claude/skills/ or ~/.agents/skills/.A skill body can be more than freeform prose. Three patterns from well-authored skills keep the agent on the rails.
Tell the agent it MUST do X before continuing. Useful for prerequisites the agent likes to skip.
A table of thoughts that signal the agent is rationalizing, paired with the reality. Catches common drift.
A Graphviz/DOT diagram embedded in the skill. The agent reads the graph and follows the path step by step.
Browse the Superpowers and Anthropic skills repos to see these patterns in real skills (Day 3 install).
A figure skill answers the question: what about a figure should be the same every time, and what changes plot to plot?
.pdf and .png to results/figures/The figure skill knows your style. You only have to say what's different about this plot.
When a plot still looks wrong, paste a screenshot of it and ask the agent to fix the theme. It sees what you see.
format-regression-table. The next table starts from your format.format-figure. The next plot starts in your theme..docx with the table and figure embedded.