Skills are how I program my agents

Vish Srinivasan

The highest-leverage code I write isn't code. It's a folder of markdown files that loads into coding agents before they touch my work:

npx skills add vishhvak/skills

A skill is a set of instructions an agent reads when a task matches its description — how to review a plan, how to structure a repo, how to shape output for the way I actually read. A prompt is a conversation. A skill is a program: versioned, installable, running in every session across every agent harness that supports the format.

Taste evaporates. Files don't.

Working with agents daily, the same failure kept repeating: I'd correct an approach — output shape, project structure, a design instinct — and the correction died with the session. Repeating yourself to a machine that bills by the token is a special kind of demoralizing.

So every correction that generalizes gets promoted: from "thing I said once" to "file the next hundred sessions load." The repo is a diary of everything I've had to say twice.

What makes a skill good

Mostly compression:

  • Trigger precisely. The description decides when the skill loads. Vague descriptions fire on everything or nothing — both useless.
  • Doctrine over tips. Fifty scattered suggestions get ignored. A dozen numbered principles with reasons get followed — state the why or a weaker model follows the letter straight into absurdity.
  • Exact values in reference files. Principles up front; hex codes and measurements in files the agent opens when it needs them. Progressive disclosure works on models the way it works on people.
  • Name the anti-patterns. Agents drift toward the median of their training data. Half of any good skill is a list of medians to refuse.

The strange part: the artifact reads like documentation but executes like software. When a page of prose reliably changes the behavior of a hundred future sessions, the distinction stops mattering.