Metaskills — скилл

Скиллы для стека Metarhia: стиль JavaScript, структуры данных, паттерны GoF, ошибки и выпуск npm одной командой.

  • 60 ★ репозитория
  • Последний коммит
Скилл

Расширенный доступ

Почему такой уровень

  • Установщик создает симлинки в папках редакторов и дописывает `.gitignore` и `.npmignore`.
Все причины и проверки

metarhia/metaskills

Установка

В терминале, через SkillFoxx CLI

npx skillfoxx add skills/metaskills

Определит агенты на машине, покажет уровень доступа и зафиксирует версию.

Другие способы установки

Доступ и проверки

Как мы проверяем

Расширенный доступИнструмент запускает код или ходит в сеть, а внешние данные только читает.

  • Установщик создает симлинки в папках редакторов и дописывает `.gitignore` и `.npmignore`.

Это чужой код. Посмотрите файлы в репозитории перед установкой.

Что делает

Metaskills — набор из семи скиллов по стеку Metarhia. `js-conventions` задает стиль и имена в JavaScript и TypeScript, `js-data-structures` и `data-structures` разбирают коллекции, `metautil-data-structures` описывает список, очередь, дек и префиксное дерево из metautil, `js-gof` показывает паттерны GoF на JavaScript, `error-handling` собирает правила обработки ошибок, `npm-publish` готовит пакет к выпуску. Команда `npx metaskills` находит установленные редакторы и делает в каждом симлинк на папку `skills` пакета. Скиллы остаются в пакете и подключаются симлинками. Созданные ссылки попадают в `.gitignore` и `.npmignore`.

Для кого. Командам, которые пишут на JavaScript по соглашениям Metarhia и хотят, чтобы агент в Cursor, Claude Code или Windsurf держался тех же правил.

Подходит, если

  • Агент пишет модуль на JavaScript и путает имена и стиль с принятыми в Metarhia.
  • В проекте появилась очередь или префиксное дерево из metautil, и агенту нужно показать их устройство.
  • Перед выпуском пакета в npm хочется пройти чек-лист вместе с агентом.
  • В команде работают сразу в нескольких редакторах, а правила должны лежать в одном месте.

Не подходит, если

  • Проект не использует Metarhia: стиль и паттерны заточены под этот стек.
  • Нужны правила для другого языка, в наборе только JavaScript и TypeScript.
  • Папка скиллов в редакторе уже ведется вручную: установщик такие цели пропускает.

Пример запроса к агенту

Напиши сервис очереди заданий по соглашениям Metarhia и сверь имена с js-conventions.

Ограничения

Правила описывают соглашения одного стека, поэтому вне Metarhia пользы от них мало. Установщик ссылается на `node_modules/metaskills/skills`: пакет должен стоять в проекте, а после обновления команду запускают снова. Целевую папку, которую вы ведете сами, он не трогает и сообщает о пропуске. Скрипт `npm run evals` в репозитории вызывает `claude` и списывает расход с вашего аккаунта, для обычной работы он не нужен. Набор небольшой и растет по мере развития стека, поэтому состав стоит сверять с папкой `skills`.

Как отключить. Удалите симлинки из `.cursor/skills`, `.claude/skills` и других целевых папок, выполните `npm uninstall metaskills` и уберите добавленные строки из `.gitignore`.

Частые вопросы

Как подключить Metaskills к Claude Code?

Выполните `npx metaskills claude` в корне проекта: скиллы появятся в `.claude/skills` как симлинк. Команда без аргумента сама определит установленные редакторы.

Какие редакторы поддерживаются?

Cursor, Claude Code, Windsurf, VS Code (папка `.github/skills`), Gemini и Antigravity. Команда `npx metaskills all` настраивает все сразу.

Что делать после обновления пакета?

Запустить `npx metaskills` еще раз. Недостающие ссылки добавятся, прежний симлинк на `metaskills` заменится ссылкой на каталог.

Копирует ли установщик файлы скиллов?

Нет, он создает симлинк на `node_modules/metaskills/skills`. Созданные папки установщик вносит в `.gitignore` и `.npmignore`.

Как проверить подключение в Cursor?

После `npx metaskills cursor` откройте `.cursor/skills`: там появятся скиллы вроде `js-conventions/SKILL.md`, которые агент читает оттуда.

Обсуждение

Вопросов и отзывов пока нет.

Скиллы

Больше 200 скиллов по стекам и практикам: React, Next.js, Rails, Rust, Python, отладка, TDD и ревью интерфейсов

СкиллМинимальный доступ225Звезды репозитория

skills-npm подключает скиллы агентов из зависимостей проекта в node_modules и из поля skills в package.json

CLIРасширенный доступ582Звезды репозитория

Скиллы-аудиторы: GitHub-репозитории и профили, CI для WordPress, EmDash и Astro, SEO сайтов, читаемость текста и метаданные.

СкиллРасширенный доступ111Звезды репозитория

Свыше 1100 готовых скиллов для Claude Code, Codex, Gemini CLI и Cursor и MCP-сервер, который подбирает скилл под задачу

СкиллРасширенный доступ200Звезды репозитория

Десятки скиллов инженера mizchi: аудит фронтенда, AWS, Cloudflare, SQL, Playwright и OpenTelemetry, ставятся по одному

СкиллРасширенный доступ422Звезды репозитория

Подборка из 17 скиллов о нишевых инструментах: SQL Server, PostgreSQL, HTMX, Hapi.js, Hurl и ast-grep.

СкиллМинимальный доступ63Звезды репозитория

Коротко о README

Пакет выходит в npm, скиллы лежат в `skills/<name>/SKILL.md`. Для разработки есть линтер, проверка формата скиллов и прогон оценок поведения через Claude Code.

Бейдж для README

Исходный SKILL.md

---
name: js-conventions
description: Metarhia JavaScript and TypeScript conventions, project lint setup, formatting, naming, object shape and hidden class rules, named intermediate variables, split-then-compose, contracts, module and export order, ternaries, lookup tables, dynamic dispatch, iteration, async/await, cognitive complexity, performance, and benchmarking. Apply automatically whenever writing, editing, refactoring, simplifying, optimizing, formatting, cleaning up, or reviewing .js, .mjs, .cjs, .ts, or .d.ts files, or when the user asks about code style or linting
---

# JavaScript conventions

Apply on every JavaScript or TypeScript change. Prefer readability unless the
task has a measured reason to do otherwise. See [examples.md](examples.md) to
compare code before and after applying most rules. Read
[performance.md](performance.md) for library or system code (runtimes, parsers,
protocols, I/O) or a measured hot path, and benchmark exceptions on the target
runtime.

## Preparations

- Add these dev dependencies to `package.json` when missing:
  `eslint-config-metarhia`, `eslint`, and `prettier`
- Add these scripts to `package.json` when missing or update to following readable format:

```json
"lint": "eslint . && prettier --check \"**/*.{js,jsx,mjs,cjs,ts,tsx,json,md,mdx,yaml,yml}\"",
"fix": "eslint . --fix && prettier --write \"**/*.{js,jsx,mjs,cjs,ts,tsx,json,md,mdx,yaml,yml}\""
```

The extension list groups JavaScript, TypeScript, data, docs, configs.

- Run `npm t` before and after changing code with ai. Finish only when lint, format,
  and test checks pass
- Run `npm run fix` before fixing remaining lint or format issues by hand
- Preserve the existing module system, source and declaration file types, and
  package layout unless the task asks to change them
- Resolve runtime packages from the registry (or the project's declared source of truth), not from sibling `file:` links in a gitignored lockfile that other machines will not have

## Formatting

For writing new code use single quotes, semicolons, trailing commas in multiline arrays, objects, and parameters, and one blank line between semantic blocks. Keep lines within 80 characters except URLs. Let Prettier and `eslint-config-metarhia` handle spacing, braces, and indentation.

## Naming

- Use `camelCase` for variables and parameters
- Use `UpperCamelCase` for classes and types
- Use `UPPER_SNAKE_CASE` for global constants
- Use `new` only with capitalized constructor names
- Prefer full words for all identifiers (`error`, not `err`). Use a short or

Сообщить о проблеме