SKILL.md is a contract, not a notebook

SKILL.md should explain the purpose, trigger, input, process, result, and prohibitions of a skill. Read it as a workflow description that another person can review, version, and maintain.

Frontmatter fields and invocation syntax can change between versions, so verify the current form through /help and the current documentation.

Minimal anatomy
---
name: issue-analysis
description: Prepare TASK_SPEC.md from an issue and evidence.
when_to_use: When analysis must precede implementation.
---

# Purpose

## Input

## Steps

## Result

## Prohibitions

## Verification

What belongs in a skill

PartQuestion
Name and descriptionWhat concrete value does it provide?
TriggerWhen should it run?
InputWhich issues, files, or arguments are required?
ProcessWhich steps run, and in what order?
ResultWhich artifact or report is produced?
ProhibitionsWhat must it never do?
ToolsWhat is the minimum required capability?

Issue-analysis example

  • Input: issue text, file references, and logs when needed;
  • Process: find related modules, define goal, scope, non-goals, and risks;
  • Result: TASK_SPEC.md with evidence and open questions;
  • Prohibition: do not edit code or begin implementation;
  • Verification: goal, scope, non-goals, acceptance, and verification are present.

Permissions must match purpose

An analytical skill usually needs reading and search. Do not grant it project-wide editing access without a concrete reason. Run a new or unverified skill manually first, then add automation only after its behavior is stable.

Review someone else’s SKILL.md

  1. Identify its trigger.
  2. Check its input.
  3. Find the expected artifact.
  4. Read prohibitions and available tools.
  5. Confirm that permissions match the role.
  6. Compare the workflow with repository patterns.

Canonical lesson source · JavaRush

Open JavaRush material