
Welcome to AIEdTalks’ Newsletter!
In today's edition:
Four habits that cost nothing and change your hit rate
Three things worth setting up once, this week
Three ways to make Claude work while you're not watching
Every tip has a command you can paste today
Let’s dive in.
After reading, please rate today’s edition.
Rate today's Newsletter

Arnold Schwarzenegger. Jay Shetty. And You.
Codie Sanchez, Colin & Samir, Joanna Stern, and Oliver Darcy are here too. They all built newsletters (and podcasts and communities and websites) on beehiiv.
Some came with massive followings. Others built theirs along the way. That’s the thing about beehiiv: with so many ways to earn and grow, the platform is ready for whatever you’re building next.
Today’s Edition
10 ways developers actually use Claude Code
No theory. Each tip is one problem, one move, one command.

Most “AI productivity” advice is about prompting better. This isn't. These are ten mechanical changes to how you run Claude Code — the kind that work the same on Monday as they did on Friday.
I've ordered them by setup cost. The first four are free. The next three take ten minutes each. The last three are where the real leverage is.

Free: four habits
1. Give Claude something to check its own work against
Problem: Claude stops when the work looks done. Without a check, you are the verification loop, and every mistake waits for you to notice it.
Move: Put the check in the same prompt as the task. Anything that returns pass or fail counts — a test suite, a build exit code, a screenshot diff.
write a validateEmail function. test cases: [email protected] is true,
invalid is false, [email protected] is false. run the tests after implementing.The difference isn't the code Claude writes. It's that the loop now closes without you.
2. Use plan mode before anything that touches multiple files
Problem: Claude jumps to code and solves the wrong problem well.
Move: Shift+Tab until the status bar shows plan mode on, or start with claude --permission-mode plan. Claude reads and proposes but writes nothing until you approve. Ctrl+G opens the plan in your editor so you can fix it before it runs.
Skip this for a typo or a rename. Use it when you're unfamiliar with the code or the change spans files. Rule of thumb: if you could describe the diff in one sentence, don't bother planning.
3. Push research into a subagent
Problem: Investigation is expensive. Claude reads forty files to answer one question, and all forty are now sitting in your context, making everything after worse.
Move: Say the word “subagent.”
use a subagent to investigate how our auth system handles token refresh,
and whether we have OAuth utilities I should reuseThe subagent reads those forty files in its own context window and hands back a summary. Your main conversation stays clean for the actual implementation.
4. Make Claude interview you before a big feature
Problem: You write a two-line prompt for a two-week feature and spend the next hour correcting assumptions.
Move: Flip it. Make Claude ask the questions.
I want to build [feature]. Interview me in detail using the
AskUserQuestion tool. Ask about technical implementation, UI/UX, edge
cases, and tradeoffs. Don't ask obvious questions - dig into the hard
parts I might not have considered. Then write a complete spec to SPEC.md.Then start a fresh session to implement it. Clean context, written spec. This one consistently pays for itself.
Ten minutes each: three setups
5. Write a CLAUDE.md that earns its tokens
Problem: Claude keeps getting your build command or your import style wrong.
Move: Run /init to generate a starter file, then cut it down hard.
# Code style
- Use ES modules, not CommonJS
- Destructure imports when possible
# Workflow
- Typecheck after a series of changes
- Run single tests, not the whole suiteThe test for every line: would removing this cause a mistake? If not, delete it. Keep it under 200 lines — a bloated CLAUDE.md means Claude ignores half of it, and the rule you cared about is the one that gets lost. Run /doctor and Claude will propose cuts.
6. Turn your repeated prompt into a skill
Problem: You've pasted the same five-step procedure into chat three times this month.
Move: Make it a file. Drop a SKILL.md in .claude/skills/<name>/:
---
name: fix-issue
description: Fix a GitHub issue
disable-model-invocation: true
---
Fix the GitHub issue: $ARGUMENTS.
1. `gh issue view` to get details
2. Search the codebase for relevant files
3. Implement the fix
4. Write and run tests
5. Commit and open a PRNow it's /fix-issue 1234. Set disable-model-invocation: true for anything with side effects so only you can trigger it.
7. Make the rule a hook, not a request
Problem: “Never edit .env” in CLAUDE.md is a suggestion. Claude usually follows it. Usually isn't a guarantee.
Move: If it must happen every time, make it a hook. Hooks fire on lifecycle events and don't depend on Claude deciding to cooperate.
You don't have to write the config by hand:
write a hook that runs eslint after every file editwrite a hook that blocks writes to the migrations folderRun /hooks to see what's configured. The distinction worth remembering: CLAUDE.md is advice, a hook is enforcement.
The leverage: three automations
8. Run Claude in a pipe
Problem: You only use Claude when you're sitting in front of it.
Move: claude -p is non-interactive. It reads stdin, writes stdout, and behaves like any Unix tool.
git log --oneline -20 | claude -p "summarize these recent commits"
cat error.log | claude -p "explain this error"
claude -p "list all API endpoints" --output-format jsonThat last flag matters: json gives you a parseable object, stream-json gives you one object per line. Now Claude fits in a pre-commit hook, a CI step, or a cron job.
9. Fan out across hundreds of files
Problem: A migration touches 2,000 files and you're doing them one conversation at a time.
Move: Run /batch <instruction> and Claude splits the work across 5–30 subagents, each in its own worktree.
Or drive it yourself:
for file in $(cat files.txt); do
claude -p "Migrate $file from Python 2 to Python 3. Return OK or FAIL." \
--allowedTools "Edit,Bash(git commit *)" \
--permission-mode dontAsk
doneTest on three files first, fix the prompt, then run the lot. --permission-mode dontAsk denies anything you haven't pre-approved, which is what you want when nobody's watching.
10. Set a goal and walk away
Problem: Long work needs you to type “continue” fifteen times.
Move: /goal sets a completion condition. After each turn, a separate model checks whether it's met — if not, Claude starts another turn on its own.
/goal all tests in test/auth pass and the lint step is cleanIt clears itself when the condition is met, or when the evaluator judges it impossible. /goal on its own shows status; /goal clear stops it.
Write the condition as something Claude's own output can prove. “All tests in test/auth pass” works, because Claude runs the tests and the result lands in the transcript. “The code is good” doesn't. Add or stop after 20 turns to bound it.
Three more, one line each
/clear between unrelated tasks. Corrected Claude twice on the same thing? Context is polluted with failed attempts. Clear and rewrite the prompt.
Esc Esc or /rewind restores previous conversation and code state. It makes risky attempts cheap. (Only tracks Claude's file edits — not a git replacement.)
claude --worktree feature-auth gives a parallel session its own checkout, so two Claudes don't fight over the same files.
The one idea to remember
Nine of these ten are the same move: stop being the loop.
You're the verification loop when there's no test to run. You're the context manager when research lands in your window. You're the scheduler when work needs a “continue” every few minutes. Each tip above hands one of those jobs to something that does it the same way every time.
Pick the one that matches whatever you did most often this week. That's your highest-value change.
Your turn
Hit reply: which of these do you already do, and which one surprised you? I read every reply.
AI is easy to demo. Hard to ship.
Sources
Everything here is from the official Claude Code documentation, verified October 2026:
Best practices — verification, context management, fan-out, parallel sessions
Common workflows — prompt recipes, worktrees, piping into scripts
Extend Claude Code — when to use skills vs hooks vs subagents vs MCP
Keep Claude working toward a goal — /goal syntax and evaluation
Some of these are recent additions, so run claude --version if a command doesn't exist yet — /goal, /batch and auto mode all have version floors. Nothing here is a benchmark claim; these are documented features and the reasoning behind them.
Who's writing this?
I'm a research engineer with 18+ years building production systems, 35+ patents, and 17+ publications. I work on infrastructure for multi-agent systems. AIEdTalks is my field notes: real problems, what I tried, and what I learned.
Views are my own.
👋 Before you go
💬 Hit reply. I read every reply.
▶️ Watch it instead. This week's breakdown is on YouTube. Subscribe to the channel for more.
📨 Know an engineer who'd find this useful? Share your referral link and earn rewards.
💡 Topic ideas or sponsorships: Reply to this email.
Until next time,
AIEdTalks team.
P.S. AI is easy to demo. Hard to ship. That's what this newsletter is about.


