Synthèse automatique
Pilote de bout en bout une release Quarto en suivant les checklists présentes dans dev-docs, avec vérification de l'état git/gh réel et confirmation humaine avant chaque action irréversible.
Points forts
- Distingue les trois types de release (prérelease dev, première stable d'un cycle, patch sur branche stable) et vérifie le type avec `git ls-remote` plutôt qu'en se fiant à la déclaration de l'utilisateur
- Vérifie l'état réel (branches, tags, runs `gh run view`, drapeaux de release) au lieu de supposer qu'une étape est terminée
- Impose des points de confirmation explicites avant tout push de branche stable, commit sur `main` ou workflow_dispatch avec flag de publication
- Narre chaque étape avant de l'exécuter, ce qui permet d'interrompre tôt en cas d'anomalie
Limites
- Ne s'invoque que manuellement via `/make-release`, jamais automatiquement, ce qui le rend inopérant si on l'oublie
- Dépend entièrement des fichiers de checklist dans `dev-docs` du dépôt Quarto : il ne contient pas lui-même les étapes de release
- Ne couvre pas le backport d'une PR vers une branche stable, qui relève d'une autre checklist
À utiliser lorsqu'il faut couper une release Quarto (prérelease, première stable ou patch) en suivant la checklist officielle avec des garde-fous.
À ne pas utiliser pour backporter une PR isolée vers une branche stable ou pour toute tâche qui n'est pas une coupe de release.
Analyse de sécurité
PrudenceThe skill drives legitimate release operations using powerful git/gh and workflow-dispatch commands, including pushes and production package publishes. It mitigates risk with explicit human-confirmation gates before irreversible or externally visible actions and forbids auto-invocation, so it is not risky, but the powerful tooling warrants a caution rating.
- •Instructs use of git/gh commands that can push branches, tags, dispatch publish workflows, and publish packages to production registries.
- •Relies on external dev-docs checklists whose contents are not included, so safety depends on those files.
- •No allowed-tools declared even though the skill expects git and gh access.
Exemples
/make-release — we need another v1.9.x patch release for the fixes merged this week./make-release time to cut the first stable release of the v1.10 cycle./make-release, let's do the next dev prerelease off main.name: make-release description: Drive a Quarto release end-to-end from the dev-docs release checklists. Invoke explicitly with /make-release — do not auto-invoke from ambient conversation, a release cut is high-stakes. Handles three release types — a routine dev prerelease off main, the first stable release of a new major.minor cycle, or a patch release on an existing stable branch — by asking which one applies (or reading it from an unambiguous request), then follows the matching checklist, verifying real git/gh state at each step and pausing for explicit human confirmation before every irreversible or externally-visible action.
Make Release
Command-only helper that drives an existing release checklist. Do not auto-invoke — only run when the user explicitly asks (e.g. /make-release). This skill does not restate the release steps; the checklists below are the source of truth. Your job is to read the right one and drive it with real-state verification and confirmation gates.
1. Detect which checklist applies (verify, don't trust self-report)
There are three release types, each with its own checklist. Branch-existence alone doesn't distinguish all three — a routine prerelease and a first-stable-of-cycle release can both start with no v1.x branch yet — so first establish intent, then verify with git where that disambiguates:
- Routine dev prerelease off
main(no version bump beyond the prerelease counter, no new branch) → drivedev-docs/checklist-make-a-new-quarto-prerelease.md - First stable release of a new major.minor cycle (cuts a new
v1.xbranch) → drivedev-docs/checklist-make-a-new-quarto-release.md - Patch release on an already-cut stable branch (e.g. another
v1.9.x) → drivedev-docs/checklist-make-a-new-stable-quarto-release.md
If the user's request doesn't already make the type unambiguous, ask. Once it's a stable release (first or patch), confirm which with real state, don't trust self-report:
git ls-remote --heads origin v1.x # substitute the target major.minor, e.g. v1.10
Branch absent → first stable of the cycle; branch present → patch release.
Out of scope: backporting an individual merged PR to a stable branch is a different task, not a release cut — see dev-docs/checklist-backport-a-pr.md directly, this skill doesn't drive it.
Always confirm before driving anything — even when the type seems obvious from the request. State it plainly, e.g. "I will follow this checklist: dev-docs/checklist-make-a-new-quarto-release.md", and wait for the user's go-ahead before starting step 1. This is the one point where a wrong detection would send the whole run down the wrong checklist, so confirm every time, not just when ambiguous.
2. Drive the checklist top to bottom, verifying real state, narrating as you go
Read the matching checklist and work it in order. Before each step (not just the hard-confirm gates in section 3), state in one line what you're about to do and why, so the user can stop you early if something looks wrong — don't silently chain multiple steps together without narrating between them.
At each step, confirm the real state with git/gh rather than trusting the checklist text or the user's word that something happened — e.g. that a branch/tag exists, a workflow run actually succeeded (gh run view <id>), a release's flags are set, a version field is what it should be. A step isn't done until real state confirms it.
3. Hard-confirm gates (stop and get explicit human OK before running)
Never fire these on your own — state exactly what you're about to do, to which repo, and wait for an explicit go:
- Pushing the new stable branch (
git push origin v1.x) - Pushing version-bump / release-checklist commits to
main - Any
workflow_dispatchcarrying a publish flag (e.g.publish-release=true, chocolatey publish checkbox, Cloudsmithdry-run=false) - Editing a live GitHub release's flags (pre-release / "Set as latest release")
- Pushing the release tag
- Production package-registry publishes: pypi (
Production Release), chocolatey, Cloudsmith manual publish
Dry-runs and read-only verification don't need a gate — run them freely.
4. Cross-repo flow
Three repos are involved, with real ordering dependencies:
quarto-dev/quarto-cli— the release build and tagquarto-dev/quarto-web— quarto.org site, downloads, highlights, announcementquarto-dev/quarto-cli-pypi— pypi publish
Ordering matters: e.g. quarto-cli's release build must fully publish before quarto-web's update-downloads.yml will pick it up, and chocolatey waits on the quarto.org download page updating. State which repo each step targets. Use gh --repo <owner>/<name> ... so verification works even without a local clone of every repo.
No local quarto-web clone: if a step needs local content edits to quarto-web (e.g. the docs/prerelease/<version>/ highlights .qmd files, or _quarto.yml edits) and no local quarto-web clone is present, stop and ask the user for the clone path or to make the edit themselves. Do not attempt the edit through the GitHub API and do not silently skip the step.
Release announcement: the announcement post is published on the Posit Open Source site (opensource.posit.co), not via a quarto-web blog PR (blog migrated June 2026). Point the user there; do not name any internal publishing tool.
5. When the checklist doesn't match reality
If a step's described state doesn't match what you find (stale path, wrong ordering, already done, renamed workflow), surface the discrepancy and get a human decision. Don't silently work around it, and don't edit the checklist mid-release — suggest a follow-up doc-fix PR instead.
6. Non-blocking gaps found along the way
If you spot a non-blocking gap during the release (e.g. a CI automation that only covers one branch, a doc-archival gap), don't try to fix it inline. Tell the user to track it in whatever task tracker they/their project use, and continue the release.
Du fichier au premier essai
Le téléchargement contient exactement le contenu affiché sur cette fiche. Cette copie peut différer de la dernière version du dépôt source.
Consulter la source et ses fichiers annexesCe téléchargement contient uniquement SKILL.md. Les scripts, références, modèles et dépendances éventuels ne sont pas inclus. Récupérez les fichiers nécessaires depuis la source en conservant leur arborescence avant de poursuivre.
1. Télécharger le fichier
Télécharger SKILL.mdDepuis la racine d’un projet de test, enregistrez le fichier sous .skill-downloads/make-a-quarto-release-mrzxurip/SKILL.md, ou utilisez la commande suivante. Ce dossier sert à examiner la skill avant son installation.
Commande pour macOS/Linux ou WSL : un shell POSIX et curl sont nécessaires. Sous Windows sans WSL, utilisez le bouton de téléchargement et créez le dossier manuellement.
mkdir -p '.skill-downloads/make-a-quarto-release-mrzxurip' && curl --fail --show-error --location 'https://skills-guides.com/api/skills/make-a-quarto-release-mrzxurip/download' --output '.skill-downloads/make-a-quarto-release-mrzxurip/SKILL.md.part' && mv '.skill-downloads/make-a-quarto-release-mrzxurip/SKILL.md.part' '.skill-downloads/make-a-quarto-release-mrzxurip/SKILL.md'2. Vérifier les prérequis
Lisez SKILL.md avant de l’utiliser. Si le fichier cite des scripts ou services externes, examinez-les et préparez les accès nécessaires dans votre environnement de test.
Aucune section de prérequis reconnue dans ce fichier. Cela ne signifie pas qu’il est autonome : les bibliothèques, outils et accès peuvent être cités ailleurs dans le contenu ou dans le dépôt source.
Les plateformes de la fiche sont des indications du catalogue. Les chemins ci-dessous suivent la documentation des outils ; ils ne prouvent pas que cette skill y a été exécutée. Aucune version minimale de ces outils n’est attestée pour cette fiche.
3. Charger la skill
Après vérification, copiez le dossier complet dans le projet avec l’une des commandes ci-dessous, puis ouvrez une nouvelle session de l’outil. La commande s’arrête si un dossier du même nom existe déjà : comparez les fichiers avant de le remplacer.
Claude Code
test -f '.skill-downloads/make-a-quarto-release-mrzxurip/SKILL.md' && test -s '.skill-downloads/make-a-quarto-release-mrzxurip/SKILL.md' && mkdir -p '.claude/skills' && test ! -e '.claude/skills/make-release' && cp -R '.skill-downloads/make-a-quarto-release-mrzxurip' '.claude/skills/make-release'OpenSkills
OpenSkills doit déjà être installé. La procédure locale install/read est contrôlée avec OpenSkills 1.5.0, qui exige Node.js ≥ 20.6.0. Aucun slug du catalogue n’est résolu automatiquement.
Installation officielle d’OpenSkillsopenskills install './.skill-downloads/make-a-quarto-release-mrzxurip'openskills read 'make-a-quarto-release-mrzxurip'La lecture doit afficher le contenu du fichier installé et son dossier de base. Elle ne lance ni la skill ni ses dépendances.
Pour un agent qui lit AGENTS.md, synchronisez ensuite l’index. Cette commande modifie AGENTS.md : relisez le diff avant de l’utiliser.
openskills syncMode manuel ou autre outil : joignez SKILL.md à une conversation, ou ouvrez-le dans un agent capable de lire les fichiers. Ajoutez les ressources annexes nécessaires. Il n’existe pas de dossier universel reconnu par tous les outils.
4. Faire un premier essai
Utilisez une entrée courte et fictive : un endpoint d’API, un petit document ou un brief d’interface. Dans une nouvelle conversation, joignez le fichier ou donnez son chemin à l’agent, puis adaptez cette demande :
Lis .skill-downloads/make-a-quarto-release-mrzxurip/SKILL.md et applique ses instructions à cet exemple : [décrire une entrée de test]. Indique les fichiers, dépendances ou accès qui manquent. Produis le résultat demandé par la skill sans inventer de données ni exécuter de script non examiné.Résultat attendu : une sortie correspondant aux instructions de la skill, ou une liste précise des prérequis manquants. Une simple confirmation de lecture ne valide pas le premier usage. Si une ressource externe est indisponible, ce parcours reste à tester.
Configurer un canal de discussion avec SecretRefs
DevOps
Configurez des canaux de discussion avec des commandes non interactives, les secrets étant uniquement des SecretRefs. Couvre les étapes de collecte, modification, réparation et vérification.
Enquêter sur les échecs CI de ClickHouse
DevOps
Investigue un échec CI de ClickHouse de bout en bout à partir d'une URL de PR ou de rapport S3. Récupère les tests échoués, classe flaky vs vraie régression, et cherche des issues/fixes existants.
Revue de PR Ansible
DevOps
Examine une PR Ansible selon le processus standardisé du projet, incluant la validation des changelogs, la couverture de tests et le suivi des commentaires.