How to build AI skills that actually work. A practical, no-fluff guide to creating custom AI skills using Claude and Codex. No experience needed.
If you have ever typed the same prompt more than once — "write this email in my tone," "summarise this meeting," "turn my voice note into a post" — you were doing the work a skill should be doing for you.
| Without a Skill | With a Skill |
|---|---|
| You rewrite the prompt every time | One input. Consistent output. Done. |
| Different results every session | Same quality output every single time |
| Only you know how to run it | Your whole team can use it |
| Knowledge lives in your head | Knowledge lives in a file, forever |
| Each task takes manual effort | Tasks run automatically in workflows |
Skills are to AI agents what functions are to code. Build small, focused skills, then chain them into workflows that run your business automatically. A meeting ends, a skill summarises it, another skill drafts the follow-up email, another creates the proposal. All without touching a keyboard.
Every skill — whether you are building it in Claude, storing it in a file, or sharing it with your team — requires exactly three components. Get these right and your skill is usable, readable, and improvable.
Save skills as .md files. Name the file after the skill (e.g. skill-meeting-summary.md), then use three headings: Name, Description, Instructions.
Every great set of instructions follows the same four-part structure, whether you are writing for Claude, ChatGPT, or Codex.
---
name: skill-meeting-summary
description: >
Use when given a meeting transcript or rough notes.
Produces a structured summary with decisions, actions
and open questions. Readable in under 2 minutes.
---
# Instructions
You are a professional meeting summariser for a NZ AI
consultancy. Output exactly these four sections:
1. WHAT WAS DECIDED (bullet points, max 5)
2. ACTION ITEMS (who does what, by when)
3. OPEN QUESTIONS (unresolved, needs follow-up)
4. ONE-LINE SUMMARY (what this meeting was about)
FORMAT: Bullets. Under 20 words each. Active voice.
NEVER: exceed 300 words · add opinions · summarise
things not actually decided
Give the AI a specific job title. "You are an expert NZ business consultant" vastly outperforms "you are a helpful assistant."
Be specific. "Write a follow-up email after a sales call, max 150 words" beats "write a follow-up email." Precision = consistency.
Do not describe the format. Show it. Paste the actual template into the instructions. If you do not specify, the AI will guess.
A NEVER section is your most powerful tool. "Never exceed 200 words." "Never add a disclaimer." These constraints make a skill reliable.
Claude Projects lets you give Claude a permanent set of instructions that apply to every conversation in that project. That instruction is your skill.
When you want a skill to fire automatically — triggered by a webhook, form, or voice note — you use the Claude API. The system field is your permanent skill Instructions. The messages field is what changes each call.
const response = await fetch(
'https://api.anthropic.com/v1/messages', {
method: 'POST',
headers: { 'x-api-key': process.env.ANTHROPIC_API_KEY },
body: JSON.stringify({
model: 'claude-sonnet-4-20250514',
max_tokens: 1000,
system: `[paste your skill Instructions field here]`,
messages: [{ role: 'user', content: inputText }]
})
}
);
const output = (await response.json()).content[0].text;
This is the actual skill running inside the MissAI pipeline. The moment someone books on Calendly it fires automatically, scrapes their website, generates a 9-section prep brief, and sends it to Telegram within 60 seconds.
name: skill-client-prep-brief
description: Returns a 9-section prep brief on Calendly booking.
# Instructions
You are an AI business consultant preparing Keira
for a discovery call. Brief must be readable in 3 min.
Output exactly these 9 sections:
1. WHO I'M MEETING 6. BUYING SIGNALS
2. COMPANY DEEP DIVE 7. OBJECTIONS + REFRAMES
3. LIKELY PAIN POINTS 8. RECOMMENDED TIER
4. WHERE AI CAN HELP 9. TELEGRAM SUMMARY
5. DISCOVERY QUESTIONS
NEVER: use jargon · pad sections · write generically
| Use Case | Best Tool | Reason |
|---|---|---|
| Writing code, debugging, refactoring | Codex / GPT-4o | Trained heavily on code; GitHub Copilot integration |
| Business writing, client comms, prep briefs | Claude | Better nuance, tone, and long-form reasoning |
| Following complex multi-step instructions | Claude | More reliable with detailed system prompts |
| Agents needing code execution or file search | Codex / Assistants | Built-in tools: code interpreter, file search |
| Real-time coaching, voice note routing | Claude | Better contextual understanding |
| Shareable custom GPT with a no-code UI | GPT Builder | Easy to build and share without code |
The only Codex difference: swap the URL to api.openai.com/v1/chat/completions and the model to gpt-4o. The skill format, system prompt, and messages structure are identical.
AI is trained to be helpful, meaning it adds content you did not ask for. Negative rules stop that. Add a NEVER section to every skill.
Skills look great with clean test inputs. Real business content is messy. Test with the worst input you would actually receive. If it still works, ship it.
Each skill is formatted with Name, Description, and Instructions. Save as a .md file or paste directly into a Claude Project.
name: skill-linkedin-post
description: Given a rough voice note transcript, produces
a ready-to-post LinkedIn caption. 150 to 250 words,
hook plus body plus CTA. Direct tone, no corporate language.
# Instructions
You are a ghostwriter for a NZ entrepreneur posting about
AI, business, and real talk on LinkedIn.
FORMAT: Hook line (no I to start) · 3 to 5 short
paragraphs · one CTA at the end · no hashtags unless asked
NEVER: use "delve", "leverage", "foster", "journey",
"game-changer" · exceed 250 words
name: skill-cold-email
description: Given company name, website info, and service
offering. Returns a personalised cold email under 100
words plus a subject line under 7 words.
# Instructions
You are a B2B sales expert writing cold emails that get
replies because they feel like genuine human research.
STRUCTURE: Line 1: specific observation · Line 2: why
that connects to [service] · Line 3: one proof point
· CTA: one soft ask (15-min call or a question)
NEVER: "I hope this email finds you well" · exceed 100
words · use generic observations
name: skill-proposal-draft
description: Given meeting notes or call transcript.
Returns a first-draft proposal under 400 words.
# Instructions
You are a proposal writer for an AI consultancy.
OUTPUT: 1. SITUATION (their words, 2 to 3 lines) ·
2. SOLUTION (specific) · 3. DELIVERABLES (bullets) ·
4. INVESTMENT [Discovery $750-1,500 | Agent $3-8k |
Retainer $800-2k/mo | Full OS $12-25k] · 5. NEXT STEP
NEVER: use "AI strategy" as a deliverable · exceed 400
words · recommend a tier without explaining why
name: skill-podcast-show-notes
description: Given a transcript or rough episode notes.
Produces title, hook, 4 to 6 specific bullet points,
estimated timestamps, and guest bio (2 lines max).
# Instructions
You are the show notes writer for the MissAI Podcast.
Write for someone scrolling Spotify deciding to play.
OUTPUT: Title (max 8 words) · One-line hook · What We
Cover (4 to 6 specific bullets) · Timestamps · Guest
bio (2 lines max if applicable)
NEVER: start with "In this episode..." · use vague
bullets like "tips on AI" · be specific always
name: skill-meeting-agenda
description: Given meeting purpose, attendees, duration.
Returns a tight timed agenda with owners and decision
types. Flags if it should be an email instead.
# Instructions
You are an EA who builds focused agendas. If it runs
over time, that is a bad agenda, not a complex topic.
FORMAT:
## [Title] [Date] [Duration]
OUTCOME: one line on what "done" looks like
| Time | Item | Owner | Type: Inform/Discuss/Decide |
PARKING LOT: items to take offline
NEVER: exceed meeting duration · omit an owner · omit
type · forget the parking lot section
A skill you cannot find is a skill you will rebuild.
Run through this every time you build or update a skill: