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

docs-updater — скилл для Claude Code: обновление документации по git

Скилл сравнивает текущую ветку с последним релизным тегом и правит README, CHANGELOG и папки с документацией. Пригодится перед релизом или пул-реквестом.

Установить в Claude Code · Через Skills CLI (Vercel) Все способы и платформы ↓
npx skills add giuseppe-trisciuoglio/developer-kit --skill docs-updater -a claude-code
Открыть на GitHub

Что делает docs-updater

Скилл берёт последний тег через git describe --tags --abbrev=0, считает коммиты в диапазоне тег..HEAD и смотрит git diff --name-status. По путям изменённых файлов он понимает, какие части проекта затронуты, а сообщения коммитов раскладывает по разделам Keep a Changelog: Added, Changed, Fixed, Removed, Security.

Дальше он ищет, что обновлять: README.md, CHANGELOG.md, CONTRIBUTING.md, папки docs/, documentation/, doc/ и каталоги docs внутри плагинов. Правки вносит через Read, Edit и Bash, сохраняя структуру и тон существующих файлов. Перед записью показывает список файлов и спрашивает подтверждение.

Нужен хотя бы один релизный тег в репозитории. Если тегов нет, скилл останавливается и просит создать его — это первое, что стоит проверить перед запуском. Работает в Claude, Codex, Cursor, GitHub Copilot, Gemini CLI и OpenCode.

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

  • собрать записи CHANGELOG из коммитов между тегами
  • синхронизировать README после влитой фичи
  • найти папки с документацией, которые затрагивают изменения
  • показать список правок до их применения
  • подготовить описание изменений к пул-реквесту

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

  • обнови документацию по изменениям с последнего релиза
  • синхронизируй README и CHANGELOG перед пул-реквестом
  • подготовь записи в CHANGELOG для новой версии

Как установить docs-updater

1Через Skills CLI (Vercel)

npx skills add giuseppe-trisciuoglio/developer-kit --skill docs-updater -a claude-code

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

~/.claude/skills/docs-updater/SKILL.md

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

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

Вопросы о docs-updater

Как установить docs-updater в Claude?

Выполните npx skills add giuseppe-trisciuoglio/developer-kit --skill docs-updater -a claude-code. Файл скилла появится по пути ~/.claude/skills/docs-updater/SKILL.md.

Что делает docs-updater?

Анализирует git-изменения между текущей веткой и последним релизным тегом, затем обновляет README.md, CHANGELOG.md по стандарту Keep a Changelog и файлы в папках документации.

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

Репозиторий git с хотя бы одним релизным тегом. Без тегов сравнивать не с чем, и скилл попросит создать тег.

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

SKILL.md · MIT
---
name: docs-updater
description: Provides automated documentation updates by analyzing git changes between the current branch and the last release tag. Performs git diff analysis to identify modifications, then updates README.md, CHANGELOG.md following Keep a Changelog standard, and discovers documentation folders for contextual updates. Use when preparing a release, maintaining documentation sync, or before creating a pull request. Triggers on "update docs", "update changelog", "sync documentation", "update readme", "prepare release documentation".
allowed-tools: Read, Edit, Bash
---

# Universal Documentation Updater

Analyzes git changes since the latest release tag and updates the documentation files that should change with them.

## Overview

Use git history to identify release-relevant changes, then update `README.md`, `CHANGELOG.md`, and any relevant documentation folders. Keep the workflow focused on explicit user approval, precise edits, and repository-specific documentation structure.

## When to Use

Use this skill when:

- Preparing release notes or an `Unreleased` changelog update
- Syncing `README.md` or documentation after feature work lands
- Reviewing what changed since the last release before a PR or release

## Prerequisites

Before starting, verify that the following conditions are met:

```bash
# Verify we're in a git repository
git rev-parse --git-dir

# Check that git tags exist
git tag --list | head -5

# Verify documentation files exist
test -f README.md || echo "README.md not found"
test -f CHANGELOG.md || echo "CHANGELOG.md not found"
```

If no tags exist, inform the user that this skill requires at least one release tag to compare against.

## Instructions

### Phase 1: Detect Last Release Version

**Goal**: Identify the latest released version to compare against.

**Actions:**

1. Detect the comparison baseline and display it:

```bash
LATEST_TAG=$(git describe --tags --abbrev=0 2>/dev/null)

if [ -z "$LATEST_TAG" ]; then
    echo "No git tags found. This skill requires at least one release tag."
    echo "Please create a release tag first (e.g., git tag -a v1.0.0 -m 'Initial release')"
    exit 1
fi

CURRENT_BRANCH=$(git branch --show-current)
VERSION=$(echo "$LATEST_TAG" | sed -E 's/^[^0-9]*([0-9]+\.[0-9]+\.[0-9]+).*/\1/')

echo "Latest release tag: $LATEST_TAG"
echo "Version detected: $VERSION"
echo "Comparing: $LATEST_TAG -> $CURRENT_BRANCH"
```

### Phase 2: Perform Git Diff Analysis

**Goal**: Analyze all changes between the last release and current branch.

**Actions:**

1. Get the commit range and statistics:

```bash
# Get commit count between tag and HEAD
COMMIT_COUNT=$(git rev-list --count ${LATEST_TAG}..HEAD 2>/dev/null || echo "0")
echo "Commits since $LATEST_TAG: $COMMIT_COUNT"

# Get file change statistics
git diff --stat ${LATEST_TAG}..HEAD
```

2. Extract commit messages for analysis:

```bash
# Get all commit messages in the range
COMMITS=$(git log ${LATEST_TAG}..HEAD --pretty=format:"%h|%s|%b" --reverse)

# Display commits for review
echo "$COMMITS"
```

3. Get detailed file changes:

```bash
# Get list of changed files
CHANGED_FILES=$(git diff --name-only ${LATEST_TAG}..HEAD)

# Show add/modify/delete status for quick categorization
git diff --name-status ${LATEST_TAG}..HEAD
```

4. Identify component areas based on file paths:

```bash
# Detect which components/areas changed
echo "$CHANGED_FILES" | grep -E "^plugins/" | cut -d'/' -f2 | sort -u
```

### Phase 3: Discover Documentation Structure

**Goal**: Identify all relevant documentation locations in the project.

**Actions:**

1. Find standard documentation folders:

```bash
# Check for common documentation locations
DOC_FOLDERS=()

[ -d "docs" ] && DOC_FOLDERS+=("docs/")
[ -d "documentation" ] && DOC_FOLDERS+=("documentation/")
[ -d "doc" ] && DOC_FOLDERS+=("doc/")

# Find plugin-specific docs
for plugin_dir in plugins/*/; do
    if [ -d "${plugin_dir}docs" ]; then
        DOC_FOLDERS+=("${plugin_dir}docs/")
    fi
done

echo "Documentation folders found:"
printf '  - %s\n' "${DOC_FOLDERS[@]}"
```

2. Identify existing documentation files:

```bash
# Check for standard doc files
DOC_FILES=()

[ -f "README.md" ] && DOC_FILES+=("README.md")
[ -f "CHANGELOG.md" ] && DOC_FILES+=("CHANGELOG.md")
[ -f "CONTRIBUTING.md" ] && DOC_FILES+=("CONTRIBUTING.md")
[ -f "docs/GUIDE.md" ] && DOC_FILES+=("docs/GUIDE.md")

echo "Documentation files found:"
printf '  - %s\n' "${DOC_FILES[@]}"
```

### Phase 4: Generate CHANGELOG Updates

**Goal**: Create categorized changelog entries following Keep a Changelog standard.

**Actions:**

1. Parse commits using conventional commit semantics and map them into Keep a Changelog sections such as `Added`, `Changed`, `Fixed`, `Removed`, and `Security`.

2. Read the existing CHANGELOG.md to understand structure, then generate new entries following Keep a Changelog format.

See `references/examples.md` for detailed bash commands and changelog templates.

### Phase 5: Update README.md

**Goal**: Update the main README with relevant high-level changes.

**Actions:**

1. Read the current README.md to understand its structure
2. Identify sections needing updates (features list, skills/agents, setup instructions, version references)
3. Apply updates using Edit tool: preserve structure, maintain tone, update version numbers

### Phase 6: Update Documentation Folders

**Goal**: Propagate changes to relevant documentation in docs/ folders.

**Actions:**

1. For each documentation folder found, check for files referencing changed code
2. Map changed files to their documentation
3. Generate updates: add new feature docs, update API references, fix outdated examples

See `references/examples.md` for detailed discovery patterns and update strategies.

### Phase 7: Present Changes for Review

**Goal**: Show the user what will be updated before applying changes.

**Actions:**

1. Present a summary of proposed changes:

```markdown
## Proposed Documentation Updates

### Version Information
- Previous release: $LATEST_TAG
- Current branch: $CURRENT_BRANCH
- Commits analyzed: $COMMIT_COUNT

### Files to Update
- [ ] CHANGELOG.md - Add new version section with categorized changes
- [ ] README.md - Update [specific sections]
- [ ] docs/[specific files] - Update documentation

### Summary of Changes
**Added**: N new features
**Changed**: N modifications
**Fixed**: N bug fixes
**Breaking**: N breaking changes
```

2. Ask the user for confirmation via **AskUserQuestion**:

- Confirm which files to update
- Ask if any changes should be modified
- Get approval to proceed

### Phase 8: Apply Documentation Updates

**Goal**: Write the approved updates, then verify they landed correctly.

**Actions:**

1. Update CHANGELOG.md:

```bash
# Read current changelog
CURRENT_CHANGELOG=$(cat CHANGELOG.md)

# Prepend new section
cat > CHANGELOG.md << 'EOF'
# Changelog

All notable changes to this project will be documented in this file.

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [Unreleased]
[New content goes here]

[Rest of existing changelog]
EOF
```

2. Update README.md using Edit tool:

- Make targeted edits to specific sections
- Preserve overall structure
- Update version numbers if applicable

3. Update documentation files:

```bash
# For each documentation file that needs updates
# Use Edit tool to make precise changes
```

4. Validate the applied changes:

```bash
# Confirm key files still exist after editing
test -f CHANGELOG.md && echo "CHANGELOG.md present"
test -f README.md && echo "README.md present"

# Review the scope of markdown changes
git diff --stat -- '*.md'

# Spot-check the actual content written
git diff -- '*.md' | sed -n '1,240p'
```

5. If the repository already defines documentation or markdown validation commands, run them before finishing.

## Examples

### Example 1: Update After Feature Development

**User request:** "Update docs for the new features I just added"

**Output:**
- Latest tag: v2.4.1 → Current branch: develop
- 5 commits analyzed
- CHANGELOG entry generated for new Spring Boot Actuator skill
- README.md skills list updated

### Example 2: Prepare Release Documentation

**User request:** "Prepare documentation for v2.5.0 release"

**Output:**
- 47 commits analyzed since v2.4.1
- 15 features, 8 fixes, 3 breaking changes detected
- Complete CHANGELOG.md [2.5.0] section generated
- README.md and plugin docs updated

### Example 3: Incremental Sync

**User request:** "Sync docs, I've made some changes"

**Output:**
- 2 commits analyzed
- Focused CHANGELOG update for github-issue-workflow skill changes
- No README or plugin doc updates needed

See `references/examples.md` for detailed session transcripts and troubleshooting.

## Best Practices

1. **Preview before writing, verify after writing**: Show the plan first, then confirm the final diff after edits
2. **Follow Keep a Changelog**: Maintain consistent changelog formatting
3. **Categorize properly**: Use correct categories (Added, Changed, Fixed, etc.)
4. **Be specific**: Include plugin/component names in changelog entries
5. **Preserve structure**: Maintain existing documentation structure and style
6. **Reference commits**: Include commit hashes for traceability when helpful
7. **Handle breaking changes**: Clearly highlight breaking changes with migration notes
8. **Update version refs**: Keep version numbers consistent across documentation

## Constraints and Warnings

1. **Requires git tags**: This skill only works if the repository has at least one release tag
2. **Read-only analysis**: The skill analyzes changes but asks before writing
3. **Manual review required**: Generated changelog entries should be reviewed for accuracy
4. **Conventional commits**: Works best with projects using conventional commit format
5. **Does not create tags**: This skill updates docs but does not create release tags
6. **No auto-commit**: Documentation changes are prepared but not committed automatically
7. **Project-specific patterns**: Some projects may have custom changelog formats to respect
8. **File paths**: All file paths use forward slashes (Unix style) for cross-platform compatibility

© giuseppe-trisciuoglio · MIT · giuseppe-trisciuoglio/developer-kit

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

Всё по теме «Тексты и документация» →
update-docs NeoLabHQ Скилл анализирует изменения в коде через git и обновляет README, файлы docs/ или JSDoc. Помогает поддерживать документацию проекта без ручного переписывания. CX Codex +1 1 300установок update-docs-on-code-change официальный github Правило для GitHub Copilot, которое напоминает обновлять README.md и документацию, когда меняется код. Пригодится, если доки у вас отстают от реальности. ★ 40 418звёзд репо document jsmastery-pro Пишет человеческие тексты о готовом изменении: описание PR, запись в CHANGELOG.md, заметки к релизу, постмортем. Опирается на коммиты и дифф, а не на догадки. CX Codex +1 4 300установок Changelog Generator claude-office-skills Скилл группирует коммиты и списки правок в готовые описания релизов. Пригодится разработчикам и лидам перед публикацией новой версии проекта. CX Codex +1 4 600установок docs-guard amElnagdy Проверяет документацию, README и докстринги на соответствие коду проекта. Находит выдуманные сигнатуры и удаляет пустые формулировки. CX Codex +1 4 000установок docs-sync-audit официальный github Скилл сверяет документацию с кодом и конфигурацией в режиме чтения. Пригодится после изменений в API, CLI, настройках или пользовательском сценарии. 68установок

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

memory-md-management Скилл проверяет файлы памяти проекта вроде CLAUDE.md, ставит им оценку по шести критериям и предлагает точечные правки. CX Codex +1 3 500установок dynamodb-toolbox-patterns Скилл с готовыми шаблонами TypeScript для DynamoDB-Toolbox v2: схемы, сущности, .build()-команды, запросы и транзакции. CX Codex +1 3 500установок github-issue-workflow Пошаговый сценарий из 8 фаз для решения задач на GitHub от чтения описания до создания пулл-реквеста. Помогает безопасно разобрать issue и написать проверенный код. CX Codex +1 3 500установок notebooklm Скилл подключает агента к Google NotebookLM через CLI nlm: поиск по документации, добавление источников, генерация подкастов и отчётов. CX Codex +1 3 500установок spring-boot-project-creator Скилл разворачивает проект на Spring Boot 3.x или 4.x через Spring Initializr с архитектурой DDD или Layered. Пригодится для быстрого старта микросервисов с JPA, OpenAPI и Docker Compose. CX Codex +1 3 500установок aws-lambda-php-integration Скилл подсказывает агенту, как развернуть PHP или Symfony на AWS Lambda через Bref: обработчики, слои рантайма, триггеры SQS/SNS и холодный старт. CX Codex +1 3 500установок aws-lambda-java-integration Скилл с готовыми шаблонами Java-функций для AWS Lambda: два подхода, холодный старт и деплой через Serverless или SAM. CX Codex +1 3 500установок codex Делегирует сложные задачи генерации кода, рефакторинга и ревью в утилиту Codex CLI с моделями GPT-5.3-codex, o3 или o4-mini. CX Codex +1 3 400установок

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

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