The argument in one line.
Claude Code's poor reputation stems from users treating it like a conventional IDE instead of leveraging advanced techniques like plan mode, surgical prompts, XML templates, background processing, and AI-reviewing-AI workflows that unlock its full potential.
Read if. Skip if.
- A developer who uses Claude Code but feels frustrated by its output and suspects the problem is their workflow, not the tool.
- Someone building with Claude Code who wants to move beyond basic prompting and unlock patterns like plan mode, surgical edits, and AI-reviewing-AI chains.
- A programmer familiar with CLI tools and prompt engineering who's curious how to combine them — slash commands, background runs, TDD templates, and custom workflows.
- You've never used Claude Code or don't have it installed — this assumes you already know the basic interface and can navigate the editor.
- You're looking for architectural advice on large systems or production deployment patterns — these are tactical coding shortcuts, not system design.
- You primarily work in languages or domains Claude Code doesn't handle well yet (embedded systems, CUDA, specialized DSLs) — most tips assume general-purpose web or backend development.
The full version, fast.
The love-hate split on Claude Code is a usage problem, not a tool problem, and fourteen specific habits close the gap. Treat the CLI like a teammate: shift-tab-tab into plan mode before destructive work, write surgical prompts that name files and behaviors, and wrap longer asks in XML tags like instructions, requirements, and testing that Claude is trained to follow. Run /init to seed a claude.md, resume with claude --continue, commit and push from inside the session, and fire claude -p to run unattended jobs while you step away. Add custom slash commands under .claude/commands, have Claude review Claude's output in a fresh context, drag screenshots in for UI bugs, prompt test-driven loops, invoke ultrathink with sub-agents for harder work, and throw away off-rails attempts instead of fighting them.
Chat with this breakdown — free.
Sign in and you get 23 free chat messages on us — ask for the hook, quote a framework, find the exact transcript moment, generate a markdown action plan. Bring your own key when you want unlimited.
Create a free account →Where the time goes.

01 · Cold open: the love/hate split
Two real comments side by side. Adam frames the premise: maybe the haters just aren't using it right.

02 · Tip 1 — Plan Mode (Shift+Tab+Tab)
New built-in feature: hit Shift+Tab+Tab to switch Claude Code into plan mode. It drafts the plan, you approve, then it executes.

03 · Tip 2 — Talk to it like a teammate
Ask questions, don't issue commands. 'What API am I calling when onboarding starts?' or 'when this button is clicked I get a 500, here's the log.'

04 · Tip 3 — Be surgical
Scope tightly to a single file and a single question. 'In this file the calculated LTV is different from what shows on this file — work through the likely calls.'

05 · Tip 4 — XML prompts for big features
Use <instructions>, <requirements>, <testing> tags for long prompts. Adam keeps these in Windows Notepad, copies them in. Anthropic has confirmed Claude follows XML structure well.

06 · Tip 5 — /init for CLAUDE.md
Run /init to generate the project memory file, and tell Claude to keep it updated.

07 · Tip 6 — claude --continue
Resume your last Claude Code session instead of starting cold. There are deeper ways via logs/conversation IDs but --continue is the daily driver.

08 · Tip 7 — Commit from inside Claude
Type 'commit' in Claude Code to stage, commit (with a generated message), and even push. No need to drop to another terminal for git.

09 · Tip 8 — `claude -p` one-shot mode
Fire-and-forget background runs with no approval prompts. 'Local Codex.' Run a few in parallel across the codebase, come back after lunch.

10 · Tip 9 — Custom slash commands
Drop a markdown file at .claude/commands/<name>.md and /name appears. Adam demos /project:update_docs and the Anthropic-recommended /fix-github-issue.

11 · Tip 10 — Claude reviews Claude
Open a fresh-context window and ask it to review the code another Claude wrote. Then hand the critique back to the original session.

12 · Tip 11 — Use screenshots
Drag-and-drop images directly into the terminal. Game-changer for design feedback and UI bug reports.

13 · Tip 12 — TDD prompt
XML triple: <test>, <implementation>, <rules>. 'Implement my test, then implement the functionality to pass the test.'

14 · Tip 13 — UltraThink prompt
'Please ultra-think through this. Start by exploring the codebase and gathering the necessary context. Use sub-agents where it makes sense. Explore, plan, implement.' Triggers extended thinking visibly in the UI.

15 · Tip 14 — Throw it away
Git commit. Throw away work that goes off the rails. Start over. Code is cheap. The biggest mental shift for Claude Code haters.

16 · Close: why the disconnect persists
Adam speculates: maybe some people just aren't CLI-native. He still loves Roo Code too. Asks for more tips in comments. Peace out.
Lines worth screenshotting.
- Plan mode (Shift+Tab+Tab) lets you have Claude draft a full execution plan before writing a single line of code.
- The love/hate divide on Claude Code almost always traces back to usage patterns, not tool quality.
- Talking to Claude Code like a teammate — asking what an API does or what called a 500 error — consistently outperforms command-style prompting.
- XML tags (instructions, requirements, testing) dramatically improve Claude's ability to execute large, multi-step feature prompts.
- Running `claude -p` turns Claude Code into a local Codex: kick off background tasks, go to lunch, review results on return.
- Custom slash commands stored in .claude/commands/ let you automate entire review, commit, and PR workflows with a single typed shortcut.
- Having a second Claude instance review the first instance's output catches more issues than any single-pass code review.
- Dragging screenshots directly into the Claude Code terminal works in WSL and Linux and cuts UI bug diagnosis time dramatically.
- The `--continue` flag reloads your last conversation exactly where it ended — most developers don't know this exists.
- Test-driven development prompts that separate test, implementation, and rules into XML tags make Claude's output significantly more reliable.
- UltraThink prompting on Sonnet 4 produces sub-agent task planning and implementation quality most developers associate only with Opus.
- When Claude goes off the rails, the correct move is git commit, throw it away, and restart — fighting a derailed context wastes more time than regenerating.
- You can commit and push directly from within Claude Code without ever opening a second terminal.
- The gap between people who love and hate Claude Code is almost entirely explained by whether they treat it as a search box or a collaborator.
The swipe file is the format.
Adam Larson turned his prompt notepad into a YouTube tutorial — and the swipe file is what people actually came for.
- Lift the four template prompts (XML long-form, TDD triple, UltraThink, slash-command pattern) into Joe's own .claude/commands and Rewriter library — they're battle-tested and free.
- Steal the cold-open structure for any pro/anti tool video: two real comments side by side, then 'maybe it's just the way you're using it.' Works for JoeFlow, Mod Boss, MCN+.
- Ship the same format for Joe's stack — '15 things you aren't doing with Cursor / Supabase / Vercel' on a single Excalidraw scroll. The simplicity IS the production design.
- Add a custom slash command for every prompt Joe types more than twice — release checklist, deploy-joeflow, mod-watch trigger. Put them in Mod Boss as exportable templates so members get them too.
- Frame the 'throw it away' permission as its own short — it's the deepest tip in the video and it's a paradigm shift, not a trick. Massive evergreen potential.
Terms worth knowing.
- Plan mode
- A Claude Code mode (activated with Shift+Tab+Tab) where the agent outlines all the steps it plans to take before writing any code, letting the user review and approve the approach first.
- XML tags (prompting)
- HTML-style markers like <instructions> or <requirements> used in prompts to clearly separate different sections of context, which large language models parse with high accuracy.
- CLAUDE.md
- A markdown file placed at the root of a project that gives Claude Code persistent instructions — coding standards, architecture notes, or behavioral rules — that apply across every conversation in that repo.
- /init command
- A Claude Code slash command that analyzes the current project and auto-generates a CLAUDE.md file with relevant context about the codebase.
- --continue flag
- A command-line option for Claude Code (`claude --continue`) that resumes the most recent conversation session instead of starting a fresh one.
- -p flag (headless mode)
- A Claude Code flag that runs a prompt non-interactively in the background — the agent completes the task without waiting for approvals or user input.
- Custom slash commands
- User-defined commands stored as markdown files in the .claude/commands/ folder that appear as /command shortcuts inside Claude Code, letting users run saved prompt templates instantly.
- TDD (Test-Driven Development)
- A software development practice where tests are written before the implementation code; the developer writes a failing test first, then writes code to make it pass.
- UltraThink
- A Claude Code prompt keyword that instructs the model to spend significantly more compute on reasoning before responding, surfacing a deeper chain-of-thought process.
- Sub-agents
- Independent AI agent instances spawned by a primary agent to handle parallel or specialized subtasks, then report results back to the orchestrator.
- WSL
- Windows Subsystem for Linux — a compatibility layer built into Windows that lets users run a Linux environment directly without a virtual machine.
Things they pointed at.
Lines you could clip.
“Maybe it's just the way I'm using it.”
“I have like a million notepad on my Windows. A billion notepads open.”
“You can just kinda kick off these tasks… think about this like a local codex.”
“Throw away things that mess up. Go back. Start over. Reword it. It is okay. Code is now pretty cheap to generate.”
“There may just be a nature that people are not CLI based users.”
“The control that I get on it is just absolutely incredible.”
Word for word.
Don't just watch it. Burn it in.
See every word as it's spoken — crank it to 2× and still catch all of it. The same dual-channel trick behind Amazon's Kindle + Audible.
The bait, then the rug-pull.
Adam Larson opens with two real YouTube comments side by side — one calling Claude Code horrible, one calling it the thing that made programming fun again — and asks the obvious question: why the disconnect? His thesis is that it's a usage problem, not a tool problem. The rest of the video is the receipts.
Named ideas worth stealing.
XML-tagged long-prompt template
- <instructions>
- <requirements>
- <testing>
Wrap long prompts in named XML tags. Claude was trained to follow this structure and you can reference tags from elsewhere in the prompt ('refer back to the requirements above').
TDD prompt structure
- <test>
- <implementation>
- <rules>
Three-tag prompt that tells Claude: write the tests, then write the code to pass them, follow these rules. Pair with --no-approval for autonomous loops.
UltraThink prompt
'Please ultra-think through this. Start by exploring the codebase. Use sub-agents where it makes sense. Explore, plan, implement the following: [...]' — triggers Claude's extended thinking and parallel sub-agent dispatch.
Custom slash command via .claude/commands/
A markdown file in .claude/commands/ becomes /filename in Claude Code. The file body is the prompt. $ARGUMENTS is the placeholder. Lets you ship reusable team prompts inside the repo.
Claude-reviews-Claude loop
Fresh-context window reads code another Claude wrote, returns a critique, hand it back to the original session to iterate. Catches the writer's blind spots.
How they asked for the click.
“Let me know in the comments below. If there's new ones that you actually know that I haven't included here…”
soft — no aggressive subscribe ask, just a comment prompt. The real CTA is implicit: try the prompts. No timestamp links to Scrimba in-video, only in description.
































































