Claude Code: From Beginner to Expert in 19 Minutes
Based on David Ondrej's video on YouTube. If you like this content, support the original creators by watching, liking and subscribing to their content.
Create a claw.md system prompt to control Claude Code’s coding style, documentation habits, and UI principles.
Briefing
Claude Code’s biggest unlock is not “prompting harder,” but setting up a tailored operating system for the agent: a custom claw.md system prompt, a curated allow/deny list of tools in settings.json, and GitHub CLI access. Once that foundation is in place, Claude Code can generate codebase-aware instructions, run the right commands without constant permission prompts, and move from ad-hoc help to end-to-end engineering workflows.
The setup starts with creating a claw.md file, which functions as the agent’s main system prompt. In the example configuration, the prompt pushes Claude Code toward clean, simple module code, heavy commenting, and UI design principles. For existing projects, Claude Code can then auto-generate a high-density claw.md by analyzing the repository structure—triggered via /init. Next comes tool governance: settings.json defines which commands Claude Code may run automatically and which it must never run. The practical payoff is speed and fewer interruptions, because the agent doesn’t have to ask permission for every action.
Tool access is extended further by installing the GitHub CLI (brew install gh on macOS, or the Windows equivalent command). That enables Claude Code to inspect pull requests, create new ones, fetch issues, and perform other GitHub tasks through the same command surface developers already use.
From there, the workflow shifts into “agentic” expansion. Claude Code can connect to MCP servers, acting as both an MCP client and server. A key recommendation is adding Playwright MCP, which lets Claude Code interact with the browser—taking screenshots, clicking UI elements, and debugging front-end behavior in a way the transcript frames as comparable to a front-end engineer’s workflow. Custom slash commands are another multiplier: by creating markdown instruction files inside a cloth/commands folder, developers can turn multi-step procedures into one-line commands like /create PR or /fix github issue. The transcript demonstrates parameterized arguments using $arguments, so a single command can accept an issue number or target branch and then run a prewritten sequence of actions.
Four recommended workflows are then presented as repeatable patterns. First: explore → plan → code → commit, with planning enhanced by sub-agents for research and by “thinking budget” phrases like think hard, think harder, and ultra think. Second: test-driven development—write failing tests first, commit them, then generate code, iterate, and commit the finished feature—positioned as best for changes verifiable via unit, integration, or end-to-end tests, and less ideal for UI-heavy apps or rapid prototyping. Third: write code → screenshot results → iterate, including drag-and-drop screenshots and browser automation via Playwright MCP. Fourth: delegate Git operations entirely to Claude Code using custom commands for PR creation, PR review, file-level review, and pushing changes.
The transcript also adds operational tactics: optimize prompts with specificity, explicitly mention files to modify, and feed URLs so Claude Code can fetch and read documentation directly. For control, use escape to stop runs, /clear to reset context, and /compact to summarize while keeping momentum. For automation, enable headless mode with a -p flag (including JSON streaming) and integrate it into GitHub Actions via a clo.yaml prompt override to avoid verbose, unreadable reviews. Finally, it scales performance with multicloud workflows—running separate Claude Code instances for writing, reviewing, and editing—plus model switching (/model) between Sonnet for speed and Opus for deeper planning. The overall message: Claude Code becomes dramatically more useful when it’s configured, constrained, and operationalized into repeatable engineering loops rather than treated as a one-off chat assistant.
Cornell Notes
Claude Code’s productivity jump comes from building a customized, controlled environment: a claw.md system prompt, a settings.json allow/deny list for tools, and GitHub CLI access. With that foundation, it can analyze a codebase (/init), connect to MCP servers (notably Playwright MCP for browser automation), and run custom slash commands created as markdown files with parameterized $arguments. The transcript then lays out four repeatable workflows—explore/plan/code/commit, test-driven development, screenshot-driven UI iteration, and delegating Git operations—plus prompt-optimization tactics like being specific, naming files, and using URLs for web fetch. For scale and automation, it recommends headless mode for CI/GitHub Actions, multicloud review loops, and model switching (/model) between Sonnet and Opus.
What are the core elements of a “customized setup” for Claude Code, and why do they matter?
How do MCP servers and Playwright MCP change what Claude Code can do?
How can custom slash commands turn multi-step engineering tasks into one action?
What do the four recommended workflows optimize for, and when are they a poor fit?
How does headless mode support automation, and what’s the GitHub Actions gotcha?
What multicloud workflows and model switching are used for, and why?
Review Questions
- If you wanted Claude Code to follow a specific coding style and UI approach across a project, which file would you change first, and what command can generate its codebase-aware version?
- When would test-driven development be a bad choice according to the transcript, and what kinds of changes does it fit best?
- Describe one multicloud workflow loop (write → review → edit) and explain how /clear and separate instances contribute to better outcomes.
Key Points
- 1
Create a claw.md system prompt to control Claude Code’s coding style, documentation habits, and UI principles.
- 2
Use /init to generate a codebase-aware claw.md by analyzing repository structure before you start major work.
- 3
Constrain Claude Code with settings.json allow/deny lists so it runs safe commands automatically and avoids constant permission prompts.
- 4
Add GitHub CLI and (optionally) Playwright MCP so Claude Code can perform real GitHub operations and interact with the browser for UI debugging.
- 5
Turn repeated multi-step tasks into one-line actions by creating custom slash commands in cloth/commands, using $arguments for inputs like issue numbers or branches.
- 6
Adopt repeatable workflows: explore/plan/code/commit, test-driven development, screenshot-driven iteration, and full Git operations via commands.
- 7
For automation and scale, use headless mode with a -p flag, customize clo.yaml for concise GitHub Actions reviews, and run multicloud review loops with /clear and /model switching.