PTENES
MODULE 4.2

🔨 Building Skills in Practice

Moving beyond theory: here you builds real skills, from scratch, with the same vibe coding mindset—you describe the workflow, the agent writes the SKILL.md in the official format and becomes a slash command that you can reuse whenever you want. We'll build an email-drafting skill, test it, invoke it without arguments, reuse it with clean context, and then combine it with a ready-made design skill. Each topic is a copyable build.

7
Topics
~50
Minutes
Practical
Level
Hands-on
Type
Module progress 0% · 0 of 7

🔧 Before you start

A skill is a reusable procedure that you teach once and call whenever you want. In module 4.1, you saw its anatomy (the file SKILL.md with a name, description, and instructions). Here you builds. Don’t write the SKILL.md by hand: describe what the skill does and ask the agent to generate it in the official format. Same vibe-coding mindset—you describe the result, and the agent does the technical work.

Every skill starts with the same cycle: you describes the workflow in natural language, the agent generates the SKILL.md in the official format, it becomes a slash command (e.g., /draft-email), and from there you reuse — preferably with a clean context, so each run is predictable.

📝 You describe the workflow 🤖 Agent generates SKILL.md (format official) becomes a command /draft-email ▶ invokes → delivers polished email, ready to send reuse with clean context → same rules, fresh output 1. describe 2. generate SKILL.md 3. turn it into a command 4. invoke and reuse

Illustrative diagram — the blue box is the agent writing the SKILL.md. Build once; reuse forever. The dotted loop is reuse with /clear between runs.

1

📝 Requesting a skill in the official format

What it is

Building a skill starts with a good request. You describes the workflow — what the inputs, what’s the behavior expected, and where to save the result — and asks the agent to turn it into a slash command following the official skill format. It's the same mindset as vibe coding: you say the "what," the agent writes the SKILL.md (the “how”).

What is it?Official format — the standard structure of a skill: a file SKILL.md with name, description (when to use it) and instructions. Slash command — a shortcut like /nome that triggers the skill. Plan Mode — a mode in which the agent plans before changing files; great for reviewing the skill before creating it.

A good request is specific in all three dimensions. Too vague ("make an email skill") forces the agent to guess; too specific about technical steps ("create a .md file with YAML frontmatter containing…") throws away the benefit of letting it choose. The sweet spot: describe the inputs, behavior, and destination — and leave the rest to it.

🎯 Goal: ask the agent to create a skill, reviewing the plan before saving it.

prompt (paste into the agent chat)
Entre em Plan Mode.

Quero uma skill que .
- Entradas: 
- Comportamento: 
- Onde salvar: 

Crie isso como um slash command seguindo o formato
oficial de skill (SKILL.md com nome, descrição e
instruções). Me mostre o plano antes de gravar.

✅ How to verify: the agent responds with a plan (command name, description, instructions) and asks for whatever is missing instead of creating files right away. Approve it, and it saves the SKILL.md.

Why learn

A request in the official format ensures the skill is created for reuse — with a name, description, and instructions the agent will reread every time you invoke it. Asking in Plan Mode gives you a review point: you can correct the scope before it becomes a file.

✓ Good skill request

  • ✓Tell them the inputs, o behavior e where to save.
  • ✓Ask for the official format (slash command / SKILL.md).
  • ✓Review the plan before writing (Plan Mode).

✗ Bad request

  • ✗"Make an email skill" (without inputs or a destination).
  • ✗Specify the YAML and file structure step by step.
  • ✗Let the agent write without reviewing the scope.

Key concepts

Inputs

What the skill receives.

Behavior

What it does.

Destination

Where the output is saved.

Official format

SKILL.md + slash command.

2

✉️ “draft email” skill (/draft-email)

What it is

Let's build the first real skill: /draft-email. It receives three inputs—the bullets of the content, the recipient e o tone — and writes a polished, concise email without rambling (fluff). The draft is saved in a temporary folder, and the entire procedure becomes the command /draft-email.

What is it?Bullets — the raw points the email needs to cover (you don’t write sentences, just bullet points). Tone — the writing style (formal, friendly, direct). No fluff — no filler; just the essentials, politely and clearly.

🎯 Goal: o SKILL.md that the agent generates for the /draft-email skill.

SKILL.md (official format)
---
name: draft-email
description: Rascunha um e-mail polido a partir de
  bullets, destinatário e tom. Use quando o usuário
  pedir para escrever ou rascunhar um e-mail.
---

# Rascunhar e-mail

## Entradas
- destinatário: para quem é o e-mail
- tom: 
- bullets: os pontos a cobrir

Se faltar alguma entrada, PERGUNTE antes de escrever.

## Comportamento
1. Escreva um e-mail conciso e polido, sem fluff.
2. Respeite o tom pedido; assunto curto e claro.
3. Salve o rascunho em /email.md.

✅ How to verify: invoke /draft-email with a recipient, a tone, and 2–3 bullets. The agent should return a concise email in the right tone and save the file. Read it: does it have a subject line? Is it free of filler?

Why learn

Email is the perfect example of a repetitive, standardizable task: you write dozens a week, and they all follow the same structure. Encapsulating this in a skill means that the “how to write well” lives in the SKILL.md, and you just provide the content. Build it once, save time forever.

🎯 Practical tip

After building, test immediately with one of your real cases. If the tone is off or the email is too wordy, don’t start over: give feedback ("this sounds too formal; make it more direct") and ask it to adjust the SKILL.md. The skill gets better with every use.

Key concepts

3 inputs

Recipient, tone, bullets.

Concise

Polished and without fluff.

Save

In a temporary folder.

/draft-email

Becomes a slash command.

3

❓ Invoke without arguments

What it is

The robustness test for a good skill: call /draft-email without sending any data. Instead of running blind and making up a recipient and tone, the skill should ask for the missing details—the recipient, tone, and bullets—before writing a single line. That instruction of SKILL.md ("if any input is missing, ASK") is what ensures that.

What is it?Run in the dark — when the agent guesses inputs you didn't provide and produces something you didn't want. Robust skill — a skill that refuses to run when data is missing; it gathers the data first, then runs.

/draft-email (without arguments) 🤖 detects data missing → ask For whom? What tone? Which bullets? then writes

Illustrative diagram — invoking it without data isn't an error: it triggers data collection. The skill only writes after it has all three inputs.

Why learn

Skills that ask before running prevent automation’s worst nightmare: a plausible but wrong result based on guesses. When the skill collects what’s missing, you control the input—and never get an email addressed to the wrong person in the wrong tone.

🎯 Goal: see the skill ask for the inputs instead of guessing.

command + expected skill response
Você:
/draft-email

Skill (esperado):
Para escrever o e-mail, preciso de:
1) Para quem é? 
2) Qual o tom? 
3) Quais pontos cobrir? 

(a skill NÃO escreve nada até você responder)

✅ How to verify: if the skill already spits out a generic email without asking, it’s running blind. Go back to SKILL.md and reinforce the rule “if input is missing, ASK first.”

Key concepts

Ask first

Collects what’s missing.

Never in the dark

Doesn't guess inputs.

Robust

Handles missing data.

You control

The input is yours.

4

🔁 Reuse with a clean context

What it is

The real payoff from building a skill comes from reuse. To reuse it well, give it /clear (clear the conversation) and call /draft-email again with new entries. The result: an output fresh and consistent, following the same rules as the SKILL.md, without the previous conversation’s clutter contaminating the new email.

What is it?/clear — command that clears the conversation context (the agent “forgets” what was said before). Clean context — start from scratch, without old drafts influencing the new one. Bloated conversation — when accumulated history causes the agent to mix up requests and lose consistency.

Why learn

Without clean context, the third email of the day might inherit the tone of the first or mention the wrong recipient. Clearing it before each reuse makes every run predictable — the skill always applies the same rules, starting from the same point.

✓ Reuse correctly (clean context)

  • ✓Give /clear before each new run.
  • ✓Pass the new explicit inputs.
  • ✓Trust the same rules as the SKILL.md every time.

✗ Reuse incorrectly (bloated conversation)

  • ✗Stack emails in the same long conversation.
  • ✗Let the old tone/recipient carry over into the new one.
  • ✗Unpredictable results due to accumulated context.

🎯 Goal: reuse the skill from scratch, with new inputs.

sequence of commands (copy and run)
/clear

/draft-email
destinatário: 
tom: 
bullets:
- 
- 
- 

✅ How to verify: the new email should reflect ONLY the new entries—with no traces of the previous email. Repeat with other entries and compare: the structure is consistent, the content is fresh.

Key concepts

/clear

Clear the context.

Fresh output

No old residue.

Same rules

Guaranteed consistency.

Predictable

Every run starts the same way.

5

📊 "document → slides" skill

What it is

A more ambitious skill, but built the same way: document → slides. It reads a document and extracts the key points and create a professional presentation using Python tools. The input document is in temporary/resources and the generated presentation comes out in temporary/outputs — organized folders, with input and output kept separate.

What is it?Python tools — the agent runs Python code to generate the slide file (the skill describes what, the agent writes the code). resources / outputs — folder convention: inputs in resources, results in outputs, to keep them separate.

🎯 Goal: create the skill that turns a document into a presentation.

creation prompt (paste into the chat)
Crie uma skill chamada  que:
- Lê um documento de temporary/resources/
- Extrai os pontos-chave do conteúdo
- Cria uma apresentação profissional usando
  ferramentas Python
- Salva o resultado em temporary/outputs/

Faça no formato oficial (slash command). Se faltar
o arquivo de entrada, PERGUNTE qual usar.

✅ How to verify: put a document in temporary/resources, invoke the skill and check temporary/outputs — there should be a presentation file with the document’s key points, not the raw text copied over.

Why learn

This skill shows that the same pattern scales: clear inputs, described behavior, defined destination—now with the agent writing Python code under the hood. You don't need to know Python; you need to describe the result. And the separation resources/outputs keeps the project clean and the skill reusable with any document.

Key concepts

Read document

Input in resources.

Key points

Extracts the essentials.

Python Tools

The agent generates the code.

outputs

Separate output.

6

🎨 Plug in a ready-made design skill

What it is

Skills are composed. Instead of describing every visual detail of your presentation, you stacks an existing design skill layered on top of the skill doc-to-slides. The design skill provides the typography, color, and spacing rules; your skill handles the content. The visual quality improves without you having to become a designer.

What is it?Composition — combining two skills so one can use the other (content + design). Stack — add a skill to the workflow without rewriting the first one; each does its part. Ready-to-use design skill — a ready-made skill (yours or the community’s) that applies a visual pattern.

📊 doc-to-slides handles the content 🎨 design skill typography · colors · layout stacks on top ↓ make up ✨ polished presentation the right content + polished visuals without describing every detail

Illustrative diagram — adding a design skill doesn't replace yours; each covers a different responsibility, and together they improve the result.

Why learn

Composition is what makes your skill library worth more than the sum of its parts. A ready-made design skill becomes a "theme" you can plug into any skill that generates a visual artifact. You reuse design knowledge that isn't even yours—and the result looks like it was made by an expert.

🎯 Practical tip

Keep skills small and single-purpose (one creates content, another handles design). Lean skills work better together — it’s easier to stack two focused pieces than to take apart one giant skill that tries to do everything. Think Lego pieces, not a solid block.

Key concepts

Compose

Skills work together.

Stack

Design over content.

Reuse

A ready-to-use skill = a theme.

Single focus

Each skill does one thing.

7

📚 Student Skills Library

What it is

Now that you know how to build, test, invoke, and reuse, the final step is to accumulate: build your own skills library. Each skill is one of your repetitive tasks, encapsulated once. Below is a catalog of ready-made ideas—not to copy, but to serve as starting point from your own collection.

What is it?Skills library — the set of slash commands you’ve created, each automating a task you used to do by hand. The more good skills you have, the more leverage you get: describe it once, reuse it for months.

Catalog of starting points

📝➡️✅
notes → actions

Reads loose notes and extracts a task list with an owner and deadline.

📊➡️📄
data → PDF

Receives a table/spreadsheet and generates a formatted PDF report.

✉️
draft an email

A /draft-email that you built: bullets + tone → polished email.

🗣️➡️📋
meeting summary

A transcript goes in; decisions, pending items, and next steps come out.

🔍➡️🧾
research brief

A topic goes in; a structured summary with key points and sources comes out.

📄➡️🖥️
document → slides

The skill from topic 5—key points become a professional presentation.

The life cycle of a skill

  1. 1
    Build

    Describe the workflow; the agent generates the SKILL.md in the official format.

  2. 2
    Test

    Run it with a real case; invoke it without args to check that it asks.

  3. 3
    Reuse

    /clear + new entries → fresh, consistent output, a thousand times over.

  4. 4
    Modify / compose

    Give feedback to adjust the SKILL.md, or stack another skill on top.

Why learn

A skills library is capital that earns interest: every skill you build saves time on every future run, and good skills combine into larger workflows. Start small — one or two skills for your most repetitive tasks — and let the collection grow with use.

Key concepts

Catalog

Starting ideas.

Accumulate

One skill per repetitive task.

Lifecycle

Build → test → reuse → modify.

Leverage

Describe it once, reuse it always.

To reuse a skill with results fresh and consistent, what’s the right way?

📌 Module Summary

✓
Ask for the official format — describe the inputs, behavior, and destination; ask for a slash command (SKILL.md). Review it in Plan Mode.
✓
/draft-email — receives bullet points, a recipient, and a tone; writes a concise email without fluff and saves it in the temporary folder.
✓
Invoke without arguments — a robust skill that ASKS for missing inputs before running; it never works in the dark.
✓
Reuse with clean context — /clear and call it again with new inputs → fresh output, same rules, predictable runs.
✓
Document → slides — reads a document, extracts key points, and generates a presentation with Python tools; resources go in, outputs come out.
✓
Plug in a design skill — skills can be combined; adding a ready-made design skill improves visual quality without describing every detail.
✓
Skills library — build up a catalog (notes→actions, data→PDF, email, meeting summary, research brief) as starting points.

Next Module:

4.3 — Agents: Local, Scheduled & Event-Driven