Skill Usage and Design


Pingfan Hu & Dr. John Helveston
George Washington University

Agentic Workflows with Claude Code

Today

Everything about a skill splits into three things you do with it.
Using Skills
Summon a workflow by name with /
Installing Skills
Borrow from the open-source market
Authoring Skills
Encapsulate your own workflow, once

Without vs with a skill

Example: Deploying a Mac app
Without a skill
1Update the version number
2Build the release
3Sign & notarize with Apple
4Wire up auto-updating
5Publish the release on GitHub
With a skill
Use the /mac-app skill
to deploy the Mac app.

Without vs with a skill

Example: Creating an image
Without a skill
1Pick the right AI image model
2Set up the API access
3Write a detailed style prompt
4Run the generation script
5Clean up & export the PNG
With a skill
Use the /create-image skill
to generate an image of a sunset.

What is a skill?

A slash command that wraps a reusable, multi-step process.
File Structure
my-skill/
├─ SKILL.md ├─ script.R ├─ script.py └─ assets/ ├─ example.html └─ styles.css main scripts files
Invoke it
Use /my-skill
to do something...

Skill usage example: the Waza plugin

/think
Plan before coding
/ui
Craft the frontend
/hunt
Find root causes
/check
Review & ship
/write
Polish your prose
/read
Digest URLs & PDFs
/learn
Research a domain
/health
Audit your setup

Let’s use /read to summarize

Blog post of Prof. Helveston about the effectiveness of Quarto
Prompt
Use the /read skill to read through the url of this blog post and summarize the takeaways.
Takeaways
One source, any format
Up to 7× fewer tokens
Always current at render time
Plain text, clean Git diffs

 

— practice 01 —
Install Waza, use a skill, inspect its pipeline.
Install
Add the Waza plugin, following its README.
Use
Run one skill on a real task and judge the quality of the result.
Inspect
Ask your agent about the skill's pipeline to understand how it boosts efficiency.

Let’s create a skill!

1
Create a GitHub repo for your skills
2
Open the path in Positron
3
Launch Claude Code in Positron

Let’s create a skill!

my-skill/SKILL.md
---
name: my-skill
description: What it does and when to use it.
---
# My Skill
State the goal in one line.
## Steps
1. First step here.
2. Next step here.
## Notes
- A rule or example to follow.
name
The skill's id and slash command. Lowercase, kebab-case.
description
One line. How the AI decides when to reach for the skill.
body
The prompt loaded on invocation: steps, rules, examples to follow.
Start from this template and build your skill with the help of AI.

More sophisticated skills

A full pipeline
App Deployment
Multiple AI agents
Image Generation
Subsections for a same topic
/surveydown-skill

Skill for a full pipeline

A /mac-app skill for the full deployment pipeline
File structure
mac-app/
├─ SKILL.md └─ resources/ ├─ ui.md ├─ update.md └─ release.md main guides
Skill pipeline
1Update the version number
2Build the release
3Sign & notarize with Apple
4Wire up auto-updating
5Publish the release on GitHub

Skill for multi-agents

A /create-image skill with APIs to 3 image models
File structure
create-image/
├─ SKILL.md └─ scripts/ ├─ gemini.py ├─ gpt.py └─ seedream.py main models
Output

Skill for a same topic

A /surveydown-skill that wraps up multiple usages of surveydown.
File structure
surveydown-skill/
├─ SKILL.md
├─ author/
│ ├─ create-survey/
│ └─ connect-database/
├─ deploy/
│ ├─ hugging-face/
│ ├─ google-cloud/
│ └─ posit-cloud/
└─ demo/
└─ record-video/
One topic
Author a survey
Deploy to any host
Demo with a recording

 

— practice 02 —
Build and test your own skill.
Create repo
Stores your skills and the symlink shell command.
Author a skill
Make one that matches your own needs.
Load and test
Load it in your agent session and try it out.

 

Randomness
Nature of LLMs
VS
Determinism
What we desire

Randomness naturally exists in LLMs

/create-image "a white cat, vintage Japanese travel poster"
run 1
run 2
run 3
Consistent theme but varied details.

Workarounds for Determinism

Cooking Oil
Cooking oil
Light Soy Sauce
Light soy sauce
Tomato Paste
Tomato paste
Template
One base bottle for every cooking liquid.
Script
Image-to-image scripts based on the template.
Post-processing
Label stamped afterwards: fixed font, size, and color.

Skills, in summary

Start minimal
One SKILL.md is enough to begin.
Pin the deterministic parts
Templates and scripts keep what must hold still.
Bundle workflows
One skill can hold many abilities under one theme.
Nest other agents
Delegate the task your agent is weak at.

My takeaway

"
A skill is not for the agent's benefit. The agent does not distinguish a skill from a temporary prompt: it just reads files and context. We make skills for the humans, to encapsulate a workflow worth keeping.