Claude God Tip #4: How to Create Your Very Own Employees in Claude Code
Published: November 20, 2025 • 10 min read
In the attempt to becoming a Claude God, I am forced to dissect what is really happening behind the scenes when Claude goes off to execute a prompt. How much control do I really have of what is going on behind the scenes?
Well, thinking about all of this has led to the discovery of subagents in Claude. You see, if you are like me, you are probably building big projects, and you are doing that alone, and you're probably too broke to hire employees as well.
Well, what if you could create the employees?
In today's episode of Claude God Tips, we are going to talk about subagents in Claude Code. This one is a big tip!
Why Subagents Make Sense
In a typical software development company, especially a large one, you don't just hire one software developer and have them do all the work of writing code, testing, reviewing for security, designing the API, etc. For most companies, these tasks are split across different developers, each with a job title that matches their roles.
In Claude, you can also have these different developers, called subagents, that perform specific tasks when you write code.
So about these subagents: How many of them are there? How do you know which ones to use and when? How do you call these subagents?
All valid questions and easy to respond to as well.
Built-In Subagents
First, Claude comes with its own built-in subagents. If you go to your Claude terminal and type /agents, you will see a list of all the agents that currently exist as well as the option to create a new one.
The current default subagents are:
| Subagent | Model | Purpose |
|---|---|---|
| general-purpose | Sonnet | Default execution mode for your prompts |
| statusline-setup | Sonnet | Configures terminal status bar display |
| Explore | Haiku | Quick file and codebase exploration |
| Plan | Sonnet | Creates comprehensive implementation plans |
| claude-code-guide | Haiku | Helps you use Claude Code itself |
They don't all use the same model. claude-code-guide and Explore use Haiku, which is a faster and lighter model that is great at exploration or performing quick lookups. The other three use the Sonnet model, which is more capable of handling complex tasks.
When Each Subagent Is Called
The general-purpose subagent is what Claude uses to execute your prompts in normal execution mode. If you've used Claude Code before, you probably know by now that you can toggle between execution and planning mode using the Alt+M keyboard combination.
When you are in Plan mode, the Plan subagent handles the prompt execution by creating a comprehensive plan to execute whatever request you made. However, if you send a prompt that implicitly requires planning, Claude automatically detects that and calls the Plan subagent even when not in Plan mode.
The Explore subagent is called when you send a prompt that requires a quick file or codebase exploration.
The claude-code-guide subagent helps you with using Claude Code itself.
The statusline-setup subagent helps you configure your terminal to show additional Claude Code information (like current task, model, token usage, etc.) in your terminal. I am going to write more about this particular subagent in a future blog post!
Example Prompts for Each Built-In Subagent
Here are simple prompts that can trigger each built-in subagent:
- general-purpose: "Help me refactor this authentication function to use better error handling"
- statusline-setup: "Change the colors and format of my terminal status bar"
- Explore: "Find all files in this project that import Supabase"
- Plan: "Create a step-by-step implementation plan for adding dark mode to this app"
- claude-code-guide: "How do I use the /compact command in Claude Code?"
Creating Your Own Employees
Now that we have the built-in subagents out of the way, let's get back to the main purpose of this blog post, which is to show you how you can create your very own subagents. I call them employees because that is a more fun way to think about them.
Here is how I recommend you start off when creating them.
Step 1: Open the Agents Menu
After starting the Claude session, in the input box, type:
/agents
Step 2: Choose a Location
You will be prompted to choose a location for the agent, either a Project Agent or a Personal Agent.
Project Agent: Will be created in the .claude/agents/ directory. This agent will only exist for this specific project that you created it in. Think of it like hiring a contractor or a freelancer for one specific project amongst many projects that your company runs.
Personal Agent: Will be created in the ~/.claude/agents/ directory. This agent will exist for all projects that you run with your Claude account. Think of this like hiring a full-time employee who works across all projects in your company, depending on whatever you ask them to do.
Step 3: Generate or Configure Manually
After you select one, you will have the option to either generate with Claude or set up a manual configuration for the agent. It is recommended that you start off by generating with Claude and then you can go off to edit it as you wish.
Once you select this option, you will be allowed to describe in detail what the agent's role is. Claude is essentially providing you with an input box so that you can provide the job description of the employee you want to create.
Employee Ideas and Job Descriptions
Here are a few employees I would create and a summary of their job descriptions based on the type of work and projects that I am currently working on:
component-architecture
Ensure well-structured, reusable components following single responsibility principle. Flag components exceeding 200 lines and suggest decomposition. Verify proper separation of container (logic) vs presentational (UI) components. Identify prop drilling beyond 2 levels and suggest state management solutions. Check for duplicate UI patterns that should be abstracted. Ensure all components are properly typed with TypeScript interfaces. Provide refactoring recommendations with before/after code examples.
implementation-completeness
Verify all planned features are fully implemented, not stubbed or partial. Flag TODO comments, placeholder text, Lorem Ipsum, and mock data. Ensure all UI states exist: loading, error, empty, success. Check that all buttons have handlers, all forms are wired, all routes exist. Verify no orphaned code or unused imports. Provide checklist of incomplete items with file locations and specific completion requirements.
responsive-design
Ensure layouts work flawlessly at 320px, 375px, 768px, 1024px, 1440px, 1920px. Flag horizontal scroll, broken layouts, or unreadable text at any size. Verify navigation collapses on mobile, modals resize appropriately. Check that touch targets have sufficient spacing. Ensure typography uses relative units (rem/em), not fixed px. Verify images scale without distortion. Provide specific breakpoint failures with responsive CSS fixes.
performance-optimization
Ensure fast loads and smooth interactions. Flag large dependencies, missing code splitting, and unoptimized images. Identify unnecessary re-renders from improper state management. Verify animations use GPU-accelerated properties (transform/opacity). Check that reduced-motion preferences are respected. Ensure lazy loading for below-fold content. Flag duplicate API requests. Provide specific optimizations with metrics and implementation code.
testing-qa
Ensure critical paths have tests and edge cases are covered. Verify unit tests for utilities, integration tests for user flows. Check that tests assert behavior, not implementation details. Ensure error boundaries and API failures are tested. Verify components render without errors and handle all states. Provide test file templates, specific test cases needed, and manual QA checklists.
I prepared a markdown file with a number of agents and their responsibilities that you may find useful. Click here to download it.
Step 4: Select Tools
Now once you provide the description, you can specify what tools you want the agent to have access to. The concept of tools needs its own separate blog post which you should be able to access here when ready, but for now, it is okay to go with the default selection.
Step 5: Choose a Model
Now you will get a list of models to choose from, each with a different description. Use your judgment to decide which of them to select based on the description of the model, but the Sonnet model is generally the best for most agents as it is the most powerful and best at handling complex tasks.
❯ 1. Sonnet Balanced performance - best for most agents
2. Opus Most capable for complex reasoning tasks
3. Haiku Fast and efficient for simple tasks
4. Inherit from parent Use the same model as the main conversation
Step 6: Choose a Background Color
Now you also get to choose a background color for this agent. At this point, you will also notice that Claude automatically names the agent for you. Don't worry, you can still edit the name.
Go ahead and choose a color that you believe best suits your agent.
Please do NOT select the Automatic color, that's boring!
Step 7: Save or Edit
At this point, you get a preview of the markdown file with the description of this agent. You can choose to press s or Enter to save, or you can press e to edit the details.
If you press e, the markdown file will be opened in your default editor for you to make any changes you wish. If you do not edit the details now, the agent will be saved in:
.claude/agents/agent-name.mdfor a project agent~/.claude/agents/agent-name.mdfor a personal agent
Give Your Employees Real Names
Now here's the thing. This blog post is about creating employees, not employee titles. There's no fun in naming your agent responsive-design when you can give it a full-blown first and last name.
If you can't think of names, here are a few ways to get inspired:
- Have you ever wondered if your life would be so much better if you had a different first and/or last name? Well, why not name one of your subagents that?
- What about your favorite movies? Is there any character in there that you just think would make a great responsive design reviewer? An awesome component architect? An incredible performance optimizer? A detailed tester?
- Are you part of a fairly large team of developers, each with specific roles? Why not name your subagents after each developer on your team?
Now that you have a name, go ahead and edit the name of the markdown file as well as the name property in the markdown file to update the name of the agent.
If you have a Claude session running when you make this update, you might have to end the session (use Ctrl+C+C) and then restart it to see the agent's new name once you type /agents in the input box.
Talking to Your Employees
Now, instead of instructing Claude to use your subagents by saying stuff like:
- "Ask the code-reviewer to check this PR for security issues"
- "Have the responsive-design agent verify the mobile layout"
- "Tell the testing-qa subagent to write unit tests for this function"
You can instead say:
- "Ask Stella Evans to check this PR for security issues"
- "Tell James Smith to do his job now"
- "Have Lucy Chen verify the mobile layout looks good"
Now tell me, isn't that a lot more fun??
Why Names Matter (The Real Reason)
Also, when talking about your subagents with your colleagues or your boss, you don't want to sound boring, right?
The Boring Conversation
You: "Hey, I'm working on the checkout flow but I have the ux-accessibility subagent running a review."
Colleague: "Oh nice. Did the performance-optimization agent find any issues?"
You: "Yeah, the performance-optimization agent flagged some unnecessary re-renders. I'm going to have the testing-qa agent write some tests after I fix them."
Colleague: "Cool. Let me know when the implementation-completeness agent signs off."
Yawn.
The Fun Conversation
You: "Hey, I'm working on the checkout flow but I have Lucy Evans reviewing it for accessibility issues."
Colleague: "Oh nice. Did Marcus Chen find any performance problems?"
You: "Yeah, Marcus flagged some unnecessary re-renders in the cart component. I'm going to have Sarah Kim write some tests after I fix them."
Colleague: "Cool. Let me know when James Park signs off on the implementation."
You: "Will do! James is thorough, so it might take him a bit, but that's why I hired him."
See the difference? Now you're not just running scripts. You're managing a team. You're delegating. You're a leader.
Be Abnormal
So yeah, in a world where everyone is trying to be normal and follow the status quo, I challenge you to be abnormal. Give your subagents real and fun names.
However, if you work with a team that has already implemented subagents with the boring names, and then you change their names, and then confuse everyone on your team, and then get called to your boss's office, and then you tell your boss something along the lines of "Prisca said be abnormal" or "Prisca said I should challenge the status quo"...
Well, I'll simply deny all allegations.
As usual, thanks for reading!