Skill Usage and Design


Pingfan Hu & Dr. John Helveston
George Washington University

Agentic Workflows with Claude Code

Roadmap

What Skills Are
Using Skills
Authoring Skills

What is a skill?

A slash command that contains norms, patterns, and full workflows.
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...

Without vs with a skill

Example: Adding a page to your website
Without a skill
1Describe the page layout
2Explain how pages link together
3Restate the styles and the CSS
4Repeat it for every new page
With a skill
Use the /build-webpage skill
to add a page in its saved design.

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

Wikipedia article about George Washington University
Write the prompt
Summarize the university
Example prompt
Use the /read skill to read through this Wikipedia article and summarize the takeaways: https://en.wikipedia.org/wiki/George_Washington_University

The anatomy of a skill

1
In my-site, create a .claude/skills/ folder
2
Add my-skill/SKILL.md inside it
3
Relaunch claude and it picks the skill up

The anatomy of 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.

 

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.

More sophisticated skills

A full pipeline
App Deployment
Multiple AI agents
Image Generation

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
4Publish 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

 

— practice —
Use our skills, then put your site online.
Install both skills
Paste the link to Claude and ask it to copy both skills into .claude/skills/. Then quit and restart claude.
Add a page, twice
Ask for a new page the plain way. Then ask again with /build-webpage and compare the two.
Go live
Run /publish-website and do what it says. Let the skill teach you. Paste your live address in the chat.
Thumbs up once your site is live.
Finished early? Add a rule of your own to build-webpage/SKILL.md, then run it again.

Skills, in summary

Start minimal: one SKILL.md is enough.
Pin the deterministic parts with templates and scripts.
Bundle full pipeline or multi-agents for complicated jobs.

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.