Create Your First Codex Skill: Turn a Workflow into SKILL.md — Transcript
Full transcript
- 0:00Have you ever spent half a conversation
- 0:04getting an agent to do something the way
- 0:06you wanted?
- 0:07You tried a few tools, fixed the output,
- 0:10and finally you got a process that
- 0:13worked. Then a new conversation comes
- 0:15along and you're explaining the same
- 0:17decisions again.
- 0:19I've run into that making course
- 0:21presentations.
- 0:22So, the useful part of that conversation
- 0:25was everything I learned about the
- 0:27process and I want to keep that. Now,
- 0:29when you interact with an agent, you're
- 0:31often working through several steps of a
- 0:33larger workflow.
- 0:35For instance, I might be working on a
- 0:36presentation for a training course I'm
- 0:39developing.
- 0:40There are many steps involved from
- 0:42creating an outline to designing slides
- 0:45and preparing speaker notes.
- 0:48When I began asking the agent for help,
- 0:50I found that some interactions went much
- 0:53better than others.
- 0:54A lot depended on how the agent went
- 0:57about assisting me. Over many
- 1:00interactions, I began to learn which
- 1:02approaches worked best. Now, I want to
- 1:05capture those guidelines, tool choices,
- 1:08and actions so that the agent can reuse
- 1:11that process.
- 1:13That's what a skill lets me do.
- 1:15Package a reusable workflow as
- 1:17instructions with supporting files when
- 1:20they're needed. Here's an example.
- 1:23Often in my work, I have a video or an
- 1:26audio recording of me explaining a
- 1:28topic.
- 1:29From that, I want to create a slideshow.
- 1:31The slideshow is the ultimate goal, but
- 1:34to get there, there are several steps
- 1:37involved. One, transcribing the audio,
- 1:40summarizing the key points, designing
- 1:42the slides, and adding speaker notes.
- 1:44One thing I learned in my own workflow
- 1:46was that extracting audio from a video
- 1:49before transcription gave me better
- 1:51results.
- 1:53And I found a tool named FFmpeg that did
- 1:56that. I also learned that there are many
- 1:58ways to transcribe audio. In some
- 2:01conversations with the agent, it would
- 2:03try several different approaches, fail,
- 2:06and keep trying until it found something
- 2:08that worked. I found that using Whisper
- 2:11for transcription was the most reliable
- 2:14approach for my needs. Now I can write a
- 2:17script that extracts audio from video
- 2:20and then transcribes it with Whisper.
- 2:23That gives me a repeatable pipeline.
- 2:26I'll still need to review the
- 2:27transcription to correct errors or ask
- 2:30the agent to do it. Summarizing key
- 2:32points and designing slides require more
- 2:35judgment. That's what I need the model
- 2:37to do. And so when it comes to creating
- 2:40the presentation, I have found I need to
- 2:43provide a good bit of guidance on the
- 2:46content of the slides as well as what
- 2:48presentation application to use. Through
- 2:51these iterations, I learned about tools
- 2:54for creating different content and how
- 2:56to direct the agent to produce content
- 3:00and then verifying it. Capturing what
- 3:02you know is the most critical piece.
- 3:06Even if the model would ultimately come
- 3:08up with an acceptable solution, your
- 3:11knowledge can save time and money. So
- 3:15when I tell the agent, "I have a video
- 3:18where I talk about some topic in this
- 3:20file,
- 3:21file name.
- 3:23Please create a slideshow for me.
- 3:26I'm expecting it to follow the skill
- 3:28I've developed. When that skill is
- 3:31selected, the process is already there.
- 3:33Extract the audio if needed, transcribe
- 3:36it with Whisper, summarize the key
- 3:38points, design the slides, add speaker
- 3:41notes using the preferred presentation
- 3:44tool.
- 3:45The agent has my working tool choices
- 3:48and options instead of having to
- 3:51rediscover them. That can improve
- 3:53efficiency and consistency and reduce
- 3:56agent cost.
- 3:58We still need to check the results, of
- 3:59course,
- 4:01but the goal is to reduce time and the
- 4:03reduced cost. The AI client assembles
- 4:06the model's context from your prompt,
- 4:09the relevant conversation history,
- 4:12the applicable instructions such as
- 4:14agents.md,
- 4:16and information about the available
- 4:18tools and skills.
- 4:21For skills, the model initially sees the
- 4:24names and descriptions. In Codex, it
- 4:27also sees their file paths.
- 4:29When it decides to use a skill, it reads
- 4:31that skill's skill.md file.
- 4:35It can then read supporting references
- 4:37or run scripts as needed.
- 4:40That's what we call progressive
- 4:41disclosure. The detailed instructions
- 4:44and resources come into context only
- 4:46when they're useful.
- 4:48A task can use more than one skill.
- 4:52The model continues working with these
- 4:54instructions alongside the rest of the
- 4:57context.
- 4:58Selecting a skill isn't a guarantee that
- 5:01every step will run correctly. So, in
- 5:04Codex, start with an .agents folder at
- 5:08the user or project level depending on
- 5:10where you want the skill to be
- 5:11available.
- 5:13Other agent applications may use
- 5:14different locations.
- 5:16Next, create a subfolder named skills.
- 5:19Within the skills folder, create a
- 5:22separate folder for each skill and name
- 5:25the folder the same name as the skill.
- 5:28Use lowercase letters, numbers, and
- 5:30hyphens with no spaces. Choose a name
- 5:33that makes the task recognizable.
- 5:36The description is where we make clear
- 5:39when the agent should consider it. Now,
- 5:42inside the skill folder, create a file
- 5:44named skill.md.
- 5:47This file will contain the documentation
- 5:49and the instructions for the skill,
- 5:51including steps, tools, and guidelines
- 5:54the agent should follow when applying
- 5:56the skill. The first part of the file is
- 5:59YAML front matter. Between the lines of
- 6:02three hyphens, it contains the skill's
- 6:04name, matching the folder,
- 6:07and a description. That description
- 6:09tells the agent what the skill does and
- 6:12when to consider using it. For automatic
- 6:14selection, the skill's name and
- 6:16description help the model decide
- 6:18whether it's relevant. This is based on
- 6:20meaning, so a request about making
- 6:23slides from a video might match our
- 6:25skill.
- 6:26A match isn't guaranteed just because
- 6:28the prompt contains certain keywords.
- 6:31Once the skill is selected, the model
- 6:34reads its full instructions. Then, it
- 6:36uses any supporting resources it needs.
- 6:39You can also explicitly name the skill
- 6:42in your prompt.
- 6:43In Codex CLI or the IDE extension, you
- 6:46can use the skills selector or mention
- 6:50the skill with a dollar sign. Other
- 6:52clients use different selectors, so
- 6:54check your local listings. So, here's a
- 6:56a simple skill I created to change the
- 7:00agent's conversational tone based on the
- 7:03day of the week.
- 7:04The workflow uses tool calls to find the
- 7:07day and add a little randomness to the
- 7:10mood. The description needs to match the
- 7:12greetings I intend without matching
- 7:16unrelated requests. The body of the file
- 7:19provides the instructions I specifically
- 7:22want the agent to use, for instance, two
- 7:26PowerShell commands, get date and get
- 7:28random.
- 7:30The skill numbers Monday is one and
- 7:33Sunday is seven, and then add some
- 7:35random adjustment of minus one, zero, or
- 7:38plus one. That gives us a mood index
- 7:40from zero to eight. Zero is grumpy and
- 7:44eight is cheerful and optimistic. The
- 7:46numbers in between represent
- 7:48intermediate moods.
- 7:50So, when I tried this skill for the
- 7:52first time, the agent would respond and
- 7:56disclose the calculated index and say
- 7:59things like, "Since it's Monday, I'm
- 8:01supposed to be grumpy." So, I added an
- 8:04instruction to keep the index out of the
- 8:07greeting and instead use a persona that
- 8:10fits the mood. When you submit a
- 8:13personal greeting to the agent, it might
- 8:15choose the skill to determine the
- 8:17appropriate mood and respond accordingly
- 8:20using a persona that matches that mood.
- 8:23So, one Monday I I intentionally used a
- 8:26happy upbeat greeting. The agent's
- 8:29response acknowledged the good news, but
- 8:31the tone was clearly dry and grumpy.
- 8:35Then I tried a Friday. I did the
- 8:38opposite with my own mood and gave it a
- 8:40gloomy prompt. The agent responded in a
- 8:43glass-half-full way. The reply looked
- 8:46consistent with the skill, but the tone
- 8:49alone doesn't prove that the skill ran.
- 8:51I have to inspect the available tool
- 8:54logs and
- 8:55chat details to check whether it read
- 8:57the skill and ran the required commands.
- 9:00Now, my real goal wasn't the moody
- 9:03greeting itself. I just wanted to show
- 9:06whether the description led to skill
- 9:08selection and whether the agent executed
- 9:11the steps I'd defined.
- 9:13The reply was a quick way to observe the
- 9:16intended result. The execution record is
- 9:20what lets us check the actual process.
- 9:23We'll talk about testing skills in a
- 9:25future lesson. So, for now though,
- 9:28these examples give us a first check
- 9:31rather than prove that the skill works
- 9:33reliably. Now, you try. Create the
- 9:35directory structure and a skill.md file.
- 9:38Put some simple instructions and try
- 9:41different prompts to see what triggers
- 9:43the skill and what doesn't. Check which
- 9:46instructions the agent actually
- 9:48followed. Remember, this is
- 9:50non-deterministic. Agents are still
- 9:53using large language models. All you're
- 9:55doing with the skill is augmenting the
- 9:58context that goes to the large language
- 10:01model. You're still following a
- 10:03probabilistic
- 10:05outcome. Say that fast three times. Now,
- 10:07currently you might have a file full of
- 10:09prompts that you copy and paste into a
- 10:12conversation. You might even have
- 10:14recipes where you drop several into the
- 10:16dialogue sequentially. Well, that's a
- 10:18that's a workflow. I was just talking to
- 10:21a friend about this the other day, and
- 10:23that's what she does. She just drops the
- 10:25prompts in. I said, "Make a skill. Take
- 10:28your knowledge and experience and turn
- 10:31that into a skill. The next time you
- 10:34have that task, you can just ask the
- 10:36agent to use the process you've already
- 10:39worked out. That saves you from feeding
- 10:42it every step again, while you still
- 10:45review the results and handle any
- 10:47decisions that need your input. Now, in
- 10:49our next lesson, we'll talk about the
- 10:51best practices [music] in skill
- 10:53creation. Hey, I'm Chuck McCollum, and
- 10:55if you like this video, click like and
- 10:57share your skill creation experiences in
- 11:00the comments below. [music] I'd love to
- 11:02hear from you, and I'll see you next
- 11:05time.
About this transcript
This page contains the full transcript of Create Your First Codex Skill: Turn a Workflow into SKILL.md by Coding With Chuck, generated from the public captions YouTube serves with the video. The transcript has 1,608 words across 267 segments, with the original timestamps preserved so you can click any line to jump to that moment in the embedded player.
What you can do with it
Use the transcript to take notes, quote the speaker, build a study guide, generate a summary with ChatGPT or Claude via the YouTube Summary tool, or export it as a timed subtitle file with YouTube to SRT. You can also re-open it in the transcriber to choose a caption track available on the video.
Free YouTube transcript tool
YouTube2Text is a free YouTube transcript generator — no signup, no daily limit. Paste any YouTube link and get the full transcript instantly, with timestamps, click-to-jump, caption language selection, AI prompts for ChatGPT, Claude, and Gemini, and exports to TXT, SRT, VTT, or Markdown.