feat(skills): добавлен скилл visual-pr для описания PR

- Зачем: не было скилла про содержание описания PR — только gh-команды
  в github. Формат humanlayer/visual-pr совпадает с принятой структурой
  коммитов «Зачем / Что / Проверка» и опирается на уже установленный show-me.
- Что: адаптированная копия humanlayer/skills visual-pr. Убраны привязки
  к платформе HumanLayer (.humanlayer/tasks, permalink из хука), дубль
  show-me заменён ссылкой на установленный скилл, финальный отчёт свёрнут
  в одну строку. Скилл хостинг-независимый (glab, tea, gh), ручной вызов
  через disable-model-invocation, язык описания — по истории коммитов.
  Шаблон references/pr_description_template.md — без изменений.
  В .skill-lock.json не добавлен, чтобы npx skills update не перезатёр
  правки.
- Проверка: SKILL.md вычитан по правилам writing-for-agents (кэш --help
  и дубли шаблона убраны); ссылка ../show-me/SKILL.md резолвится через
  ~/.claude/skills. Прогон на реальном PR ещё не выполнен.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
Dmitry DementievandClaude Opus 5 committed 2026-09-17 18:06:54 +03:00
1 parent 3b9f422acb
commit e0048bb5b2
2 files changed
+84

No files matched your search

+31
View File
@@ -0,0 +1,31 @@
---
name: visual-pr
description: Describe the current branch's pull request for a reviewer — one-sentence why, reviewer notes, and a show-me-style change outline.
disable-model-invocation: true
---
# Describe a Pull Request
Create or update the pull request (merge request on GitLab) for the current branch so a reviewer sees why the change exists and the shape of the implementation. Work through the hosting's CLI (`glab`, `tea`, `gh`); without one, hand the finished description to the user to paste.
Adapted from [humanlayer/skills visual-pr](https://github.com/humanlayer/skills/tree/main/plugins/visual-pr/skills/visual-pr).
## Workflow
1. Identify or create the pull request:
- Check the current branch for a PR.
- If none exists, review `git status --short --branch` and the branch's commits; commit task-related changes when needed, push the branch with an upstream, and create the PR.
- Ask the user to select a PR only when the current branch has no relevant work and there is no safe current-branch PR to create.
2. Gather only the context needed to explain the change:
- Read the ticket and any relevant task artifacts.
- Read the complete PR diff and enough surrounding code to understand behavior and ownership.
- Read `../show-me/SKILL.md` for the visual vocabulary used in the change outline.
3. Write the description by filling `references/pr_description_template.md`; the PR body is the filled template. Write in the language of the repository's commit history.
4. Publish it to the PR and confirm the update succeeded.
5. Report the PR URL, a 2-3 sentence summary of the change, and the changed files.
Write as one human talking to another: simple, coherent, concise language.
@@ -0,0 +1,53 @@
[{RELEVANT LINK}]({RELEVANT LINK}) | [{RELEVANT LINK 2}]({RELEVANT LINK 2}) | ...
## Why the change
{Exactly one sentence explaining the problem this PR solves and what becomes possible after it ships.}
## Special things to note
- {List 1-3 reviewer-relevant warnings, migrations, constraints, deliberate omissions, or surprising decisions. Use "None." when there are no special considerations.}
## Change outline
{Use the smallest combination of the following `/show-me`-style views that explains the implementation. Prefer `diff` blocks for changes to existing shapes and complete blocks for mostly new shapes. Do not include headings for views that are not relevant.}
{...short-description...}
```diff|sql|json|etc
{Show changed SQL tables, important columns and relationships, and endpoint request/response contracts.}
```
{...short-description...}
```typescript|python|etc
{show new data structures that are key to the implementation}
```
{...short-description...}
```diff
{Show concise pseudocode for the changed behavior.}
```
{...short-description...}
```diff
{Show a shallow file tree with changed responsibilities.}
```
{...short-description...}
```diff
{Show changed React component trees, important hooks or state, and package boundaries.}
```
{...short-description...}
```diff
{Show changed call trees, call stacks, control flow, or data flow.}
```
{Tell the story in the order that makes it easiest to understand. It may make sense to show files first, or it may make sense to establish a data structure, SQL table, or API contract first. All views and subheadings are optional. Use only the views that help explain the pr, and name or order them based on the change rather than a fixed template. It should be written as one human would write to another. Use `diff` for a focused change to an existing shape. Show the complete target shape in a language-specific or `text` block when it is new, high-level, or clearer without diff notation.}