azd-publish

Preparar y publicar una nueva versión de la extensión waza azd. USAR PARA: "publicar extensión", "lanzar nueva versión", "incrementar versión", "preparar lanzamiento", "actualizar…

npx skills add https://github.com/microsoft/waza --skill azd-publish

name: azd-publish description: | Prepare and publish a new version of the waza azd extension. USE FOR: "publish extension", "release new version", "bump version", "prepare release", "update changelog", "azd publish", "new release", "version bump", "cut a release". DO NOT USE FOR: running evals (use waza), writing skills (use skill-authoring), CI/CD pipeline changes (edit workflow files directly). metadata: author: spboyer version: "1.0"

azd Extension Publish

Automate version bumps, changelog updates, and PR creation for waza azd extension releases.

When to Use

  • Preparing a new release of the waza azd extension
  • Bumping the version number (major, minor, or patch)
  • Updating the changelog with changes since last release
  • Creating a release PR for review

Workflow

Follow these steps in order. Ask the user for input at each decision point.

Step 1: Gather Changes and Update Changelog

Get the current version from version.txt and extension.yaml, then collect commits since the last release:

cat version.txt

# Find the latest azd extension version tags
git tag --list 'azd-ext-microsoft-azd-waza_*' --sort=-v:refname | head -5

# Get commits since last azd extension tag
last_tag=$(git tag --list 'azd-ext-microsoft-azd-waza_*' --sort=-v:refname | head -1)
git log "${last_tag}..HEAD" --oneline --no-decorate

If version.txt and extension.yaml differ, flag it to the user before proceeding.

Summarize the changes grouped by type:

  • Added — feat: commits
  • Fixed — fix: commits
  • Changed — refactor:, chore:, docs: commits
  • Removed — any removal-related commits

Present the summary to the user for review.

Then update CHANGELOG.md. The changelog follows Keep a Changelog format.

Perform these updates (using a placeholder version X.Y.Z — the actual version is determined in Step 2):

  1. Move Unreleased content: Move any items currently under ## [Unreleased] into a staging area. If [Unreleased] is empty, populate from the git log summary gathered above.

  2. Populate from commits: Prepare entries grouped under ### Added, ### Fixed, ### Changed as appropriate based on the commits gathered above.

Hold these changelog entries — the new version section header and comparison links will be finalized after the version is determined in Step 2.

Step 2: Determine Version

Based on the changes gathered in Step 1, recommend a version bump type using standard semver semantics:

  • major — Breaking changes, removals of public API (feat!:, BREAKING CHANGE:) → (MAJOR+1).0.0
  • minor — New features, backward compatible (feat:) → MAJOR.(MINOR+1).0
  • patch — Bug fixes, docs, refactors, chores (fix:, docs:, refactor:, chore:) → MAJOR.MINOR.(PATCH+1)

Present the recommendation with rationale (e.g., "I see 3 feat: commits and no breaking changes — recommending a minor bump").

ASK THE USER to confirm the recommended bump or choose a different one.

Compute the new version and confirm with the user before proceeding.

Then finalize the changelog:

  1. Create new version section: Insert a new section below ## [Unreleased] with today's date:

    ## [X.Y.Z] - YYYY-MM-DD
    
  2. Add the prepared entries from Step 1 under the new version section.

  3. Update comparison links at the bottom of the file:

    [Unreleased]: https://github.com/microsoft/waza/compare/azd-ext-microsoft-azd-waza_X.Y.Z...HEAD
    [X.Y.Z]: https://github.com/microsoft/waza/compare/azd-ext-microsoft-azd-waza_PREVIOUS...azd-ext-microsoft-azd-waza_X.Y.Z
    
  4. Clear the Unreleased section: Leave ## [Unreleased] with empty subsections or blank.

Step 3: Update Version Files

Update these files with the new version:

  1. version.txt — Replace contents with new version string
  2. extension.yaml — Update the version: field

Step 4: Review Changes

Show the user a summary of all changes made:

  • New version number
  • Files modified: version.txt, extension.yaml, CHANGELOG.md
  • Show the diff with git diff

Step 5: Ask About PR Creation

ASK THE USER: Should I create a PR with these changes?

If yes:

  1. Create a feature branch:

    git checkout -b release/v{VERSION}
    
  2. Stage and commit all changes:

    git add version.txt extension.yaml CHANGELOG.md
    git commit -m "chore: Prepare release v{VERSION}"
    
  3. Push the branch:

    git push origin release/v{VERSION}
    
  4. Create a PR using the GitHub CLI:

    gh pr create \
      --title "Release v{VERSION}" \
      --body "## Release v{VERSION}
    
    ### Changes
    {changelog entries for this version}
    
    ### Checklist
    - [ ] Version bumped in version.txt and extension.yaml
    - [ ] CHANGELOG.md updated
    - [ ] CI passes
    - [ ] Ready to publish via 'Publish azd Extension' workflow" \
      --base main \
      --head release/v{VERSION}
    

If no:

  • Leave the changes uncommitted in the working tree
  • Inform the user they can review and commit manually

File Reference

FilePurposeWhat Gets Updated
version.txtSingle source of version truthNew semver version string
extension.yamlazd extension manifestversion: field
CHANGELOG.mdHuman-readable change historyNew version section with entries

Important Notes

  • Always use conventional commit prefixes (feat:, fix:, chore:, docs:, refactor:) when interpreting git history
  • The changelog format must follow Keep a Changelog
  • Version numbering must follow Semantic Versioning
  • The PR branch naming convention is release/v{VERSION}
  • After the PR is merged, the user should trigger the Publish azd Extension workflow (azd-ext-release.yml) to build, pack, and publish the extension

Más skills de microsoft

oss-growth
microsoft
Persona de growth hacker de OSS
agent-framework-azure-ai-py
microsoft
Crea agentes de Azure AI Foundry usando el SDK de Python de Microsoft Agent Framework (agent-framework-azure-ai). Úsalo al crear agentes persistentes con AzureAIAgentsProvider, usando herramientas alojadas (intérprete de código, búsqueda de archivos, búsqueda web), integrando servidores MCP, gestionando hilos de conversación o implementando respuestas en streaming. Cubre herramientas de función, salidas estructuradas y agentes con múltiples herramientas.
development
airunway-aks-setup
microsoft
Configura AI Runway en AKS: desde un clúster vacío hasta un modelo en ejecución. Incluye verificación del clúster, instalación del controlador, evaluación de GPU, configuración del proveedor y primer despliegue. CUÁNDO: "configurar AI Runway", "incorporar clúster AKS", "instalar AI Runway", "configuración de airunway", "desplegar modelo en AKS", "inferencia GPU en AKS", "configuración de KAITO en AKS", "ejecutar LLM en AKS", "vLLM en AKS", "configurar servicio de modelos en AKS", "controlador de AI Runway".
devops
appinsights-instrumentation
microsoft
Guía para instrumentar aplicaciones web con Azure Application Insights. Proporciona patrones de telemetría, configuración del SDK y referencias de configuración. CUÁNDO: cómo instrumentar una aplicación, SDK de App Insights, patrones de telemetría, qué es App Insights, guía de Application Insights, ejemplos de instrumentación, mejores prácticas de APM.
devops
applicationinsights-web-ts
microsoft
Instrumenta aplicaciones web/navegador con el SDK de JavaScript de Application Insights (@microsoft/applicationinsights-web). Úsalo para monitoreo de usuarios reales (RUM): vistas de página, clics, dependencias AJAX/fetch, excepciones, eventos personalizados y trazas de agentes GenAI del lado del navegador correlacionadas con trazas de OpenTelemetry del backend. Cubre el script de carga del SDK y la configuración npm, extensiones de frameworks (React, React Native, Angular), Click Analytics, inicializadores de telemetría y convenciones semánticas de GenAI de OTel para spans de agentes/herramientas/modelos emitidos desde el navegador.
devops
azure-ai-anomalydetector-java
microsoft
Cree aplicaciones de detección de anomalías con el SDK de Azure AI Anomaly Detector para Java. Úselo al implementar detección de anomalías univariadas/multivariadas, análisis de series temporales o monitoreo impulsado por IA.
development
azure-ai-language-conversations-py
microsoft
Implementa el reconocimiento del lenguaje conversacional (CLU) utilizando el SDK de Python azure-ai-language-conversations. Úsalo al trabajar con ConversationAnalysisClient para analizar la intención y las entidades de la conversación, crear funciones de NLP o integrar el reconocimiento del lenguaje en aplicaciones.
development
azure-ai-ml-py
microsoft
SDK v2 de Azure Machine Learning para Python. Úselo para áreas de trabajo de ML, trabajos, modelos, conjuntos de datos, cómputo y canalizaciones. Disparadores: "azure-ai-ml", "MLClient", "workspace", "model registry", "training jobs", "datasets".
development