WEBVTT

00:00:00.080 --> 00:00:03.920
Now,
there is yet another feature supported by

00:00:03.960 --> 00:00:07.830
be skills, agent skills. You add them

00:00:07.920 --> 00:00:10.520
by adding a skills subfolder in this
GitHub

00:00:10.760 --> 00:00:14.260
folder, and then per skill, you add a

00:00:14.320 --> 00:00:17.640
subfolder in there, like for example,
performance

00:00:17.820 --> 00:00:21.700
review. The name is up to you. In
that subfolder, you add

00:00:21.780 --> 00:00:24.200
a skill.md file, like

00:00:24.280 --> 00:00:28.160
this. And this skill.md file

00:00:28.220 --> 00:00:31.720
is now again, in the end, a prompt file.

00:00:31.780 --> 00:00:35.620
A file that will also smartly be loaded by
the GitHub

00:00:35.660 --> 00:00:39.440
Copilot agents to get extra instructions

00:00:39.460 --> 00:00:43.180
or extra behaviors. But there
is a difference compared to

00:00:43.220 --> 00:00:47.180
Copilot instructions. Now first,
every skill should

00:00:47.200 --> 00:00:50.140
have a name, like performance

00:00:50.920 --> 00:00:54.420
review, and a description.
And the description is important

00:00:54.560 --> 00:00:58.180
because the idea behind skills is
that by default,

00:00:58.300 --> 00:01:00.640
unlike the Copilot instructions or

00:01:00.760 --> 00:01:04.540
agents.md, the full file with all

00:01:04.660 --> 00:01:07.880
its instructions will not be loaded into
prompts.

00:01:07.920 --> 00:01:10.580
It will not be loaded into the context
window.

00:01:10.600 --> 00:01:14.380
Instead, only the name
and description will be loaded, and then

00:01:14.420 --> 00:01:17.920
the AI can decide whether it wants to get
more

00:01:17.980 --> 00:01:21.860
information about the skill or not,
and it will decide that based on the

00:01:21.920 --> 00:01:25.780
task you gave it. For example here,
my description could be

00:01:25.820 --> 00:01:29.680
thoroughly evaluates the performance of
Python code, and with that,

00:01:29.800 --> 00:01:33.160
I hopefully get the AI to load this skill

00:01:33.660 --> 00:01:37.340
whenever I give it some prompt related to
checking the

00:01:37.380 --> 00:01:41.100
performance of Python code.
And then in here, you could put your

00:01:41.110 --> 00:01:44.820
detailed instructions on how to evaluate
the performance of

00:01:44.860 --> 00:01:48.240
Python code. So, we'll, here, for example,
I added some

00:01:48.260 --> 00:01:51.160
instructions with help of AI,
to be honest.

00:01:51.180 --> 00:01:55.170
And these are simply some instructions I
want the AI to follow when it

00:01:55.200 --> 00:01:59.150
checks code for performance issues
or performance best practices.

00:01:59.160 --> 00:02:03.090
But I don't always want to load this into
every chat session I

00:02:03.140 --> 00:02:06.960
have. That would all be tokens that
are occupied in the context window

00:02:06.970 --> 00:02:10.350
and which I'm paying for,
and that's the idea behind skills.

00:02:10.440 --> 00:02:14.260
This will all only be loaded
if the AI determines that it needs that

00:02:14.300 --> 00:02:18.020
skill,
and it does determine it based on this

00:02:18.460 --> 00:02:22.140
So here, I'll refine my description, say,
check

00:02:22.220 --> 00:02:26.200
for common mistakes and

00:02:26.260 --> 00:02:30.080
ensure the code follows

00:02:31.700 --> 00:02:35.500
well-known best practices. And I'll

00:02:35.560 --> 00:02:39.500
also say thoroughly evaluate
and fix the performance of Python

00:02:39.520 --> 00:02:42.900
code. And with that, if I would say

00:02:42.960 --> 00:02:43.680
improve

00:02:45.760 --> 00:02:49.700
main.py performance, in theory, it should

00:02:49.800 --> 00:02:53.580
load this skill. I'm not sure
if it did here, to be very

00:02:53.660 --> 00:02:57.620
honest. Doesn't list it here,
but that's how skills work

00:02:57.640 --> 00:03:01.540
behind the scenes to understand how to
check for

00:03:01.640 --> 00:03:03.760
performance issues
and improve code in this case.

00:03:03.780 --> 00:03:07.620
And you can, of course,
set up skills for all kinds of skills

00:03:07.760 --> 00:03:11.720
you want your agent to have.
That can be best practices you

00:03:11.730 --> 00:03:15.590
want it to follow,
certain code patterns you want it to use,

00:03:15.660 --> 00:03:19.500
internal rules you might have in your
company.
