К основному содержанию
скилл CX Codex

dev:validate — скилл для Claude Code: что делает и как установить

Проверяет целостность плагина перед релизом: сверяет версии, фронтматтер скиллов и агентов, кросс-ссылки и синтаксис Python-скриптов.

Установить в Claude Code · Через Skills CLI (Vercel) Все способы и платформы ↓
npx skills add raphaelchristi/harness-evolver --skill dev-validate -a claude-code
Открыть на GitHub

Что делает dev:validate

Скилл проводит сквозную проверку каталога плагина с помощью серии bash-команд. Сначала он сверяет номера версий между package.json и .claude-plugin/plugin.json. Затем проверяет наличие обязательных полей фронтматтера во всех файлах skills/*/SKILL.md и agents/*.md. Для скиллов обязательны name, description и allowed-tools, а для агентов — name, description, tools и color.

Кроме разметки, скилл валидирует кросс-ссылки: каждый агент, указанный через subagent_type в скиллах, обязан существовать в каталоге agents/. Код инструментов в tools/*.py парсится через модуль ast в Python, а в каталоге хуков проверяются права на исполнение hooks/session-start.sh и валидность структуры hooks/hooks.json.

Без установленного в системе python3 проверки синтаксиса и чтение JSON упадут с ошибкой. В конце работы формируется сводка со статусом PASS или FAIL по каждой секции.

Какие задачи решает

  • Найти расхождения версий в package.json и plugin.json
  • Проверить наличие обязательных полей фронтматтера скиллов и агентов
  • Выявить битые ссылки на subagent_type в файлах скиллов
  • Найти синтаксические ошибки в скриптах tools/*.py
  • Проверить права на запуск hooks/session-start.sh и формат hooks.json

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

  • Проверь целостность плагина перед релизом
  • /dev:validate
  • Запусти проверку фронтматтера скиллов и синтаксиса инструментов

Как установить dev:validate

1Через Skills CLI (Vercel)

npx skills add raphaelchristi/harness-evolver --skill dev-validate -a claude-code

2Вручную: положить файлы

~/.claude/skills/dev-validate/SKILL.md

Папка скилла целиком; для одного проекта — .claude/skills/dev-validate/

По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов

Вопросы о dev:validate

Как установить dev:validate в Claude Code?

Выполните команду npx skills add raphaelchristi/harness-evolver --skill dev-validate -a claude-code. Также можно вручную сохранить файл по пути ~/.claude/skills/dev-validate/SKILL.md.

Что именно проверяет dev:validate?

Скилл проверяет совпадение версий в манифестах, валидирует заголовки frontmatter, ищет отсутствующие субагенты по кросс-ссылкам, парсит синтаксис файлов в tools/ и проверяет скрипты хуков.

Какие системные утилиты нужны для работы скилла?

Скиллу требуются инструменты Bash, Read, Glob и Grep, а также установленный python3 для разбора JSON-файлов и AST-анализа скриптов.

Исходный текст

SKILL.md · MIT
---
name: dev:validate
description: "Use when the user wants to validate the plugin, check integrity, verify cross-references, or before a release. Also use when the user says 'validate', 'check plugin', or 'verify'."
allowed-tools: [Read, Bash, Glob, Grep]
---

# /dev:validate

Check plugin integrity: skill/agent frontmatter, cross-references, Python tool syntax, version sync, hook script executability.

## Checks

### 1. Version Sync

```bash
PKG_V=$(python3 -c "import json; print(json.load(open('package.json'))['version'])")
PLUGIN_V=$(python3 -c "import json; print(json.load(open('.claude-plugin/plugin.json'))['version'])")
if [ "$PKG_V" = "$PLUGIN_V" ]; then
    echo "OK: versions match ($PKG_V)"
else
    echo "FAIL: package.json=$PKG_V, plugin.json=$PLUGIN_V"
fi
```

### 2. Skill Frontmatter

For each `skills/*/SKILL.md`:
- Must have `name:` in frontmatter
- Must have `description:` in frontmatter
- Must have `allowed-tools:` in frontmatter

```bash
for f in skills/*/SKILL.md; do
    NAME=$(grep -m1 "^name:" "$f" | cut -d: -f2- | xargs)
    DESC=$(grep -m1 "^description:" "$f")
    TOOLS=$(grep -m1 "^allowed-tools:" "$f")
    if [ -z "$NAME" ] || [ -z "$DESC" ] || [ -z "$TOOLS" ]; then
        echo "FAIL: $f missing frontmatter fields"
    else
        echo "OK: $f ($NAME)"
    fi
done
```

### 3. Agent Frontmatter

For each `agents/*.md`:
- Must have `name:` in frontmatter
- Must have `description:` in frontmatter
- Must have `tools:` in frontmatter
- Must have `color:` in frontmatter

```bash
for f in agents/*.md; do
    NAME=$(grep -m1 "^name:" "$f" | cut -d: -f2- | xargs)
    COLOR=$(grep -m1 "^color:" "$f" | cut -d: -f2- | xargs)
    if [ -z "$NAME" ] || [ -z "$COLOR" ]; then
        echo "FAIL: $f missing name or color"
    else
        echo "OK: $f ($NAME, $COLOR)"
    fi
done
```

### 4. Agent Cross-References

Check that every `subagent_type:` referenced in skills exists as an agent file:

```bash
for AGENT in $(grep -roh 'subagent_type: "[^"]*"' skills/ | sed 's/subagent_type: "//;s/"//' | sort -u); do
    if [ ! -f "agents/$AGENT.md" ]; then
        echo "FAIL: subagent_type '$AGENT' referenced in skills but agents/$AGENT.md not found"
    else
        echo "OK: $AGENT agent exists"
    fi
done
```

### 5. Python Tool Syntax

```bash
ERRORS=0
for f in tools/*.py; do
    python3 -c "import ast; ast.parse(open('$f').read())" 2>&1
    if [ $? -ne 0 ]; then
        echo "FAIL: $f has syntax errors"
        ERRORS=$((ERRORS+1))
    else
        echo "OK: $f"
    fi
done
echo "Python tools: $ERRORS errors"
```

### 6. Hook Script

```bash
if [ -f "hooks/session-start.sh" ]; then
    if [ -x "hooks/session-start.sh" ]; then
        echo "OK: hooks/session-start.sh is executable"
    else
        echo "FAIL: hooks/session-start.sh not executable"
    fi
    if [ -f "hooks/hooks.json" ]; then
        python3 -c "import json; json.load(open('hooks/hooks.json'))" 2>&1
        if [ $? -eq 0 ]; then echo "OK: hooks.json valid JSON"; else echo "FAIL: hooks.json invalid"; fi
    fi
else
    echo "WARN: no hooks/session-start.sh"
fi
```

### 7. CLAUDE.md Accuracy

Check that tool count and agent count in CLAUDE.md match reality:

```bash
TOOL_COUNT=$(ls tools/*.py 2>/dev/null | wc -l)
AGENT_COUNT=$(ls agents/*.md 2>/dev/null | wc -l)
echo "Tools: $TOOL_COUNT Python files"
echo "Agents: $AGENT_COUNT agent definitions"
```

## Report

Print a summary:
```
Plugin Validation:
  Versions: {OK/FAIL}
  Skills: {N} checked, {N} passed
  Agents: {N} checked, {N} passed
  Cross-refs: {N} checked, {N} passed
  Python tools: {N} checked, {N} syntax errors
  Hooks: {OK/FAIL}

Result: {PASS/FAIL}
```

© raphaelchristi · MIT · raphaelchristi/harness-evolver

Похожие скиллы

Все скиллы по теме «Настройка агента: память, контекст, субагенты» →
setup-matt-pocock-skills Matt Pocock Скилл настраивает репозиторий для инженерных скиллов Matt Pocock: задаёт трекер задач, метки триажа и расположение доменной документации. Запустите его перед первым использованием остальных скиллов. 1 052 851установок ask-matt Matt Pocock Помогает выбрать подходящий скилл или рабочий поток из набора Matt Pocock. Пригодится, когда непонятно, с чего начать задачу: от идеи до разбора бага. 766 587установок to-tickets Matt Pocock Разбивает план, спецификацию или переписку на небольшие сквозные задачи и отмечает, какие из них блокируют остальные. Пригодится, когда нужно согласовать порядок работы до публикации задач в трекере. 711 230установок writing-plans Jesse Vincent Скилл превращает требования к многошаговой задаче в подробный план реализации до начала работы с кодом. Пригодится, когда исполнителю нужно зафиксировать файлы, интерфейсы и проверки. CX Codex 282 859установок caveman-review JuliusBrussee Пишет замечания к коду одной строкой: место, проблема, исправление. Пригодится, когда ревью диффа или PR надо пройти быстро и без воды. CX Codex +1 411 800установок caveman-compress JuliusBrussee Сжимает CLAUDE.md, списки задач и другие текстовые файлы в краткий формат, сохраняя читаемую резервную копию. CX Codex +1 411 500установок

Из того же набора8

dev:release Проводит проект через выпуск версии: от разбора коммитов и обновления журнала изменений до GitHub-релиза и публикации в npm. Пригодится, когда нужно подготовить релиз patch, minor или major. CX Codex +1 ★ 57звёзд репо dev:dry-run Прогоняет пайплайн evolve вхолостую: проверяет синтаксис инструментов и связи между скиллами, а с ключом LangSmith запускает полный цикл на мок-агенте. CX Codex +1 ★ 57звёзд репо harness:setup Скилл исследует проект и настраивает Harness Evolver для оценки и оптимизации ИИ-агента. Пригодится, когда вы впервые подключаете evolver или хотите задать цели оптимизации. CX Codex +1 ★ 57звёзд репо harness:health Проверяет качество eval-датасета: размер, распределение по сложности, мёртвые примеры, покрытие категорий и сплиты. Найденные проблемы исправляет сам. CX Codex +1 ★ 57звёзд репо harness:deploy Скилл завершает эволюцию агента: показывает результаты, предлагает проверить diff, удалить временные файлы или отправить тег в Git. CX Codex +1 ★ 57звёзд репо harness:certify Прогоняет оценку эволюционировавшего агента три раза и считает среднее со стандартным отклонением. Нужен, когда непонятно, держится ли результат от запуска к запуску. CX Codex +1 ★ 57звёзд репо harness-evolver Плагин меняет код ИИ-агента и оценивает варианты через LangSmith. Он пригодится, когда нужно проверять изменения промптов, маршрутизации или инструментов на данных проекта. ★ 57звёзд репо

Спонсоры проекта

Компании, которые помогают держать аналитику открытой