4 Strategies to Improve AI Coding Skills

In a previous article, I covered the most important techniques I use to successfully code AI agents. In this article, I go over four more strategies, all of which I use every day.
I believe that to be a good programmer today, you have to use AI tools a lot. If you're not coding using AI agents, you're falling behind. In addition, agents can be used for much more than coding and:
- Agents can learn and create Linear problems
- Agents can do in-depth research on a topic of interest
- Agents can review log messages from production code
All important tasks, programmers must do.
Therefore, I recommend that the intensive use of AI agents be as efficient as possible. In this article, I will cover, at a high level, four other methods that I use that I believe make me a more effective designer.
- Macwhisper for instant agent information
- Claude Code review
- Parallel agents
- Interacting with GitHub using agents
And I'm very interested to hear if you have any useful tips for your programming practice. If you have any strategies in mind, feel free to reach out, as I'd love to hear about them.
Why you should write about an AI agent
I've previously explained how coding and AI agents make me successful as a programmer. I've multiplied my programming productivity many times over by using AI, and it just allows me to do so much more than I could before.
A common objection to AI agents is that you need to understand your code before pushing it into production. I agree with this assessment to some extent if you are working with sensitive systems where end-to-end testing is difficult.
However, most websites and apps are not like this. Firstly, they are not that important, and secondly, most of the tasks you work on as a programmer are it is confirmed. This means you can test the behavior by simply checking if the feature works when you interact with it.
Therefore, I recommend more use of AI agents and use them for all programming related tasks. For example:
- Create linear problems
- Fix bugs by simply linking to Linear issue
- Planning and developing new features
4 Strategies for effective coding
In this section, I'll cover four techniques I use for my AI-native workflow. These are some techniques that I actually use every day when planning.
Macwhisper
MacWhisper is a great transcription tool available for Mac. Simply put, MacWhisper lets you press a button, talk to your computer, and text is automatically typed and pasted wherever your mouse cursor is.
This is useful because most of my programming workflow is from pure code to natural language. Using a writing tool for coding can be inherently difficult because coding requires many special characters such as colons, brackets, and tabs, which are quick to type on a keyboard.
With AI agents, most of the work is done in natural language, instead of coding language.
So, whenever I tell my Cursor agent, I usually just hold down a button and say out loud whatever I want to tell my agent. For example, I might ask:
Check the logs for this document id, was it processed correctly
In this example, I paste in the document id after saying the sentence aloud.
The reason I use Macwhisper is that I speak faster than I can type. The average speaking speed is 150 words per minute, while most people can type 100 words per minute at high speed. Plus, you rarely type too fast when you have to think again.
Claude Code review
This step is divided into two parts:
- After executing the function, I ask the Cursor if the code is ready to be generated, and push only when the Cursor is satisfied
- Whenever I do a PR, I have Claude's code in the code review as well, with no other context than the description of the PR, and the Git diff file on the branch I merge.
This works very well. Asking Cursor if the code is ready for production causes Cursor to perform a review of my changes and fix any minor issues that may not be working as intended.
In addition, having a completely separate LLM to review the code without the context of how the implementation is done is very helpful. This often finds other errors that I (or the Cursor) didn't think of when I coded the PR. This also significantly reduces the number of bugs found in production, and is a cheap addition to your CICD pipeline.
Parallel agents (fire and forget)
Another important method is to use parallel agents. Whenever I get blocked by an agent doing some work, I always start a new agent. This could be a code agent using another feature, or it could be an in-depth Gemini study, researching a topic that interests me. The point is that I never just wait for my agent without doing anything else.
If you use parallel agents, you may start to struggle with context switching. Editing content is often very taxing on your mind, and it's definitely something you want to minimize.
So, I always make sure I'm working on a task until I'm completely blocked. I try to minimize the number of times I switch contexts, and start the same task only if I'm sure I have to wait some time for my coding agent to finish its execution.
Another important point here is that you give your coding agents enough permissions to run for a long time. If you are interrupted every time the cursor asks for permissions, the corresponding workflow is not working properly.
You must grant your coding agents sufficient permissions. If you are constantly interrupted with permission requests, it is difficult to be effective.
Engage with PR and agents
Finally, I want to highlight how I always interact with GitHub using my coding agents, instead of writing the commands myself. The reason I do this is that it's just faster, and I can do other things while my agent runs precommit hooks, commits, pushes, and pull requests.
Writing commit messages, pull request titles, and descriptions takes a surprising amount of time. Especially if you are doing quick actions, like adding a translation or moving a button in the UI. Therefore, I always use Claude to write my commitment messages, PR articles, and descriptions.
Not only does this save me time, but I also think Claude does a much better job of writing these messages for me. With pull requests, for example, it is often difficult for a person to remember all the changes that have been made and summarize them in a nice way. It's very easy for Claude to look at the Git diff and provide a summary of all the changes made.
So, I gave Cursor permission to interact with GitHub for me. Instead of doing all the GitHub actions myself, like:
- Pulling
- Bringing you down
- Commitment
- It fixes it
- Pushing
- Creating PRs
I just let Cursor do it for me. That way, I can just shoot and forget. My workflow after installing a new feature is to simply issue the following command to the Cursor:
Run all precommit checks (black, mypy, pytest), commit and push.
Then create a PR on this branch and give me
the link to the PR
This is much faster than writing GitHub commands yourself. Not having to write pull requests myself is probably the most important thing, as this was time-consuming in the past when I made my pull requests in the GitHub UI. Now I just click on the link my agent gives me, and the PR is ready. Then I look at the Claude Code update that was provided to me, and fix any potential problems.
The conclusion
In this article, I've discussed four specific strategies that I use every day when coding. I discussed Macwhisper writing, Claude code reviews, parallel agents, and connecting to GitHub using my agent. Together, I estimate that these methods can save at least 1 hour each day, which is a significant amount of time. Freeing up this time allows me to complete many other tasks during the project. I believe that working effectively with AI agents is a very important skill, and definitely a topic you should spend time mastering.
👉 My Free Resources
🚀 10x Your Engineering with LLMs (Free 3-Day Email Course)
📚 Get my free ebook Vision Language Models
💻 My webinar on Vision Language Models
👉 Find me on social media:
📩 Subscribe to my newsletter
🧑💻 Contact
🐦 X / Twitter
✍️ In the middle



