Moving a format to a
foundation, naming it in a
metric, and opening a chat
about a vulnerability are
three different events. None
of them reviews the procedure
the agent will run.
A skill-folder is code plus
prose. SKILL.md is the
procedure the model is told to
follow. Scripts beside it are
ordinary programs. Loading by
display name is the same
mistake as installing a
package because the title
sounded right. The AAIF
donation governs the
specification: the name, the
logo, the org, the domain.
It does not govern the million
published folders. Security
guidance is on the proposed
roadmap. Until a release you
can pin exists, and you have
pinned it, the folder you have
is the one you must read.
A metric names an invocation,
and only some of them. A name
that looks like a path is
hidden on purpose. Built-in
IDE chat never shows up in
that API. Undercounting means
absence is not proof the skill
was unused, and presence is
not proof it was correct. If
you roll out an internal
skill, the named row tells you
whether people started calling
it. It does not tell you
whether the script was the one
you meant, or whether the
model followed the markdown
or the shell script when the
two disagreed.
A fixer that opens a session
is a handoff. The NuGet button
asks an agent to repair
vulnerable packages through an
MCP server. That is a
reasonable way to start. It is
not a landed fix. The same
bar applies to a Git-agent
summary of a pull request:
links into the diff are useful,
and they are not the review.
The stop is a diff a person
can read, plus a check that
fails if the vulnerable
package is still there. If
the harness itself moved, as
BYOM did when it left Ask mode
for Agent (Preview), re-add
the model and run one task
whose answer you already know.
A green chat bubble on a new
harness is not continuity.
-
Pin each skill-folder to a
commit or a tagged release.
Do not load by display name
alone.
-
Read SKILL.md and every
script in the folder before
the agent does. A skill can
include code.
-
Do not treat the AAIF
donation as a security
review. Security guidance is
proposed. It is not on the
install path today.
-
Treat named Copilot totals
as adoption trends. Path-like
names collapse to other.
Built-in IDE chat does not
report names. Telemetry
undercounts.
-
When a fixer opens chat,
require a diff and a failing
check for the old package
before merge. The MCP call
that opened the chat is not
the patch.
-
After a harness move,
re-add custom models and run
one known task before
trusting the new loop.
-
Stop when the pin, the
script read, and the diff
exist. Do not inventory
every published skill to
feel thorough.
Own the folder you load. A
name in a foundation, a name
in a report, and a button that
opens chat are three ways to
feel finished without having
read the procedure.
The notes this sits on are
Anthropic's
Agent Skills donation, GitHub's
named usage metrics, and the
Visual Studio Copilot update.