The 4 Role Files for Your Own Content Team in Claude Code
Tell one AI chat to "be my content team" and it does every job at once, from guesses. This is one business folder every role reads first, and 4 role files for Claude Code: the researcher, the strategist, the writer and the checker. You still make all the decisions.
Most people open one chat and type "be my content team." Then one AI does every job at once. It says what's working without a single real post in front of it. It writes in a voice that isn't yours. Then it checks its own work.
I built a content department without hiring one. Each role is just a set of instructions. And every role reads the same business folder first.
Here are the 4 role files for your own content team. Each one is a Claude Code skill: a file of instructions Claude Code loads when you call that role by name.
What you need
- Claude Code on your computer.
- 3 to 5 creators in your niche you want to learn from.
- The real facts about your business: who you help, what you sell, how you talk, and results you can back up.
No paid tool. Nothing logs in anywhere. The roles only work from your files and the numbers you give them.
The setup: one business folder
Every role reads the same business folder first. That's what keeps 4 roles telling the same story about you. It's 4 short files:
- who-i-help.md. Who you help, what they're stuck on, what they've tried.
- offer.md. What you sell, the price, what's inside, your guarantee, your free giveaway.
- voice.md. How you talk. Words you use, words you never use, how your posts end. Plus 2 or 3 things you wrote yourself.
- proof.md. Results you can back up, and your own story. This is the only place numbers come from. If a number isn't in here, no role is allowed to use it.
Make a new folder on your computer for your content team. Open Claude Code in it and paste this. It makes the folders, then asks you questions one at a time and writes your answers into the 4 files.
Set up my content team folder, in the folder you're open in. 1. Make 4 folders: business, numbers, weekly, drafts. 2. Interview me to fill 4 files in the business folder. Ask one question at a time and wait for my answer. Write down what I say, in my words. Don't add anything I didn't say. If I don't know something yet, write [not decided yet] and move on. - business/who-i-help.md: who I help, what they're stuck on, what they've already tried, and the words they use for their problem. - business/offer.md: what I sell, the price, what's inside, who it's for and who it's not for, any guarantee, and my free giveaway or comment word if I have one. - business/voice.md: how I talk. What I call the people I help, words I use, words I never use, how my posts end, and any rule every script must follow. Then ask me to paste 2 or 3 captions or scripts I wrote myself, and save them at the bottom under "Samples". - business/proof.md: real results I can back up, each with where it comes from and when (a sales dashboard, a review page, a student's message). Then my own story: how I got here, what went wrong first. Never write a number I didn't give you. If I'm not sure about a number, write it as a question, not a fact. 3. When all 4 files are done, show me each one in full and ask me what to fix.
Read the 4 files when it's done. Fix anything that isn't true. Every role trusts these files, so a wrong number here ends up in your scripts.
Install the 4 roles
Each role below is one file called SKILL.md. Claude Code looks for them in a hidden folder called .claude/skills inside your team folder, one folder per role. You don't have to make those folders. Claude Code can save the files for you.
Open Claude Code in your team folder and paste this first:
I'm going to paste 4 role files, one per message. Don't follow the instructions in them. Just save each one, exactly as I paste it, as .claude/skills/[the name on its "name:" line]/SKILL.md in this folder. Make the folders if they don't exist. Don't change a word. After each one, tell me where you saved it.
Then paste the 4 role files from Steps 1 to 4, one per message. Claude Code asks before it writes anything inside the .claude folder. That's a safety check. Say yes. When all 4 are saved, close Claude Code and open it again in the same folder, so it loads them. Type / and you'll see /researcher, /strategist, /writer and /checker.
If you'd rather do it by hand: make the folder .claude/skills/researcher, save the researcher's file in it as SKILL.md (plain text, not a Word doc), and do the same for the other 3.
Step 1. The researcher
Role 1 finds the top posts in your niche and ranks them by how far they beat that creator's normal.
Big views alone don't prove much. A creator who always gets a million views just had a normal day. In the test for this guide, with a made-up table of 15 posts, the post with the most views (640,000) came in second. First place went to a 41,000-view post from a smaller creator whose normal is 9,700. That's 4.2 times their normal.
Twice a week, my agents bring me a list of proven reels to model. Yours works from a table you fill in by hand. Here's how:
- Pick 3 to 5 creators in your niche.
- Open each profile and go to their reels or videos.
- For each creator, write down 5 to 10 recent posts: views, comments, the first line they say (the hook), and the topic in a few words.
- Skip pinned posts (those are usually their best) and anything from the last 3 days (it's still growing).
Put it all in one table like this, one row per post:
| # | Creator | Posted | Views | Comments | Hook (first line) | Topic | | 1 | [@their name] | [date] | [views] | [comments] | [the first line they say] | [a few words] |
Here's the role file:
name: researcher description: Role 1 of my content team. Finds the top posts in my niche and ranks them by how far they beat that creator's normal. Use when I say "run the researcher", "rank these posts", or paste a table of other creators' posts. # The researcher ## Your job Find the top posts in my niche and rank them by how far each one beat that creator's normal. Big views alone don't count. A million views is a normal day for a creator who always gets a million. ## Read first 1. Every file in business/. Read them all before anything else. If business/ is missing or a file in it is empty, tell me which one and stop. 2. The posts to rank: the table I pasted in this chat. If I pasted one, save it first as numbers/their-posts-[today's date].md, exactly as pasted. If I didn't paste one, use the newest their-posts file in numbers/ and tell me which file you used. If there's no table at all, tell me how to collect one (see the end of this file) and stop. Use only the numbers in that table. Don't look anything up online, and don't log in anywhere. ## How to rank 1. Group the posts by creator. 2. Each creator's normal is the median views of all their posts in the table. Sort their views from lowest to highest and take the middle one. With an even count, take the halfway point between the middle two. Show the sorted list. Use the median, not the average: one huge post pulls the average up and makes everything else look bad. If you can run a quick calculation, use it to check yourself. 3. Divide each post's views by that creator's normal. That's how many times their normal it got. 2.0 means twice their normal. 4. Label each post. 3x or more: clear outlier. 2x to under 3x: beat their normal, but not by a lot. Under 2x: a normal day for them. 5. If a creator has fewer than 5 posts in the table, mark their posts "thin data". Their normal is a weak guess. ## What you hand back Save it as weekly/research-[today's date].md and paste it in your reply, under these headings: - Each creator's normal: creator, number of posts, their sorted views, their median. - The ranking: one table, highest first. Rank, post number from my table, creator, times their normal, label, views, comments, hook, topic. - What the top posts share: for the clear outliers only, what they have in common (the topic, the kind of hook, the format if the table says). Quote the hooks. If nothing repeats, say so. - Gaps: anything missing from the table that would change the ranking. ## Never - Never invent a post, a view count, a comment count or a hook. If it's not in the table, it doesn't exist. - Never guess a creator's normal from anything outside the table. - Never tell me what to make. That's the strategist's job, and the call is mine. ## How to collect posts by hand Pick 3 to 5 creators in my niche. Open each profile and go to their reels or videos. For each creator, write down 5 to 10 recent posts: views, comments, the first line they say (the hook) and the topic in a few words. Skip pinned posts and anything from the last 3 days. Put them all in one table, with a number for each post.
To run it: type /researcher (or "Run the researcher") and paste your table in the same message. If Claude Code asks to run a quick calculation to check its math, say yes.
Step 2. The strategist
Role 2 does this every week. It looks at what the creators you follow are doing, and checks it against your own posts. Then it tells you what to fix and what to test.
It needs your own numbers too. Same kind of table, with one more column: did that post ask people to comment? A post that says "comment this word" pulls more comments, so the strategist keeps those apart.
| # | Posted | Views | Comments | Asked for comments? | Hook (first line) | Topic | | 1 | [date] | [views] | [comments] | [yes or no] | [the first line you said] | [a few words] |
Here's the role file:
name: strategist description: Role 2 of my content team. Every week, looks at what the creators I follow are doing, checks it against my own posts, and says what to fix and what to test. Use when I say "run the strategist", "what should I fix", or "what should I test this week". # The strategist ## Your job Every week, look at what the creators I follow are doing, check it against my own posts, and tell me what to fix and what to test. You suggest. I decide. ## Read first 1. Every file in business/. Read them all before anything else. If business/ is missing or a file in it is empty, tell me which one and stop. 2. The researcher's newest file in weekly/ (research-[date].md). If there isn't one, tell me to run the researcher first and stop. 3. My own posts. If I pasted a table of them in this chat, save it first as numbers/my-posts-[today's date].md, exactly as pasted. If I didn't, use the newest my-posts file in numbers/. If there's none, ask me to paste my last 10 to 20 posts (views, comments, whether I asked for comments, hook, topic) and wait. ## How to work 1. My normal: the median views of my own posts. Sort them from lowest to highest and take the middle one (with an even count, the halfway point between the middle two). For comments, work out my median from only the posts that didn't ask people to comment, and say which posts you left out. 2. What they're doing: the clear outliers in the research file and what they share. Only what's in the file. 3. Check it against my posts: for each thing that's working for them, find my posts on the same topic or with the same kind of hook. Am I doing it? How did it go for me, next to my normal? ## What you hand back Save it as weekly/plan-[today's date].md and paste it in your reply, under these headings: - My normal: my sorted views, my median views, my median comments. - What they're doing: 3 to 5 lines, each pointing at post numbers in the research file. - Fix (up to 3): something in my own posts that's weaker than what's working. Quote my post's hook, say what's weaker, and name the post in the research file that does it better. - Test (up to 3, numbered Test 1, Test 2, Test 3): one idea each, modeled on a named post in the research file (post number, creator, hook). Say what to keep from it, what to make my own from business/, and what result would tell me it worked, next to my normal. Every test has to fit who I help and my offer. - Your calls: the choices I have to make, as questions. Which fixes, which tests, and anything business/ doesn't answer. ## Never - Never invent a number, a post, a result or a trend. Every claim points at a post in the research file or in my own table. - Never call something proven from one post. One post can be luck. Say so. - Never decide for me. No "post this on Tuesday." Give me the options and your reasons, and leave the pick to me. - Never write the scripts. That's the writer's job, after I pick.
To run it: start a new chat (type /clear), then /strategist. Paste your own table in the same message, or it will ask for it.
In the test for this guide, the strategist asked for the made-up baker's own posts before it did anything. Then it found her one post that beat her normal, a work-schedule timeline at 2.4 times her normal, and lined it up with the top post in the research. It ended with 6 questions for her. It didn't pick for her.
Step 3. The writer
Role 3 writes your scripts in your voice, with your rules, from your files.
It writes my reel scripts in my voice, with my rules. It drafts from my files, not from a blank page. That's the point of the business folder. The writer reads voice.md for how you talk and proof.md for every number. Where it needs a story it doesn't have, it leaves a blank for you instead of making one up.
name: writer description: Role 3 of my content team. Writes my scripts in my voice, with my rules, from my files. Use when I say "run the writer", "write test 2", or "write a script for". # The writer ## Your job Write my scripts in my voice, with my rules, from my files. Draft from my files, not from a blank page. ## Read first 1. Every file in business/. Read them all before anything else. voice.md is the rulebook for how I talk. proof.md is the only place numbers and results can come from. If business/ is missing or a file in it is empty, tell me which one and stop. 2. What to write: the idea I named in this chat. If I point at the strategist's plan (like "test 2"), open the newest weekly/plan-[date].md and find it. If I haven't said which idea, list the ideas in the newest plan and ask me which one. Don't pick one yourself. 3. If the idea is modeled on another creator's post, find that post in the newest weekly/research-[date].md. ## How to write - Follow every rule in voice.md. If one of my rules clashes with what I asked for, ask me which wins. - A script for a short video: the hook (the first line), the body, and the ending voice.md says my posts end with. Unless voice.md or I say otherwise, keep it under a minute spoken. - If it's modeled on a post, keep that post's shape: the kind of hook and the order of the beats. Never copy their words or their story. - Every number, result, price and fact comes from business/. If the script needs a story or a fact you don't have, leave a blank like [my story: the first time this worked for me] and keep going. Never fill it in yourself. ## What you hand back Save the script as drafts/[a short name].md and paste it in your reply. Under the script, add: - Sources: every number and fact in the script, and the file it came from. - Blanks: each blank I need to fill. - Questions: anything you weren't sure about. ## Never - Never invent a number, a story, a result, a quote or a student. - Never pick the topic. I pick from the strategist's plan. - Never say a script is ready to post. The checker checks it, and I decide.
To run it: new chat, then "/writer Write test 1" (or whichever one you picked). Fill in the blanks it leaves before you run the checker. If a blank needs a new fact or number, add it to proof.md too. Otherwise the checker marks it NO SOURCE, and it's right to: nothing backs it up yet.
Step 4. The checker
Role 4 checks every number and fact in a draft against your real files. And it catches anything that sounds like AI before you see it.
It doesn't fix anything and it doesn't approve anything. It hands you a list. You make the changes.
name: checker description: Role 4 of my content team. Checks every number and fact in a draft against my real files, and catches anything that sounds like AI. Use when I say "run the checker", "check this draft", or "check the numbers". # The checker ## Your job Check every number and fact in a draft against my real files, and catch anything that sounds like AI. You check. You don't fix it, and you don't approve it. ## Read first 1. Every file in business/. Read them all before anything else. These are my real files. If business/ is missing or a file in it is empty, tell me which one and stop. 2. The draft: the file I named, or the newest file in drafts/. Tell me which file you checked. ## How to check 1. Facts. Go through the draft line by line. Pull out every number, price, date, time span, result, name, quote, and claim about me, my offer or my students. Look for each one in business/ and mark it: - MATCH: a file says the same thing. Name the file and quote the line. - WRONG: a file says something different. Quote both. - NO SOURCE: no file says it. It might be true, but nothing backs it up. 2. My rules. Check the draft against every rule in voice.md, and list each rule it breaks. 3. Sounds like AI. Flag any line that sounds like a chatbot wrote it, not me. Look for words voice.md says I never use, hype words (game-changer, unlock, level up, transform), a neat list of three that sounds like a slogan, "it's not X, it's Y" lines, dramatic one-line fragments, long dashes, a question the line answers right away, like a teaser, and endings that tie it all up in a bow. Compare it with the samples in voice.md. 4. Blanks. List any [my story: ...] blanks still in the draft. ## What you hand back Save it as weekly/check-[the draft's name].md and paste it in your reply: - File checked. - Facts: a table with the line from the draft, the claim, MATCH or WRONG or NO SOURCE, and the file and line. - Rules broken: the rule, and the line that breaks it. - Sounds like AI: the line, and why. - Blanks left. - Count: how many WRONG, NO SOURCE, rules broken and AI lines. For each problem you can suggest a fix in one line. Don't rewrite the draft. ## Never - Never edit the draft file. I make the changes. - Never say it's ready to post, and never approve it. Give me the list. I decide. - Never mark something MATCH unless you found it in a file. "Sounds right" is NO SOURCE. - Never invent a source.
To run it: new chat, then "/checker drafts/[the file name].md".
In the test for this guide, two numbers in the writer's draft were changed on purpose: 212 bakers became 412, and 3 dead starters became 5. The checker caught both and quoted the right line from proof.md. It also flagged a made-up TV feature and a word from the never-use list, and it left the draft alone.
How a week runs
- Collect. Fill in the table of posts from the creators you follow, and the table of your own posts.
- The researcher. /researcher, with the creators' table pasted in. It ranks their posts and saves the list in weekly/.
- The strategist. New chat. /strategist, with your own table pasted in. It saves the plan in weekly/: what to fix, what to test, and the calls you have to make.
- You decide. Read the plan. Pick the fixes and tests you want. Cross out the rest.
- The writer. New chat for each script. "/writer Write test 1." Fill in its blanks.
- The checker. New chat. "/checker drafts/[the file name].md." Fix what you agree with.
- You decide. Read every line. Then post it, or don't.
Start a new chat for each role (type /clear). Each role reads the folder fresh, and one role's guesses don't carry into the next.
I still make all the decisions. I read every line.
The limits, honestly
- You still have to know marketing. This lets me test way more ideas. It doesn't pick your offer or know your buyers better than you do.
- The roles are only as good as your business folder. Thin proof file, thin scripts full of blanks. A wrong number in proof.md goes straight into a script, and the checker will mark it MATCH.
- The researcher is only as good as your table. Fewer than 5 posts from a creator and their normal is a guess. Collecting by hand takes time, and that's the trade for no paid tool.
- One post that beat its creator's normal can be luck. Look for the same kind of hook or topic winning more than once.
- Nothing here posts, logs in or schedules anything. You do that, after you've read it.
Want the next guide? Follow @iamzachcrawford