---
docgen:
  source: npm/scripts/lib/skill-meta.mjs
  crc: 0c638d18
---

# skill-meta.mjs

## Огляд

Цей файл парсить метадані скілу з файлу `meta.json` та надає інформацію про його конфігурацію. Він служить єдиним джерелом правди про скіл, замінюючи старий `auto.md`, і використовується для визначення, чи потрібно запускати скіл в окремому worktree, чи з кореня репозиторію. Це забезпечує узгодженість даних про скіли та полегшує їх використання в інших частинах системи.

## Поведінка

SKILL_ALWAYS: визначає літерал для безумовної автоактивації.
parseSkillAutoSpec: перетворює значення `auto` з `meta.json` у об’єкт `SkillAutoSpec`.
skillRequiresRoot: визначає, чи вимагає скіл запуску з кореня репо.
readSkillMetaRaw: читає та парсить `meta.json` одного скіла, повертаючи розпарсений об’єкт або `null`.

## Публічний API

- SKILL_ALWAYS — Активує скіл завжди.
- parseSkillAutoSpec — Перетворює специфікацію авто-скілу з JSON.
- skillRequiresRoot — Перевіряє, чи потрібен скілу доступ до кореневої директорії.
- readSkillMetaRaw — Зчитує та аналізує метадані скілу з файлу JSON.

## Гарантії поведінки

- Повертає `false` якщо не вдається розібрати `meta.json`.
- Повертає `null` якщо не вдається визначити `auto.spec`.
- `auto.spec` завжди є масивом id правил, якщо `auto.spec` визначено.
- `worktree` має значення `true` лише для скілів, які потребують окремого git-worktree.
- `requireRoot` має значення `true` лише для скілів, які мутують в CWD без worktree-ізоляції.
- Якщо `worktree` має значення `true`, поле `requireRoot` не використовується.
- Не використовує кеш.
- Не кидає винятків.
- Гарантує, що `meta.json` є єдиним джерелом правди для скілу.
