Agent Skills

Programming with LLMs in R and Python

posit::conf(2026)

2026-09-14

Agent Skills

Have you used a skill today?

If you asked Posit Assistant for /help today, you have!

Let’s look at it in .agents/skills/help/SKILL.md

SKILL.md

---
name: renewal-letters
description: Draft a renewal letter for a lapsed Last Blockbuster member.
---

# Renewal letters

Offer Basic members a free-rental code.
Offer Family members a family-night bundle.
Offer Founders members a commemorative card.

Anatomy of a skill

.agents/skills/
└── renewal-letters/
    ├── SKILL.md      # Required: metadata + instructions
    ├── references/   # Optional: documentation
    ├── scripts/      # Optional: executable code
    └── assets/       # Optional: templates, data files

Progressive disclosure

  1. Discovery
    the agent starts with name and description

  2. Activation
    when it decides to, the agent reads the full SKILL.md

  3. Execution
    after that, it’s in the agent’s robot hands

Why not just use the system prompt?

System prompt

instructions for every session

Skills

on-demand instructions

System prompt vs. user prompt

Short answer: Put instructions and background knowledge in the system prompt.

Put the current task in the user prompt.

The scene: win-back letters

Your win-back work paid off and found three Founders members we really want to keep. Your job is to write those letters.

Member Tier Last rented
Elaine Wu Founders The Princess Bride
Theo Bennett Founders The Matrix
Marisol Vega Founders The Goonies

Your Turn 21_skills-1

  1. Your Blockbuster agent gets a skill: renewal-letters holds the letter-writing instructions.

  2. List the skill in the system prompt, and give the agent a tool to read it.

  3. Draft letters for the top three lapsed members. Watch the agent read the skill before it starts drafting — and check them against the scene we just saw.

Discussion: Did your agent…?

  • Read the skill before it drafted a single letter?

  • Pick the right top three members from lapsed.csv?

  • Invent tier facts — a Founders perk for someone who isn’t one?

  • Mention overdue fees, even though the skill forbids it?

  • Leave the data files untouched?

Writing a skill that works

  • Add what the agent lacks; omit what it knows

  • The description is the trigger

  • Concrete beats generic

  • Keep it short

Your Turn 22_skills-2

  1. The skill has been swapped for a first draft with common problems.

  2. Use the diagnostic questions to fix SKILL.md, then re-run the letter task.

  3. Compare: same agent, same tools, different skill, different letters and token spend.

Discussion: Did your agent…?

  • Pick renewal-letters first, out of the four skills on offer?

  • Read a second skill before it started writing?

  • Follow the bad skill’s rules straight past the letter checklist?

  • Treat a vague description as a reason to hedge?

  • Write the same letters before and after your fix?

Skills in Posit Assistant

  • Built-ins: create-skill, r-package-development, quarto-authoring, …

  • Yours: ~/.posit/assistant/skills/ (all projects) or .agents/skills/ (this project)

  • Most skills also run as slash commands: /check-my-work

Skills in the ecosystem

npx skills add

Can you install the skill from…

Skills, recap

  • A skill is 📂 with SKILL.md: metadata plus instructions

  • Progressive disclosure: descriptions init, body on demand

  • Same format in Posit Assistant, Claude Code, Codex

Next up: using a complete agent

Posit Assistant