DEV Community

SelfHealing
SelfHealing

Posted on

How to Write Reusable Skills for Your AI Assistant (SKILL.md Template + 3 Real Examples)

If you catch yourself typing the same instructions to your AI assistant every week ("summarize it like this, cite sources, keep it to one screen, don't send anything"), you don't need a better prompt. You need a skill.

A skill is a short Markdown file that tells your assistant how to do a recurring task: when it applies, the steps, the output format and the safety rules. Save it once and the assistant follows it every time, whether you ask by name or just describe the task.

This post walks through how I write them for Grok Bot, with three complete examples. The SKILL.md format (a small YAML header plus Markdown steps) is used by several agent tools now, so the ideas carry over even if your assistant is different. Check your own tool's docs for where skills live.

Disclosure: GrokBotStore is an unofficial, community-made store. It isn't affiliated with or endorsed by the makers of Grok Bot.

The anatomy of a SKILL.md

---
name: Meeting prep
description: >-
  Use when the user asks to prepare for a meeting, call or interview, or says "brief me on my next meeting". Builds a one-screen brief on attendees, history and goals.
---
# Meeting prep

## Steps
1. ...
2. ...

## Rules
- ...
Enter fullscreen mode Exit fullscreen mode

Four parts, each with a job:

Part Job Common mistake
name What you pick from the list Vague names like "Helper"
description When the assistant should use it Describing what it is instead of when to use it
Steps The method, in order Steps that say "do a good job"
Rules What it must never do Leaving safety implied

The description is the trigger

This is the part most people get wrong. The assistant reads the description to decide whether the skill fits what you just asked. So write it as a trigger, starting with "Use when...", and include the phrases people actually say.

Weak:

description: A skill for meetings.
Enter fullscreen mode Exit fullscreen mode

Strong:

description: >-
  Use when the user asks to prepare for a meeting, call or interview, or says "brief me on my next meeting". Builds a one-screen brief on attendees, history and goals.
Enter fullscreen mode Exit fullscreen mode

The strong version names three situations (meeting, call, interview), quotes a real phrase, and says what comes out. With that, "brief me on my 3pm" finds the skill without you typing its name.

Steps: concrete enough to check

Each step should be something you could look at afterwards and say "yes, it did that" or "no, it didn't". "Research the company" is fuzzy. "For external attendees, quickly research their company and role on the web (public info only)" is checkable.

Give the output an exact shape too. Headings in a fixed order make results comparable week to week and easy to skim.

Rules: write down the "never"

The rules section is where you put the guardrails you'd otherwise have to remember every time:

  • Never send, buy, delete or publish without an explicit go-ahead.
  • Never invent facts, numbers, quotes or sources. Say "unverified" instead.
  • What to do when data is missing (ask, or continue and say what's missing).

That last one matters more than it looks. A skill without a missing-data rule will happily produce a confident answer from nothing.

Example 1: Meeting prep

---
name: Meeting prep
description: >-
  Use when the user asks to prepare for a meeting, call or interview, or says "brief me on my next meeting". Builds a one-screen brief on attendees, history and goals.
---
# Meeting prep

## Steps
1. Find the meeting: the one the user named, or the next one on their calendar.
2. Collect context: invite description and attachments, past emails with the attendees (last 90 days), notes the user saved in memory about them.
3. For external attendees, quickly research their company and role on the web (public info only).
4. Write the brief:
   - **Meeting**: title, time (user's zone), length, link
   - **Who**: one line per person (role, company, relationship so far)
   - **History**: what was last discussed or promised, with dates
   - **Goal**: what the user most likely wants from this meeting (ask if unclear)
   - **3 questions to ask** and **2 risks or objections** to prepare for
   - **Agenda** suggestion if the invite has none
5. Keep it to one screen.

## Rules
- Use only public information about people. No guessing personal details.
- Don't email attendees or edit the invite unless asked.
Enter fullscreen mode Exit fullscreen mode

Example 2: Decision memo

Good for "help me decide between these three tools / vendors / hires".

---
name: Decision memo
description: >-
  Use when the user is choosing between options (tools, hires, vendors, strategies, purchases) and asks "what should I do" or "help me decide". Produces a one-page decision memo with a clear recommendation.
---
# Decision memo

## Steps
1. Clarify the decision in one sentence, the deadline, and who decides.
2. List the options (add "do nothing" if it's realistic). Max 4.
3. Agree on 3 to 5 criteria with the user, weighted (e.g. cost 30%, speed 20%...). Propose defaults if they don't care.
4. Research facts each option needs (prices, limits, reviews) with links.
5. Score each option 1-5 per criterion in a table; show the weighted total.
6. Write the memo:
   - **Recommendation** and the single strongest reason
   - **Scoring table**
   - **What would change my mind**
   - **Reversibility**: how hard it is to undo
   - **Next step** with a date
Enter fullscreen mode Exit fullscreen mode

"What would change my mind" and "Reversibility" are the two lines that make this more useful than a pros-and-cons list.

Example 3: Deep research

---
name: Deep research
description: >-
  Use when the user asks to research a topic, question, market or technology in depth, or asks for "everything about X". Produces a sourced answer with confidence levels, not a pile of links.
---
# Deep research

## Steps
1. Restate the question in one line and list 3 to 6 sub-questions that together answer it. If the question is ambiguous, pick the most useful reading and say which one you chose.
2. Search the web for each sub-question. Prefer primary sources (official docs, filings, papers, the company's own pages) over aggregators. Open and read pages; don't rely on snippets.
3. For every important claim, keep the source link and the date of the source.
4. Where sources disagree, say so and explain which is more credible and why.
5. Write the answer:
   - **Bottom line** (3 sentences max)
   - **Key findings** (bullets, each with a source link)
   - **What's uncertain** (and what would settle it)
   - **Sources** (title, link, date)

## Rules
- Never invent statistics, quotes or sources. If you couldn't verify something, say "unverified".
- Mark anything older than 12 months as possibly outdated when the topic moves fast.
Enter fullscreen mode Exit fullscreen mode

Installing a skill in Grok Bot

No file editing needed:

  1. Copy the whole SKILL.md, including the --- header.
  2. Paste it to your bot and say "Save this as a skill."
  3. Use it by typing / in the chat box and picking it, or just ask for the task in plain words.

To improve one later, talk to it: "Update the Meeting prep skill: always put the agenda first." The bot rewrites the skill, so the fix sticks for every future run.

Skills + routines = automation

A skill gets more useful on a schedule. A routine is a saved prompt plus a trigger, so it can simply call a skill:

Every Friday at 15:47, run @Weekly review.
Enter fullscreen mode Exit fullscreen mode
Weekdays at 8:17, run @Meeting prep for my first external meeting today.
Enter fullscreen mode Exit fullscreen mode

Keep the method in the skill and the timing in the routine. When you want a different format, you change one file.

A five-minute checklist before you save

  • [ ] Does the description start with "Use when..." and include real phrases?
  • [ ] Could you check each step afterwards?
  • [ ] Is the output format fixed (headings in order, a length limit)?
  • [ ] Is there a "never" list (send, buy, delete, invent)?
  • [ ] Does it say what to do when data is missing?

Want 15 ready-made ones?

The three examples above come from the Grok Bot Skill Pack: 15 Reusable Skills ($19). It also has Weekly review, Competitor snapshot, Document summarizer, SOP writer, Content repurposer, Customer reply, Purchase compare, Learning plan, Trip planner, Meeting notes to actions, Project kickoff and Page report, each with a trigger-style description, fixed output and safety rules.

It's an unofficial, community-made kit. Every file is plain text you can read and edit before saving.

What's the one task you re-explain to your assistant every week? That's your first skill.

Top comments (0)