Creating & Using Skills
Moderate · Technical & Agentic track · ~35 min hands-on + readings and quiz
← Back to the Technical & Agentic track
Turn a prompt that works into a reusable, shareable skill your team can run again and again.
What you’ll be able to do
- Write a reusable skill: job, steps, output, and guardrails
- Reuse it across tasks and share it with colleagues
- Know when a skill beats a one-off prompt
Overview
A skill is a saved package of instructions for one job done well — “turn notes into our standard recap.” Write it once; the assistant applies it whenever that job comes up. Claude has a formal Skills feature; in ChatGPT Edu, custom GPTs and project instructions do the same.
Most quality lives in the instructions, not the model. A good skill names the job, the steps, the output format, and the guardrails.
Practice activities
Activity 1 · Moderate — Write a reusable skill
Time ~18 min · Tools ChatGPT Edu (custom GPT) or Claude
Goal. Package a repeated task as a shareable, reliable skill.
Setup. Your task: turn messy meeting notes into a standard recap. Here are sample messy meeting notes to use:
epi dept mtg weds 7/2 — jen started with enrollment update, MPH apps up 12% but DrPH down, she’s worried about the DrPH pipeline. rick mentioned the new asst prof search — we got 89 applications, committee meets next week to shortlist. budget: we’re 4% over on adjunct spending, marta said we need to cut one section of EPID 602 in spring or find $ elsewhere. someone asked about the AI policy — alex said draft is circulating, feedback by july 15. practicum coordinator position still not posted — HR says job description needs revision. jen wants dept retreat date locked in (sept or oct?). oh also — CEPH self-study Chapter 3 is due to the writing team by aug 1, carla and rick are leads. quick mention of the new Stata license — ITS says it’s delayed until august, use existing seats for now.
Target recap format (this is what the skill should produce):
EPID Department Meeting — July 2, 2026
Decisions made: - [list any actual decisions]
Action items: - [person]: [task] — by [date]
Discussion highlights: - [2–4 sentence summary of key topics]
Parking lot (raised but not resolved): - [items needing follow-up]
Steps.
Draft the skill:
Help me write a reusable “skill” for this task. Include the job, step-by-step instructions, the exact output format, and guardrails (what it must never do). Task: Turn messy meeting notes into a structured recap using this format: [paste target format above]. Rules: (1) Only include action items that have a clear owner. (2) If a decision was discussed but not decided, put it in the parking lot, not in decisions. (3) Never invent attendees or topics not in the notes. (4) Keep highlights under 4 sentences.
Save it as a custom GPT’s instructions (or a Claude skill) and test it on the messy notes above.
Test on a second set of notes — use notes from your own recent meeting (non-sensitive content only). Does the skill produce the same clean format? Tighten wherever it drifts.
Expected result. A documented skill that consistently produces the four-section recap from any set of messy notes. The messy notes above should produce something like: no decisions made (several items were discussed but not resolved), action items for Alex (AI policy feedback by 7/15), Carla and Rick (CEPH Chapter 3 by 8/1), and parking lot items for the DrPH pipeline concern and the HR job description.
Check your work. Run it on the messy notes above and check: Did it put the retreat date in “decisions” (it shouldn’t — no date was decided) or in “parking lot” (correct)? Did it invent an action item for Marta about cutting EPID 602 (it shouldn’t — that was a concern, not an assigned action)?
Common pitfalls. Most of the quality is in the instructions, not the model. Vague instructions (“summarize the meeting”) produce vague output. Keep sensitive data out of skill files; share inside Drexel only.
Stretch (optional). Add a one-line “use this when…” trigger and have a colleague test it cold — if they can’t get the same output without help, the instructions need work.
Activity 2 · Moderate — Start a small skill library
Time ~12 min · Tools a shared doc (Teams/SharePoint)
Goal. Begin a reusable team library so good prompts become shared tools.
Setup. A shared document the team can reach.
Steps.
Add 2–3 skills, each with a title, the instructions, an example input/output, and “use when.”
Review the set:
Review my skill library for overlap or gaps, and suggest one more skill this set implies we need.
Agree where it lives and that anyone can add.
Expected result. A starter library of 2–3 skills plus one suggested addition.
Check your work. Have a colleague run one skill cold — if they can’t, the instructions need work.
Common pitfalls. A skill only its author can run isn’t reusable. Document clearly.
Stretch (optional). Convert your best prompt from another workshop into a skill.
Activity 3 · Moderate — Build a real file-based skill with Claude Code
Time ~20 min · Tools Claude Code (Anthropic’s command-line agent)
Goal. Rebuild Activity 1’s meeting-recap skill as a real, file-based Claude Code Skill — a folder with a SKILL.md file anyone can open, read, diff, and share — and compare its output to the custom-GPT version.
Setup. Claude Code is a consumer/PI-purchased tool, not Drexel-supported — Low Risk Data only, so stick to the fabricated notes below. Unlike a custom GPT (where the instructions live inside your account’s settings), a Claude Code Skill is just a folder containing a SKILL.md file — the job description, steps, output format, and guardrails written in plain markdown — plus any helper scripts the skill can actually run. You’ll reuse the same messy notes and target format from Activity 1:
epi dept mtg weds 7/2 — jen started with enrollment update, MPH apps up 12% but DrPH down, she’s worried about the DrPH pipeline. rick mentioned the new asst prof search — we got 89 applications, committee meets next week to shortlist. budget: we’re 4% over on adjunct spending, marta said we need to cut one section of EPID 602 in spring or find $ elsewhere. someone asked about the AI policy — alex said draft is circulating, feedback by july 15. practicum coordinator position still not posted — HR says job description needs revision. jen wants dept retreat date locked in (sept or oct?). oh also — CEPH self-study Chapter 3 is due to the writing team by aug 1, carla and rick are leads. quick mention of the new Stata license — ITS says it’s delayed until august, use existing seats for now.
Target recap format:
EPID Department Meeting — July 2, 2026
Decisions made: - [list any actual decisions]
Action items: - [person]: [task] — by [date]
Discussion highlights: - [2–4 sentence summary of key topics]
Parking lot (raised but not resolved): - [items needing follow-up]
Steps.
- Create a folder called
meeting-recap-skill/and inside it a file namedSKILL.mdcontaining the skill — same job, steps, output format, and guardrails as Activity 1, now as an actual document:
--- name: meeting-recap description: Turn messy meeting notes into a standard 4-section recap. Use when given raw or informal meeting notes. ---
Job. Convert messy meeting notes into a recap with exactly four sections: Decisions made, Action items, Discussion highlights, Parking lot.
Steps. Read the full notes first. Sort each item into one section. Then run
python count_actions.pyon the finished recap as a sanity check.Output format. [paste the target recap format from above]
Guardrails. Only list action items with a clear owner. Undecided items go to the parking lot, never to decisions. Never invent attendees, dates, or topics not in the notes. Keep discussion highlights under 4 sentences.
- Add the sanity-check helper the skill references — something a custom GPT can’t reliably do, because Claude Code can actually execute code. Save this as
count_actions.pyin the same folder:
import sys text = sys.stdin.read() n = text.split(“Action items:”)[-1].split(“Discussion highlights:”)[0].count(“-”) print(f”Action items extracted: {n}” + (” — WARNING: zero action items, check the recap.” if n == 0 else ““))
- Open a terminal in that folder, start Claude Code by typing
claude, and give it the same messy notes:
Use the meeting-recap skill to recap these notes: [paste the messy notes from Setup]
Watch it read
SKILL.md, produce the recap, and run the counter. Compare the output side-by-side with your Activity 1 custom-GPT result: same sections? Same sorting decisions?Now the payoff: open
SKILL.mdin any text editor. That single readable file is the skill — email it, drop it on a shared drive, or put it in version control, and a colleague sees exactly what it does. Try changing one guardrail and re-running to see the behavior change.
Expected result. The same four-section recap as Activity 1, plus a printed action-item count — produced by a skill that exists as an inspectable file rather than settings hidden in someone’s account.
Check your work. Same tests as Activity 1: retreat date in “parking lot” (correct), not “decisions”; no invented action item for Marta about cutting EPID 602. New test: did the counter run and report a nonzero count?
Common pitfalls. Low Risk Data only — never point Claude Code at a folder containing real student, personnel, or health data. The quality still lives in the instructions: a vague SKILL.md produces vague recaps, exactly like a vague custom GPT.
Stretch (optional). Put meeting-recap-skill/ in a shared drive or git repository, have a colleague run it cold on their own (non-sensitive) notes, and use a file diff to review any edits they propose — try doing that with a custom GPT’s instructions box.
Check your readiness
Answer these, then check — your score suggests whether to dive in or skim the readings first.
Recommended readings
Available in the shared OneDrive folder Staff Faculty AI Workshop → Readings, and online where linked:
- The Complete Guide to Building Skills for Claude — how to structure a reusable skill.
- AI Agent Skills: Why Skill Curation Is the Next Bottleneck — keeping a useful library of skills.
Useful resources
- Claude Skills (docs) — Claude’s formal Skills feature.
- ChatGPT Edu (Drexel AI Tools) — the approved tool, with data rules.