Plain instructions for one task. You say the trigger, it does the thing. Great, but it is a single step.
Phases, checkpoints, memory, and its own reference material. It handles a whole task and stops to check with you before anything you cannot undo.
The diamond is the human in the loop. That is the part that makes it safe to hand off.
And it is better, because the time goes into editing and judgment, not building from scratch every week.
You do not start by writing the skill. You map every step, the order, and where a human decision has to happen. Then you hand that map to your AI and it builds the skill around it.
"If you can map it, you can build it. If you cannot map it, you do not understand your own process well enough yet, and that is the real work."
Today you build SKILL.md, one references file, and LEARNED.md. Scripts come later.
Break a big job into callable pieces you fire one at a time.
The AI does the work, you keep control at the risky moments.
Keep templates and rules out of the main instructions file.
Deterministic steps run identically every single time.
Corrections stick. Quality climbs week over week on its own.
Before the newsletter writes a word, it prints its plan and asks "does this direction work?" and waits. Before it sends, it confirms.
"The checkpoints are not a weakness. They are the point. The AI does the heavy lifting, you keep the judgment calls."
Claude Code running, an editor open, one recurring task you can describe step by step, and a ~/.claude/.env for secrets.
The accounts your task touches: where your data lives, and any tool you send or publish to. Each needs an API key.
Reference files, memory, and other skills your skill can lean on. You are building small skills that call each other.
| The newsletter skill uses | Your equivalent |
|---|---|
| Notion (content queue) | Where your data lives: Notion, a Google Sheet, a folder |
| Gmail (source feed) | Any inbox or feed you pull from |
| Web search | Built into Claude already |
| Acumbamail (sends) | Your email tool with an API: Mailchimp, MailerLite |
| Slack / Google Tasks | Optional: a notification and a reminder |
Every API key lives in ~/.claude/.env. Never in the skill file. Never in a shared folder. Say it out loud so it sticks.
Choose a task, map every step and decision on paper.
Create the folder and SKILL.md with a trigger.
Lay out the order, split draft from send.
Add the stop-and-confirm before anything risky.
Move your template or rules into a file.
Add LEARNED.md and run it for real.
Step 4 is the one that matters most. Nobody moves on until their skill stops and asks.
You should end up with a numbered list of steps and at least one "I approve here" marked.
For exact, repeatable steps like sending or formatting.
Wire it to your real tools: email, CRM, calendar. Keys in .env.
One skill triggers another as your workflow grows.
The skill scores its own output and fixes low scores itself.
Get your skill running your real task end to end.
After the next real run, add one fix to LEARNED.md.
Post in Skool: what you built and the time it saved.
That is how mine works, and it is how yours should grow. Build one this week. Then build the next.