github-release · jezweb — скилл для Claude Code: релиз и установка
Готовит GitHub-релиз: проверяет код перед публикацией, создаёт тег и выпускает релиз через gh. Нужен перед открытой публикацией репозитория.
npx skills add jezweb/claude-skills --skill github-release -a claude-codeЧто делает github-release
Скилл ведёт релиз в два этапа. Сначала ищет секреты через gitleaks, проверяет личные файлы, LICENSE, README.md и .gitignore; также запускает сборку и аудит зависимостей. Найденный секрет останавливает выпуск.
После очистки он сверяет версию, проверяет существующий тег, показывает коммиты после прошлого тега и создаёт аннотированный тег. Затем отправляет текущую ветку и теги в удалённый репозиторий, после чего публикует релиз через gh.
Для работы нужны авторизованный gh, gitleaks и Git-репозиторий с настроенным remote. Это повод заранее проверить авторизацию gh, потому что без неё публикация не пройдёт.
Какие задачи решает
- найти секреты перед открытой публикацией
- убрать личные файлы из репозитория
- проверить
LICENSEи разделыREADME.md - создать и отправить версионный тег
- опубликовать релиз через
gh
Примеры запросов агенту
- Подготовь текущий репозиторий к GitHub release.
- Проверь проект перед публикацией в открытый репозиторий.
- Создай GitHub release для текущей версии.
Как установить github-release
1Через Skills CLI (Vercel)
npx skills add jezweb/claude-skills --skill github-release -a claude-code2Вручную: положить файлы
~/.claude/skills/github-release/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/github-release/
1Через Skills CLI (Vercel)
npx skills add jezweb/claude-skills --skill github-release -a codex2Вручную: положить файлы
.agents/skills/github-release/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add jezweb/claude-skills --skill github-release -a cursor2Вручную: положить файлы
.cursor/skills/github-release/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install jezweb/claude-skills github-release2Вручную: положить файлы
.github/skills/github-release/SKILL.md1Через Skills CLI (Vercel)
npx skills add jezweb/claude-skills --skill github-release -a gemini-cli2Командой платформы
gemini skills install https://github.com/jezweb/claude-skills --path plugins/dev-tools/skills/github-releaseВручную: положить файлы
.devin/skills/github-release/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add jezweb/claude-skills --skill github-release -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов
Вопросы о github-release
Как установить github-release в Claude Code?
Выполните npx skills add jezweb/claude-skills --skill github-release -a claude-code, затем повторите npx skills add jezweb/claude-skills --skill github-release -a claude-code. Файл скилла находится в ~/.claude/skills/github-release/SKILL.md.
Что делает github-release?
Скилл очищает проект перед публикацией, проверяет секреты и служебные файлы, затем создаёт тег и GitHub-релиз через gh.
Что нужно github-release для работы?
Нужны установленный и авторизованный gh, установленный gitleaks и Git-репозиторий с настроенным remote.
Исходный текст
SKILL.md · MIT
---
name: github-release
description: "Prepare and publish GitHub releases. Sanitizes code for public release (secrets scan, personal artifacts, LICENSE/README validation), creates version tags, and publishes via gh CLI. Trigger with 'release', 'publish', 'open source', 'prepare for release', 'create release', or 'github release'."
compatibility: claude-code-only
---
# GitHub Release
Sanitize and release projects to GitHub. Two-phase workflow: safety checks first, then tag and publish.
## Prerequisites
- `gh` CLI installed and authenticated (`gh auth status`)
- `gitleaks` installed for secrets scanning (`brew install gitleaks` or download from GitHub)
- Git repository with a remote configured
## Workflow
### Phase 1: Sanitize
Run these checks before any public release. Stop on blockers.
#### 1. Scan for Secrets (BLOCKER)
```bash
gitleaks detect --no-git --source=. --verbose
```
If secrets found: **STOP**. Remove secrets, move to environment variables. Check git history with `git log -S "secret_value"` — if in history, use BFG Repo-Cleaner.
If gitleaks not installed, do manual checks:
```bash
# Check for .env files
find . -name ".env*" -not -path "*/node_modules/*"
# Check config files for hardcoded secrets
grep -ri "api_key\|token\|secret\|password" wrangler.toml wrangler.jsonc .dev.vars 2>/dev/null
```
#### 2. Remove Personal Artifacts
Check for and remove session/planning files that shouldn't be published:
- `SESSION.md` — session state
- `planning/`, `screenshots/` — working directories
- `test-*.ts`, `test-*.js` — local test files
Either delete them or add to `.gitignore`.
#### 3. Validate LICENSE
```bash
ls LICENSE LICENSE.md LICENSE.txt 2>/dev/null
```
If missing: create one. Check the repo visibility (`gh repo view --json visibility -q '.visibility'`). Use MIT for public repos. For private repos, consider a proprietary license instead.
#### 4. Validate README
Check README exists and has basic sections:
```bash
grep -i "## Install\|## Usage\|## License" README.md
```
If missing sections, add them before release.
#### 5. Check .gitignore
Verify essential patterns are present:
```bash
grep -E "node_modules|\.env|dist/|\.dev\.vars" .gitignore
```
#### 6. Build Test (non-blocking)
```bash
npm run build 2>&1
```
#### 7. Dependency Audit (non-blocking)
```bash
npm audit --audit-level=high
```
#### 8. Create Sanitization Commit
If any changes were made during sanitization:
```bash
git add -A
git commit -m "chore: prepare for release"
```
### Phase 2: Release
#### 1. Determine Version
Check `package.json` for current version, or ask the user. Ensure version starts with `v` prefix.
#### 2. Check Tag Doesn't Exist
```bash
git tag -l "v[version]"
```
If it exists, ask user whether to delete and recreate or use a different version.
#### 3. Show What's Being Released
```bash
LAST_TAG=$(git describe --tags --abbrev=0 2>/dev/null || echo "")
if [ -z "$LAST_TAG" ]; then
git log --oneline --no-merges HEAD | head -20
else
git log --oneline --no-merges ${LAST_TAG}..HEAD
fi
```
#### 4. Create Tag and Push
```bash
git tag -a v[version] -m "Release v[version]"
git push origin $(git branch --show-current)
git push origin --tags
```
#### 5. Create GitHub Release
```bash
gh release create v[version] \
--title "Release v[version]" \
--notes "[auto-generated from commits]"
```
For pre-releases add `--prerelease`. For drafts add `--draft`.
#### 6. Report
Show the user:
- Release URL
- Next steps (npm publish if applicable, announcements)
## Reference Files
| When | Read |
|------|------|
| Detailed safety checks | [references/safety-checklist.md](references/safety-checklist.md) |
| Release mechanics | [references/release-workflow.md](references/release-workflow.md) |
© jezweb · MIT · jezweb/claude-skills
Похожие скиллы
Все скиллы по теме «Git и GitHub» →Сначала — github-release от других авторов.