Back to list
zero-rehq

release-notes

by zero-rehq

0🍴 0📅 Jan 16, 2026

SKILL.md


name: release-notes description: Genera changelog profesional + GitHub release notes desde commits y worklog compatibility: opencode trigger_keywords: ["release", "changelog", "version", "notes"] source: SkillsMP - meirm-askgpt-writing-release-notes

Release Notes Skill

Genera changelog profesional + GitHub release notes desde commits, worklog y E2E_TRACE.

Triggers

  • /wrap <task> --release
  • "Generate release notes for v2.1.0"
  • "Create CHANGELOG entry"

Features

Auto-detecta changes desde:

  • Git commits (conventionalcommits format)
  • Worklog (PHASE_SUMMARY + E2E_TRACE)
  • Git diff stats

Categoriza changes:

  • Added (new features)
  • Changed (enhancements)
  • Fixed (bug fixes)
  • Deprecated (soon-to-be-removed)
  • Removed (deleted features)
  • Security (security fixes)

Genera múltiples formatos:

  • CHANGELOG.md entry (Keep a Changelog format)
  • GitHub release notes (markdown)
  • Jira release summary (for ticket)

Formato: Keep a Changelog

## [v2.1.0] - 2026-01-15

### Added
- Catálogos feature across 5 repos
  - signage_service: DB table + API endpoint `/api/catalogos`
  - cloud_tag_back: Artículos by catálogo endpoint
  - ftp_proxy: Image paths for catálogo images
  - cloud_front: CatalogosPage with grid UI
  - etouch: Menu entry for catálogos

### Changed
- API client refactored to use shared library (#123)

### Fixed
- Auth token expiration issue in signage_service (#98)

### Technical Details
- E2E_TRACE: etouch menu → cloud_front UI → signage_service API → DB
- Contract: CatalogoDTO shared across repos
- Assets: FTP proxy for catálogo images
- Tests: Added e2e tests for catálogos flow

### Breaking Changes
None

### Migration Guide
No migration needed. Feature is additive.

Workflow

1. Analizar Commits

# Get commits since last release
git log v2.0.0..HEAD --oneline --no-merges

# Parse conventional commits format:
# feat: add catalogos feature
# fix: resolve auth token issue
# chore: update dependencies

2. Leer Worklog

# Parse worklog for E2E_TRACE + PHASE_SUMMARY
WORKLOG="worklog/2026-01-15_catalogos.md"

# Extract:
# - What was implemented (PHASE_SUMMARY)
# - E2E flow (E2E_TRACE)
# - Repos affected
# - Breaking changes (if any)

3. Categorizar Changes

function categorize(commits: Commit[]): Categories {
  const categories = {
    added: [],
    changed: [],
    fixed: [],
    deprecated: [],
    removed: [],
    security: []
  };

  for (const commit of commits) {
    if (commit.message.startsWith('feat:')) {
      categories.added.push(commit);
    } else if (commit.message.startsWith('fix:')) {
      categories.fixed.push(commit);
    } else if (commit.message.startsWith('refactor:')) {
      categories.changed.push(commit);
    }
    // ... etc
  }

  return categories;
}

4. Generar CHANGELOG Entry

## [${VERSION}] - ${DATE}

${categorize(commits).map(category =>
  `### ${category.title}\n` +
  category.items.map(item => `- ${item.description}`).join('\n')
).join('\n\n')}

### Technical Details
${E2E_TRACE}
${contracts}
${breaking_changes || 'None'}

5. Generar GitHub Release

# Create GitHub release using gh CLI
gh release create v2.1.0 \
  --title "v2.1.0 - Catálogos Feature" \
  --notes-file RELEASE_NOTES.md

Script (generate-release-notes.sh)

#!/usr/bin/env bash
set -euo pipefail

VERSION="${1:-}"
TASK="${2:-}"

[[ -n "$VERSION" ]] || { echo "Usage: $0 <version> [task]"; exit 1; }

echo "📝 Generating release notes for $VERSION..."

# Get commits since last tag
LAST_TAG=$(git describe --tags --abbrev=0 2>/dev/null || echo "")
if [[ -n "$LAST_TAG" ]]; then
  COMMITS=$(git log "$LAST_TAG..HEAD" --oneline --no-merges)
else
  COMMITS=$(git log --oneline --no-merges)
fi

# Parse commits into categories
ADDED=()
FIXED=()
CHANGED=()

while IFS= read -r commit; do
  if [[ "$commit" =~ feat:|add: ]]; then
    ADDED+=("$commit")
  elif [[ "$commit" =~ fix: ]]; then
    FIXED+=("$commit")
  elif [[ "$commit" =~ refactor:|update: ]]; then
    CHANGED+=("$commit")
  fi
done <<< "$COMMITS"

# Generate CHANGELOG entry
cat > CHANGELOG_ENTRY.md <<EOF
## [$VERSION] - $(date +%Y-%m-%d)

### Added
$(printf '%s\n' "${ADDED[@]}" | sed 's/^[a-f0-9]* /- /')

### Changed
$(printf '%s\n' "${CHANGED[@]}" | sed 's/^[a-f0-9]* /- /')

### Fixed
$(printf '%s\n' "${FIXED[@]}" | sed 's/^[a-f0-9]* /- /')

### Technical Details
$(if [[ -n "$TASK" ]]; then
  WORKLOG="worklog/$(date +%F)_${TASK}.md"
  if [[ -f "$WORKLOG" ]]; then
    grep -A 20 "## E2E_TRACE" "$WORKLOG" || echo "See worklog for details"
  fi
fi)
EOF

echo "✅ Release notes generated: CHANGELOG_ENTRY.md"
echo ""
cat CHANGELOG_ENTRY.md

Uso desde /wrap

USER: /wrap catalogos --release

Orchestrator → @scribe:
1. Ejecuta oc-wrap catalogos (normal wrap)
2. AUTO-TRIGGER release-notes:
   - Analiza commits desde último tag
   - Lee worklog/E2E_TRACE
   - Genera CHANGELOG entry
   - Pregunta: "¿Crear GitHub release?"
3. Si user acepta:
   - Prepend entry a CHANGELOG.md
   - gh release create v2.1.0 --notes-file ...

Output Ejemplo

✅ Release notes generated!

📄 CHANGELOG.md updated
🚀 GitHub release created: v2.1.0

Release URL: https://github.com/org/repo/releases/tag/v2.1.0

Changelog entry:
────────────────────────────────────────────────
## [v2.1.0] - 2026-01-15

### Added
- Catálogos feature across 5 repos
  - signage_service: DB + API
  - cloud_front: UI with CatalogosPage
  - ftp: Image proxy paths

### Technical Details
- E2E flow: UI → API → DB → Proxy → UI
- Contract: CatalogoDTO
────────────────────────────────────────────────

Convenciones Soportadas

Conventional Commits

feat: add new feature
fix: bug fix
refactor: code refactor
docs: documentation
chore: maintenance

Semantic Versioning

MAJOR.MINOR.PATCH
2.1.0 → 2.2.0 (minor - new feature)
2.1.0 → 3.0.0 (major - breaking change)
2.1.0 → 2.1.1 (patch - bug fix)

Notas

  • Si no hay git tags → usa todos los commits
  • Breaking changes detectados por: BREAKING CHANGE: en commit body
  • Multi-repo: consolida commits de todos los repos targets
  • Formato Keep a Changelog es estándar de industria

Version: 1.0 Docs: https://keepachangelog.com Source: SkillsMP + Conventional Commits

Score

Total Score

50/100

Based on repository quality metrics

SKILL.md

SKILL.mdファイルが含まれている

+20
LICENSE

ライセンスが設定されている

0/10
説明文

100文字以上の説明がある

0/10
人気

GitHub Stars 100以上

0/15
最近の活動

3ヶ月以内に更新がある

0/10
フォーク

10回以上フォークされている

0/5
Issue管理

オープンIssueが50未満

+5
言語

プログラミング言語が設定されている

+5
タグ

1つ以上のタグが設定されている

0/5

Reviews

💬

Reviews coming soon