WEBVTT

00:00:06.400 --> 00:00:30.070
After spending over eight hundred hours in Claude code, I've discovered ways to actually make this thing work for me, not against me, especially at times when I need to move fast as a solo developer. Whether you're churning through tickets at a corporate tech job or attempting to vibe code your next 10 k a month app, if Claude has ever felt dumb to you at times, then it's likely you're just missing critical parts of the setup. In this video, I'll walk you through my private workflows, essential resources,

00:00:30.150 --> 00:00:44.025
and teach you the six core features that most developers are unaware of in Claude code. So by the end, you'll be shipping faster with Claude instead of wasting time fighting it. Before we dive into the advanced workflows and hidden tricks, let's make sure we quickly cover the foundations.

00:00:44.105 --> 00:01:23.795
These three features have saved me hours of repeating myself to Claude every single session. When I first started using Claude code, I found myself repeating same instructions over and over again. The easy solution is to make use of Claude's memory. Press the hash key to quickly add some instruction snippets to Claude's memory. You can decide whether you want to apply these instructions locally to the project or globally across all Claude sessions. And you will see these instructions get saved to the Claude dot m d file. So if you ever change your mind, you can easily edit or remove them. I also found myself typing the same prompts to perform small repetitive tasks like creating a new API endpoint that correctly includes my custom middleware with error handling and type interfaces,

00:01:24.070 --> 00:01:33.350
or running the TypeScript linter command and fixing all errors around the code base. This led me to build my own library of custom commands that I can easily call with a few keystrokes.

00:01:33.350 --> 00:01:42.755
To create your first command, just add a new commands directory within your claud folder, then write out your command in a markdown file. And as your command library grows, you can sort them into subdirectories

00:01:42.755 --> 00:01:47.635
to keep them organized and easier to find. You can also make commands accept arguments.

00:01:47.635 --> 00:01:51.715
This is what allows commands to be more flexible and reusable in different scenarios.

00:01:52.040 --> 00:02:09.975
So just be conscious of what you are prompting to Claude over and over again, then slowly build up your own command library as you go. I've also used this GitHub repo which has a bunch of useful commands that I use every day for building. In the early days of building with Claude code, one of my biggest frustrations was making sure it references the latest documentation

00:02:09.975 --> 00:02:33.855
when building new features or debugging errors, especially with frameworks and libraries that are constantly being updated. But as you know, AI assistants are only as good as their training data, and forcing it to use web search to fetch the latest data wasn't reliable either. This is where MCP servers come in, specifically one that I use every day called Context seven. It's essentially a service that allows Claude to reference the most up to date documentation

00:02:33.935 --> 00:02:49.070
for the most popular coding libraries. And this alone has saved me hours constantly having to Google search and copy and paste the latest docs into my prompts. Now, I can just rely on Context Seven as a centralized source for when I need the AI to reference any kind of documentation.

00:02:49.150 --> 00:03:06.295
And to use it, you just have to add two words into your prompt. Use context seven, and Claude will automatically call the server to fetch the latest docs whenever it needs to. And you might be asking, what exactly are MCP servers? To explain it simply, just think of it as a way to connect AI agents to external tools and services.

00:03:06.375 --> 00:03:28.855
And this just gives the AI more capabilities for its tasks, like connecting to a database, calling a custom API, or executing code on some remote server. You If would like to know where I browse for MCP servers, here are some great repos that I recommend checking out. Some other MCP servers that I use regularly are Superbase to allow Claude to query data directly from my app's database, apply migrations,

00:03:29.095 --> 00:03:36.375
or create new tables for any new features I am building. The Chrome DevTools and Playwright MCP, which gives Claude the ability to autonomously

00:03:36.375 --> 00:03:59.315
debug and test issues on the front end by letting it control the browser and inspect the DOM and console logs. I also use the Stripe MCP for when I build something that touches the payment side of my app and also the Vercel MCP for when I need to look up the latest documentation or make changes to my project settings. As a solo developer, my process for building new features used to look something like this. Create the front end UI components,

00:03:59.395 --> 00:04:02.595
write the API endpoints, and run some database migrations.

00:04:02.675 --> 00:04:19.240
This approach wasn't bad, but it just meant I had to do things in a very sequential order, which wasn't very efficient. But ever since I discovered how to properly use Claude's sub agents to do work in parallel, I've been able to build and ship features in a fraction of the time. Firstly, what are sub agents? They are isolated Claude instances

00:04:19.240 --> 00:04:56.965
that can work in parallel with each other and feed crucial information back to the main orchestrator agent once it has finished the task. In simple terms, using sub agents will greatly help reduce any pollution to the main context window because each sub agent will get its own context window, system prompt, and tool use permissions. So they are great for offloading smaller and more specific tasks. But what I see people doing with sub agents is they assign them to act as specific roles, like a front end developer, a UI UX designer, or a product manager. And I can tell you, I spent a good couple of hours trying to work with agents this way, and the results were pretty bad compared to just using Claude code with no agent specific instructions.

00:04:57.125 --> 00:05:04.565
Personally, I don't think sub agents are at a point yet where you can assign them specific roles and rely on them to brainstorm and work autonomously

00:05:04.565 --> 00:05:13.770
like a real human would. But that's okay. They still saved me a lot of time and effort on tasks is actually good at. What has worked really well for me is to define sub agents for tasks,

00:05:13.930 --> 00:05:19.050
not roles, like cleaning up and optimizing the code it has just written, generating documentation,

00:05:19.050 --> 00:05:35.685
or gathering research data from the web. For example, one of the sub agents I use regularly is this one that reviews the UI UX of my app. It connects to the Playwright MCP server and inspects the UI components of my web app in the browser, and it gives feedback based on the design and usability of the UI components.

00:05:36.040 --> 00:06:31.635
I think this is the best way to make use of sub agents because it handles work that would have previously taken up precious context tokens from the main agent, and it just helps to maintain a high quality of the overall output. To create a sub agent, use the slash agents command. Select create a new agent, choose project or personal, select generate with Claude, then describe the sub agent's task in natural language. Customize the tool use permissions and then save. And to invoke a sub agent, just use natural language or the add symbol to directly call the sub agent within your prompt. Now that I've told you all about slash commands, sub agents, and MCP servers, you might be put off by the thought of having to set up all these tools manually for your own projects. Well luckily, Anthropic recently released a new feature called plugins, which allows users to bundle up their setups into a single package. So you can literally clone a Claude Power user's entire workflow with a single command. And if you're curious about my personal setup, I've published my own plugin marketplace,

00:06:31.715 --> 00:07:39.790
which you can add by running this command. From there, just pick and choose which plugins you would like to install. Feel free to add only what you need. I want to talk about the mindset and expectations I've adopted when working with AI to build apps. Because after spending hundreds of hours of trial and error using AI to help with coding tests, I found these are the things that have given me the biggest productivity boost. Garbage in equals garbage out. If you can't write a prompt that clearly instructs the AI on what to do, then you don't actually know what you want, and the AI definitely won't either. I found learning some basic prompt engineering has forced me to break down my problems into smaller pieces, which also clarifies my own thoughts in the process. Or if the idea is still vague in my mind, I will use Claude's plan mode to have a quick q and a session and make it ask me clarifying questions so we can be on the same page before I let it write any code. AI generates code, but humans own it. Before pushing to production, just start a new session with the AI asking it to review the code on the files it's recently touched. Don't let the AI make you lazy about the fundamentals like security, performance, or error handling. Because given enough time, if you keep ignoring these things, it will eventually lead to vulnerabilities

00:07:39.790 --> 00:07:53.275
and bugs if you don't constantly review it. Speed means nothing if your app is buggy or insecure. So these have been my top tips for getting the most out of Claude code when building apps as a solo developer. Let me know what you think, and I'll see you in the next one. Bye bye.
