On Mac, run caffeinate -dimsu to prevent your laptop from sleeping while Claude works. Start a task, close your laptop, go places.
When you paste something longer, Claude simplifies this in the terminal to [Pasted text #x +x lines]. 9/10 times I like this.
The other 10% here's my workaround: I send a bash command like !sleep 100, then I click enter on my prompt, then the up arrow. This will bring the fully expanded queued prompt into your terminal.
We used to have shiny rainbow text whenever we typed 'ultrathink' which would maximize Claude's thinking.

But it's 'on' by default now.

Unfortunately, for almost everything, Ralph is more of a pain to get working than it's worth. Sorry to disappoint the hype.
Ralph basically puts a bunch of Claude codes into a loop and coordinates them using a prd.json and progress.txt. I do sometimes use it when I'm starting a new project.
If you are brave enough to give it a shot, the /setup-ralph command sets up all the Ralph files for you.
Ralph exits early when it detects keywords like "done", "complete", or "finished" in your progress files. Use status terms like PASSED/PENDING instead to avoid premature exits.
Also, Claude can confuse itself into thinking it's advising about Ralph rather than being the agent. Make your PROMPT.md direct: "You are the agent. Do the work."
The key to Ralph: keep an accompanying chat open to guide it and check on progress. Ralph runs in the background; you steer from the side. When starting Ralph, I tell my monitoring chat: "Sleep for 30 seconds, then check if Ralph is executing correctly. Repeat 3 times." This catches early issues before you walk away.
Custom Subagents are spawned instances that don't pollute your main context but can report back directly to it. I have a custom agents for different types of deep research, and a claude-critic agent for opinions. A friend uses a /f command in a subagent to find relevant files and context without cluttering the main agent.
Use cases: large refactoring (subagent for each logical group of files), code review pipelines (style-checker, security-scanner, test-coverage in parallel), research tasks (explore subagent for unfamiliar codebases).
Hooks execute on specific events (tool call, stop, etc.). I've experimented but nothing has stuck. One use case: running Prettier on .ts files after Claude finishes. A good mental model for when to use hooks: a) specific things you do at a certain point (like after chat) often, and b) it can be done through a bash command.
I've heard about running a "Do more" prompt when Claude finishes via the Stop hook to keep it working for hours.
Skills are folders where the LLM decides when or what to load. Files with scripts, prompts, etc. They' a superset of commands, coming with their own executable code and many potential prompt files. Use cases: code review standards, commit message conventions, database query patterns, API documentation formats. Vercel's React best practices skill is worth installing for React/Next.js projects.
MCP (Model Context Protocol) lets Claude talk to external services directly. Connect to GitHub, Slack, databases, issue trackers. Use cases: implement features from JIRA issues, query PostgreSQL directly, integrate Figma designs, draft Gmail responses, summarize Slack threads. Run /mcp to see your connections.

Here's a guide that goes more in depth on these. I think you should get started without reading it. If you feel something is missing or you try to close the loop some other way and it doesn't work, come back and read it.
The -p flag runs Claude Code in headless mode. It runs your prompt and outputs the result without entering the interactive interface. This means you can script it, pipe output to other tools, chain it with bash commands, integrate into automated workflows.
People use this for automatic PR reviews, automatic support ticket responses, documentation updates. All logged and auditable.