Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

iTechGuides is reader-supported. When you buy through links on our site, we may earn an affiliate commission. As an Amazon Associate I earn from qualifying purchases. Learn more

A lightweight skills system can teach an AI assistant repeatable workflows without putting executable code in each skill. In Krish Verma’s open-source desktop assistant, Ankita, each skill is a folder containing a SKILL.md file: a short description advertises the skill in the system prompt, and the assistant loads its full instructions only when needed. The markdown is not code; software still discovers, validates, caches, and loads it.

What counts as a skill in this design?

Verma built the system for recurring procedures he had been keeping as copied paragraphs in notes, including reviewing commits, drafting release notes, structured web research, and reproducing bugs. He moved those procedures into folders beneath a root skills/ directory. Each folder contains a SKILL.md file with metadata and instructions.

The folder name must match the name in the file’s frontmatter. The frontmatter can also include a description and suggested tools; the body contains the steps the assistant should follow. This makes a skill a named, discoverable procedure rather than a separate executable feature.

Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

How does the assistant load skills without putting every instruction in the prompt?

Ankita uses progressive disclosure. Its system prompt contains a short entry for each available skill: its name, description, suggested tools, and the syntax for calling it. When the assistant needs one, a skill tool loads the full body, with an output cap of 8,000 characters according to Verma’s description.

This separates discovery from instruction. The prompt can tell the assistant what a skill is for without carrying every workflow’s full text in every conversation. Verma describes the short description as the advertisement and the body as the product.

Where do skills stop and tools begin?

A skill explains a procedure; it does not itself perform an action. If a workflow needs an action tool, the assistant discovers that tool through its normal deferred tool-discovery process, with the usual approval and validation rules. In Verma’s design, skill markdown is data read by the agent, not a code-execution surface.

The useful boundary is: tools do, skills teach, and the system prompt frames. The prompt establishes the assistant’s overall context, the skill gives it a repeatable method, and a tool carries out an operation when one is required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

What does the system validate before a skill is available?

Verma reports that the parser checks both consistency and size before admitting a skill:

  • The skill folder name must match the frontmatter name.
  • The name must match ^[a-z0-9-]{1,64}$.
  • The description must be 10–300 characters.
  • The body must be non-empty and under 12,000 characters on disk.
  • Suggested tools, if present, may be up to 200 characters.

A skill that fails validation is skipped and an error is logged; according to Verma, it does not interrupt startup or enter the prompt. This is a deliberate failure mode: one malformed skill should not take down the assistant or become an instruction it can use.

How can users disable skills, and what else can a skill folder contain?

Users can toggle skills in the Plugins > Skills screen. Disabled skills are filtered out of the prompt, and a call to a disabled skill returns a plain error string. A folder may also contain an optional plugin.json for palette actions; Verma says those actions are checked against a palette schema.

What did Verma build, and what do the numbers mean?

Verma reports five built-in skills: commit-review, release-notes, web-research, bug-repro, and ankita-dev. He describes the parser, cache, and tool wrapper as about 150 lines. These are his descriptions of Ankita’s implementation, not independently audited measurements or a benchmark; the account does not quantify a performance gain.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

The phrase “zero code” applies to the skill content, not to the system around it. Skills are markdown instructions, but software is still needed to find them, validate their metadata and body, cache them, and load them on demand.

Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

What should you plan for when adapting the pattern?

Keep the pieces separate: the folder and metadata identify a skill, its description makes it discoverable, its body teaches a procedure, and tools perform actions. That boundary helps keep the prompt concise and prevents a workflow document from being mistaken for an executable capability.

Cache behavior deserves attention. Verma says Ankita uses file-stamp cache keys and a reloadSkills() escape hatch, but he found cache invalidation more complicated than the feature warranted. If you adapt the pattern, decide how edits and reloads should work and make that behavior explicit. He also says he wishes he had written down the skills/tools/prompt boundary earlier—a useful design rule to settle before the system grows.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.