analyzing-options
Analyzing different approaches for a task or problem with structured comparisons, effort…
Generating an internal Operations-facing update/migration guide from the git diff between two refs, documenting per-change client impact, deploy ordering, monitoring, and rollback notes in English, pt-br, or both. Use when preparing a version release or recording what changed
$ npx -y skills add LerianStudio/ring --skill generating-release-guides --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/generating-release-guidesContext preview
The summary Claude sees to decide when to auto-load this skill.
Generating an internal Operations-facing update/migration guide from the git diff between two refs, documenting per-change client impact, deploy ordering, monitoring, and rollback notes in English, pt-br, or both. Use when preparing a version release or recording what changed
name: ring:generating-release-guides description: "Generating an internal Operations-facing update/migration guide from the git diff between two refs, documenting per-change client impact, deploy ordering, monitoring, and rollback notes in English, pt-br, or both. Use when preparing a version release or recording what changed for the Ops team. Runs read-only by default and previews before writing. Skip with no git repo or a trivial single-file change."
Produce an **internal** Operations-facing update/migration guide from git diff analysis.
**STRICT_NO_TOUCH (default):** Read-only git commands only. Forbidden: `fetch`, `pull`, `push`, `checkout`, `switch`, `reset`, `commit`, `merge`, `rebase`. If ref doesn't exist locally → STOP and suggest TEMP_CLONE mode.
**TEMP_CLONE_FOR_FRESH_REFS:** Clone to temp dir, fetch refs there, run all analysis in clone, cleanup after. Never touches current repo.
Determine mode. In TEMP_CLONE mode, create isolated clone before proceeding.
git rev-parse --verify BASE_REF^{commit} # verify both refs exist
git rev-parse --verify TARGET_REF^{commit}
BASE_SHA=$(git rev-parse --short BASE_REF)
TARGET_SHA=$(git rev-parse --short TARGET_REF)# If TARGET_REF is a tag, extract version
# Note: avoid /i flag (GNU-specific); use explicit case alternation for portability (macOS + Linux)
if git tag -l "$TARGET_REF" | grep -q .; then
AUTO_VERSION=$(echo "$TARGET_REF" | sed -E 's/^[Vv]//;s/^[Rr]elease[-_]?//;s/^[Vv]ersion[-_]?//')
fi
# Priority: explicit VERSION > auto-detected > none (omit from title)git log --oneline --no-merges BASE_REF...TARGET_REF git log --pretty=format:"%h %s%n%b" --no-merges BASE_REF...TARGET_REF
Parse commit prefixes: `feat:` → Feature, `fix:` → Bug Fix, `refactor:` → Improvement, `breaking:` / `BREAKING CHANGE:` → Breaking.
git diff --find-renames --find-copies --stat BASE_REF...TARGET_REF git diff --find-renames --find-copies BASE_REF...TARGET_REF
From diff, identify: endpoints (new/changed/removed), DB schema/migrations, messaging (topics/payloads), config/env vars, auth changes, performance (timeouts/pools), dependency bumps with runtime impact, observability changes.
Use language-appropriate template based on LANGUAGE parameter.
**English title:** `# Ops Update Guide — <repo> — <VERSION> — <TARGET_SHA>` **Portuguese title:** `# Guia de Atualização (Ops) — <repo> — <VERSION> — <TARGET_SHA>` (Without version: use `BASE_REF → TARGET_REF` instead of `<VERSION>`)
**Header block:** Mode, Comparison, Base SHA, Target SHA, Date, Source.
**Per section format:** `## N. Descriptive Title [Category Emoji]`
| Category | English | Portuguese | Emoji | |----------|---------|------------|-------| | Feature | Feature | Funcionalidade | ✨ | | Bug Fix | Bug Fix | Correção | 🐛 | | Improvement | Improvement | Melhoria | 🆙 | | Breaking | Breaking | Breaking | ⚠️ | | Infrastructure | Infrastructure | Infra | 🔧 | | Observability | Observability | Observabilidade | 📊 | | Data | Data | Dados | 💾 |
**Each section contains (in order):**
1. **Contextual narrative** (1-3 paragraphs) — business/operational context, why this changed 2. **What Changed / O que mudou** — bullet list with file:line references 3. **Why It Changed / Por que mudou** — infer from code; if uncertain mark as **ASSUMPTION** + **HOW TO VALIDATE** 4. **Client Impact / Impacto para clientes** — who's affected, risk level (Low/Medium/High) 5. **Required Client Action / Ação necessária do cliente** — "None" or exact steps 6. **Deploy/Upgrade Notes / Notas de deploy/upgrade** — ordering, rolling deploy safety 7. **Post-Deploy Monitoring / O que monitorar pós-deploy** — logs in table format (Level | Message | Meaning), tracing spans in table format 8. **Rollback** — Safety: Safe/Conditional/Not recommended (or pt-br equivalents) + steps
**Special sections when applicable:**
**English:** Summary table (Features/Bug Fixes/Improvements/Data counts) + Rollback Compatibility matrix (`| Item | Rollback | Justification |`).
**Portuguese:** `## Resumo` + `## Análise de Compatibilidade de Rollback` with same structure.
Show before writing to disk:
**Wait for user confirmation.**
Output directory: `notes/releases/`
| Has Version? | LANGUAGE | Filename | |--------------|----------|----------| | Yes | `en` | `{DATE}_{REPO}-{VERSION}.md` | | Yes | `pt-br` | `{DATE}_{REPO}-{VERSION}_pt-br.md` | | No | `en` | `{DATE}_{REPO}-{BASE}-to-{TARGET}.md` | | No | `pt-br` | `{DATE}_{REPO}-{BASE}-to-{TARGET}_pt-br.md` | | Any | `both` | Both files above |
Confirm after saving: file path(s), refs/SHAs used, version, lang
Proven engineering practices, enforced through skills. Ring is a comprehensive skills library and workflow system for AI agents that transforms how AI assistants approach software development.
Repo: LerianStudio/ring
Analyzing different approaches for a task or problem with structured comparisons, effort…
Auditing a service's production readiness against Ring engineering standards across base…
Cleaning redundant and obvious comments following clean code principles while preserving…
Commit changes with scope allowlist enforcement, atomic grouping, GPG-signed conventional…
Creating a handoff document that captures session state (completed work, decisions, open…
Creating an isolated git worktree for parallel branch work: selects the directory by priority…