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

dev:release — скилл для Claude Code: релиз и установка

Проводит проект через выпуск версии: от разбора коммитов и обновления журнала изменений до GitHub-релиза и публикации в npm. Пригодится, когда нужно подготовить релиз patch, minor или major.

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

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

Скилл читает текущую версию из package.json и коммиты после последнего Git-тега, затем предлагает вариант повышения версии. По сообщениям коммитов он готовит запись для CHANGELOG.md в формате Keep a Changelog и показывает её перед продолжением.

После подтверждения скилл обновляет версию в package.json и .claude-plugin/plugin.json, создаёт коммит и тег, отправляет их в main, а затем создаёт GitHub-релиз и публикует пакет через npm publish. В конце он проверяет версию пакета командой npm view harness-evolver version. Публикация в npm входит в сценарий, поэтому перед запуском проверьте, что готовы выпускать пакет.

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

  • поднять версию пакета по схеме patch, minor или major
  • составить пользовательскую запись в CHANGELOG.md по коммитам
  • обновить версии в файлах пакета и плагина
  • создать Git-тег и GitHub-релиз
  • опубликовать пакет в npm и проверить его версию

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

  • Подготовь релиз с повышением версии patch.
  • Выпусти новую версию проекта как minor и составь запись для CHANGELOG.md.
  • Подготовь релиз и спроси меня, какой тип повышения версии выбрать.

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

1Через Skills CLI (Vercel)

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

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

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

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

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

Вопросы о dev:release

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

Выполните npx skills add raphaelchristi/harness-evolver --skill dev-release -a claude-code. Файл скилла появится по пути ~/.claude/skills/dev-release/SKILL.md.

Что делает dev:release?

Скилл собирает сведения о коммитах, готовит запись для журнала изменений и обновляет версии пакета и плагина. Затем он создаёт тег и GitHub-релиз, публикует пакет в npm.

Какие варианты повышения версии поддерживает dev:release?

Можно выбрать patch, minor или major. Если вариант не передан, скилл спрашивает, какой использовать.

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

SKILL.md · MIT
---
name: dev:release
description: "Use when the user wants to release a new version, publish to npm, create a GitHub release, bump version, or tag a release. Also use when the user says 'release', 'publish', 'bump version', 'tag', or 'npm publish'."
argument-hint: "[patch|minor|major]"
allowed-tools: [Read, Write, Edit, Bash, Glob, Grep, AskUserQuestion]
---

# /dev:release

Interactive release workflow for harness-evolver. Handles everything: validation, changelog, version bump, git tag, GitHub release, npm publish.

## Step 1: Determine Version Bump

Parse the argument if provided (`patch`, `minor`, `major`). If not provided, ask:

```json
{
  "questions": [
    {
      "question": "Version bump type?",
      "header": "Bump",
      "multiSelect": false,
      "options": [
        {"label": "patch", "description": "Bug fixes, small changes (e.g., 4.0.2 → 4.0.3)"},
        {"label": "minor", "description": "New features, backwards compatible (e.g., 4.0.2 → 4.1.0)"},
        {"label": "major", "description": "Breaking changes (e.g., 4.0.2 → 5.0.0)"}
      ]
    }
  ]
}
```

## Step 2: Read Current State

```bash
# Current version
CURRENT=$(python3 -c "import json; print(json.load(open('package.json'))['version'])")
echo "Current version: $CURRENT"

# Commits since last tag
LAST_TAG=$(git describe --tags --abbrev=0 2>/dev/null || echo "")
if [ -n "$LAST_TAG" ]; then
    echo "Commits since $LAST_TAG:"
    git log --oneline "$LAST_TAG"..HEAD
else
    echo "No previous tags found"
    git log --oneline -10
fi
```

## Step 3: Compute New Version

Based on the bump type and current version, compute the new version. For example:
- `patch`: 4.0.2 → 4.0.3
- `minor`: 4.0.2 → 4.1.0
- `major`: 4.0.2 → 5.0.0

```bash
python3 -c "
v = '$CURRENT'.split('.')
bump = '$BUMP_TYPE'
if bump == 'major':
    v = [str(int(v[0])+1), '0', '0']
elif bump == 'minor':
    v = [v[0], str(int(v[1])+1), '0']
else:
    v = [v[0], v[1], str(int(v[2])+1)]
print('.'.join(v))
"
```

## Step 4: Generate Changelog Entry

Read the commits since the last tag. Categorize them:
- `feat:` → Added
- `fix:` → Fixed
- `refactor:` → Changed
- `docs:` → (skip unless significant)
- `chore:` → (skip unless version bump)

Write a new `## [NEW_VERSION] - YYYY-MM-DD` section at the top of `CHANGELOG.md` (after the header, before the previous version entry). Follow Keep a Changelog format. Use the commit messages as a starting point but **rewrite them to be user-facing** — explain what changed for the user, not what files were touched.

Show the generated changelog entry to the user before proceeding.

## Step 5: Bump Version

Update version in both files:

```bash
# package.json
python3 -c "
import json
with open('package.json') as f: p = json.load(f)
p['version'] = '$NEW_VERSION'
with open('package.json', 'w') as f: json.dump(p, f, indent=2); f.write('\n')
"

# .claude-plugin/plugin.json
python3 -c "
import json
with open('.claude-plugin/plugin.json') as f: p = json.load(f)
p['version'] = '$NEW_VERSION'
with open('.claude-plugin/plugin.json', 'w') as f: json.dump(p, f, indent=2); f.write('\n')
"
```

## Step 6: Commit, Tag, Push

```bash
git add CHANGELOG.md package.json .claude-plugin/plugin.json
git commit -m "chore: bump version to $NEW_VERSION

Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>"

git tag -a "v$NEW_VERSION" -m "v$NEW_VERSION"
git push origin main --tags
```

## Step 7: Create GitHub Release

Generate release notes from the changelog entry. Use `gh release create`:

```bash
gh release create "v$NEW_VERSION" \
    --title "v$NEW_VERSION — {short title from changelog}" \
    --notes "{release notes from changelog entry}

Full changelog: https://github.com/raphaelchristi/harness-evolver/blob/main/CHANGELOG.md"
```

## Step 8: Publish to npm

```bash
npm publish
```

Verify the published version:

```bash
npm view harness-evolver version
```

## Step 9: Report

```
Release v{NEW_VERSION} complete:
  - CHANGELOG.md updated
  - package.json + plugin.json bumped
  - Git tag v{NEW_VERSION} created and pushed
  - GitHub release: {release_url}
  - npm: harness-evolver@{NEW_VERSION} published
```

© raphaelchristi · MIT · raphaelchristi/harness-evolver

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

Каталог скиллов SKILL.md →
find-skills vercel-labs Ищет и устанавливает готовые скиллы для ИИ-агентов через каталог skills.sh. Пригодится, когда для рабочей задачи нужен специализированный воркфлоу. CX Codex +1 4 000 000установок frontend-design официальный anthropics Скилл задаёт осмысленное визуальное направление для новых интерфейсов и редизайна. Подойдёт, когда стандартный шаблонный UI не устраивает. 1 025 790установок grill-me Matt Pocock Скилл проводит жёсткое интервью по плану или дизайну, чтобы найти пробелы и уточнить решения. Подойдёт перед началом разработки. 1 424 476установок grill-with-docs Matt Pocock Скилл проводит жёсткое интервью по плану или дизайну и по ходу создаёт ADR и глоссарий. Подойдёт перед началом сложной разработки. 1 219 756установок improve-codebase-architecture Matt Pocock Скилл ищет архитектурные узкие места в кодовой базе и показывает варианты углубления модулей в HTML-отчёте. Подойдёт для ревью перед рефакторингом. 1 163 035установок design-taste-frontend Leonxlnx Скилл задаёт арт-дирекцию для публичных страниц и рабочих экранов, а затем проверяет результат в браузере по скриншотам. Нужен, когда интерфейс выглядит шаблонным или недоработанным. CX Codex +1 678 700установок

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

dev:validate Проверяет целостность плагина перед релизом: сверяет версии, фронтматтер скиллов и агентов, кросс-ссылки и синтаксис Python-скриптов. 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звёзд репо

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

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