Loading page…
A rule shapes every answer. A skill teaches your assistant one job. If you have pasted the same "here is how I want you to do this" paragraph into a new chat for the third time, that paragraph wants to be a skill.
This post builds one, start to finish. You need a text editor and an assistant. No code, and the file you write works in Claude, ChatGPT, Cursor, and Codex, because they all read the same skill format.
Set a timer if you like. The writing takes ten minutes. Installing and testing takes five.
Good first skills share three traits:
For this walkthrough I will use the weekly status update: you have a pile of rough notes about what happened this week, and you need a short, readable update for a manager or a client. Almost everyone writes one, and almost everyone retypes the same instructions every Friday.
Here is the Friday ritual, in full:
Turn these notes into my weekly update for the client. Start with the one thing they most need to know. Then three sections: done, in progress, blocked. Keep it under 200 words. Plain language, no internal jargon. Anything blocked needs to say what we need from them and by when. Don't make anything sound finished if it isn't. Sign off "Thanks, Sam".
[notes pasted here]
It works, when you remember all of it. The weeks it goes wrong are the weeks one line goes missing: the update buries the lede, or a blocked item says "waiting on client" with no date, or a half-done task gets described as shipped. The method lives in your head and gets retyped from memory, so it degrades.
A skill is a folder with one file in it. The folder is named after the skill. The file is always called SKILL.md, and it has two parts: a short header the assistant reads to decide when to use the skill, and the method itself.
Create a folder called weekly-update. Inside it, create a plain text file called SKILL.md and put this in it:
---
name: weekly-update
description: Turns rough notes about the week into a short client status update with done, in progress, and blocked sections. Use when I paste weekly notes, or ask for a weekly update, status update, or Friday update.
---
# Weekly update
## Steps
1. Read all the notes before writing anything.
2. Pick the single most important thing the reader needs to know this week. It goes first, in one sentence.
3. Sort every item into Done, In progress, or Blocked. If an item is partly done, it is In progress, not Done.
4. For each Blocked item, state what we need, from whom, and by when. If the notes give no date, write "date needed" rather than inventing one.
5. Write the update.
## Output format
- Opening sentence: the most important thing.
- **Done**, **In progress**, **Blocked**: short bullets, one line each.
- Under 200 words in total.
- Sign off: "Thanks, Sam".
## Before you hand it back
- Nothing is described as finished unless the notes say it is finished.
- Every Blocked item has an owner and a date, or says "date needed".
- No internal project names or jargon the client would not know.Change "Sam" to your name and adjust the sections to match how your updates look. Then read what you wrote with three questions in mind.
Does the description say when to use it, in words you would type? The assistant compares your request against the descriptions of all your skills and loads the one that matches. "Helps with updates" would sit unused. "Use when I paste weekly notes, or ask for a weekly update, status update, or Friday update" matches how you ask.
Are the steps ordered and concrete? "Read all the notes first" prevents the most common failure, which is an update built from the first paragraph only.
Does it end with checks? The last section is where you put the mistakes you have seen before. The assistant checks its own work against them before you ever see the draft.
Keep it to about a page. A skill that grows past two pages is usually two skills.
Where the folder goes depends on your assistant:
| Assistant | How |
|---|---|
| Claude app | Turn on Code execution and file creation in your capabilities settings. Compress the folder into a ZIP, then Customize, Skills, +, Create skill, Upload a skill. |
| ChatGPT (Business, Enterprise, Edu) | Skills, Create, then Upload from your computer, or Create with editor and paste. |
| ChatGPT (Free, Plus, Pro) | Create a project called "Weekly update" and paste everything below the header into the project instructions. Run your Friday chats in that project. |
| Claude Code | Put the folder in ~/.claude/skills/. |
| Cursor | Put the folder in ~/.cursor/skills/. Cursor also reads ~/.claude/skills/. |
| Codex | Put the folder in ~/.agents/skills/. |
Menus move from time to time. If a label does not match your screen, your assistant's help page has the current wording.
Open a fresh chat. Do not name the skill. Paste this week's notes and type what you would normally type:
Here are my notes for this week, can you do the Friday update?
What comes back should open with one sentence of headline, then the three sections, under 200 words, with every blocked item carrying a date or "date needed", signed with your name. The Friday message went from eight lines of instructions to one line and your notes.
If it did not come out right, fix the skill, not the chat:
Run it on three real weeks, including one messy one, before you trust it. Every fix goes into the file, so next Friday starts from the improved version.
You can also call a skill by name when you know you want it: /weekly-update in Claude Code or Cursor, $weekly-update in Codex, or @ and the name in ChatGPT.
One skill is a habit. Five or six that fire reliably change how the week feels. Look for the next task you correct most often and repeat the fifteen minutes.
If your standing preferences (tone, length, currency, sign-off) are still being typed into every chat, those belong in a rule instead. Rules vs prompts covers which is which, and the free Rules Builder gets you a first rules file from eight plain questions. The free primer, 10 rules that make your AI assistant stop guessing, covers the habits that make any request land.
If you would rather start from finished skills than blank files, the Skills & Rules Starter Kit ($149 USD, one-time) has six ready templates, each with a guide to adapting it: meeting notes, email replies, decision briefs, social posts, call prep, and proposal drafts. It also includes fill-in rules files for your account, your projects, and AGENTS.md/CLAUDE.md, plus before and after examples. And if you want someone to set up your rules and skills with you, Guided Setup is a two-hour session for $450 USD, Starter Kit included.
The Skills & Rules Starter Kit gives you fill-in rules files and six ready skills, each with a short guide to making it yours. No code needed.