Choose the right skill

Define the outcome, inputs, and non-goals

Give the skill one coherent job with concrete inputs, an observable output, and boundaries that prevent scope creep.

10 minute lesson

~~~

A useful skill has a finish line. “Help with releases” is not one. It can mean versioning, packaging, publishing, deployment, announcements, rollback, or all of them at once.

Our skill has a narrower outcome: produce an evidence-backed release-readiness report for the current repository. Its inputs are the repository, the intended release version, and any local release policy. Its output is a report with checks, blockers, warnings, and a go-or-no-go recommendation.

The non-goals matter just as much. The skill does not change versions, commit files, push branches, publish packages, deploy code, or send announcements. Those actions have different permissions and failure costs. A later release skill could perform them, but only after a separate review.

Good scope creates a coherent unit of work. If the skill needs five unrelated modes and a page of routing logic, split it. If it contains one command that no other workflow would use, it may be too narrow. Aim for a job someone can name, request, and verify.

Write a small contract for your skill:

Outcome:
Inputs:
Output:
Non-goals:
Completion evidence:

Give it to another developer. Ask whether they could tell when the skill is finished and whether any dangerous action remains ambiguous.

Lesson completed

Take this course offline

Get every free book and course as PDF and EPUB files.

Get the download library →