Synthèse automatique
Automatise la publication d'une nouvelle version de mdeck : calcul du bump semver, contrôles préalables, mise à jour de la documentation et du CHANGELOG, puis commit, push et tag Git.
Points forts
- Enchaîne les vérifications Rust (cargo fmt, clippy avec -D warnings, tests) et interrompt le processus en cas d'échec
- Contrôle explicitement la fraîcheur de la spec, du README, de la galerie et de CLAUDE.md avant de bumper
- Met à jour le CHANGELOG en renommant la section [Unreleased] avec la date du jour
- Termine par le tag poussé et rappelle le rôle du workflow GitHub Actions
Limites
- Fortement couplé à mdeck : chemins en dur (crates/mdeck/doc/mdeck-spec.md, GALLERY.md) et commandes cargo spécifiques
- Suppose un push direct sur main et ne gère ni branches de release ni rollback en cas d'échec après le tag
- Le choix du bump doit être fourni explicitement en argument, sinon le skill s'arrête
À utiliser lorsqu'il faut publier une version majure, mineure ou corrective de mdeck de bout en bout, avec contrôles de qualité et mise à jour documentaire.
À éviter sur un dépôt qui n'est pas mdeck ou lorsqu'on souhaite une release via pull request avec revue avant fusion et tag.
Analyse de sécurité
PrudenceThe skill uses powerful tools (cargo, git push, git tag) but all for legitimate release automation. It does not exfiltrate secrets, obfuscate payloads, or perform destructive filesystem operations. The main caution is that steps like 'git push' and 'git tag ... && git push origin' publish changes without an explicit confirmation gate, and 'cargo update' mutates dependencies. These are standard release actions but warrant human oversight.
- •Runs git push and pushes tags to main without confirmation
- •Runs cargo update which mutates dependency lockfile
Exemples
/release patchBump mdeck to the next minor version and cut the release/release majorname: release description: "Release a new version: bump version, update docs, commit, push, and tag" argument-hint: "<major|minor|patch>"
Release a new version of mdeck.
Input
$ARGUMENTS must be one of: major, minor, patch. If empty or invalid, stop and ask.
Steps
1. Determine the new version
- Read the current version from the
versionfield in the workspaceCargo.toml - Apply the semver bump based on $ARGUMENTS:
patch: 0.2.0 -> 0.2.1minor: 0.2.0 -> 0.3.0major: 0.2.0 -> 1.0.0
- Show the user: "Releasing mdeck v{OLD} -> v{NEW}"
2. Pre-flight checks
- Run
cargo updateto update dependencies to the latest compatible versions - Run
cargo fmt --all -- --check— abort if formatting issues - Run
cargo clippy --workspace -- -D warnings— abort if warnings - Run
cargo test --workspace— abort if any test fails - Run
git status— abort if there are uncommitted changes that are NOT documentation or version files
3. Verify documentation and spec are up to date
crates/mdeck/doc/mdeck-spec.md: Review the format spec against current features. Runcargo run -p mdeck -- specandcargo run -p mdeck -- spec --shortto verify the output looks correct and covers all implemented features. If new visualizations, layouts, directives, or keyboard shortcuts have been added since the last release, update the spec (and the short reference incommands/spec.rs) before proceeding.README.md: Verify features list, command reference, visualization table, and gallery preview images are current.GALLERY.md: If rendering has changed, re-export gallery slides (cargo run -p mdeck -- export sample-presentations/gallery.md --output-dir media/gallery) and verify screenshots reflect current rendering.CLAUDE.md: Verify architecture, commands, and patterns sections are accurate.- If any documentation is out of date, update it now before proceeding to the version bump.
4. Bump version numbers
- Update
versionin the rootCargo.toml[workspace.package]section
5. Update CHANGELOG
- CHANGELOG.md: Rename the
[Unreleased]section to[{NEW_VERSION}] - {TODAY}(YYYY-MM-DD format). If there is no[Unreleased]section, create a new dated entry summarizing changes since the last release
6. Verify the build
- Run
cargo build --workspaceto ensure everything compiles with the new version - Run
cargo test --workspaceonce more after version bump
7. Commit, push, and tag
- Stage all changed files:
Cargo.toml,Cargo.lock,CHANGELOG.md, and any updated docs - Commit with message:
Release v{NEW_VERSION} - Push to main:
git push - Create and push tag:
git tag v{NEW_VERSION} && git push origin v{NEW_VERSION}
8. Confirm
- Tell the user the release is tagged and pushed
- Remind them that the GitHub Actions release workflow will now build binaries, publish to crates.io, and update the Homebrew tap
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/release-a-new-version-mrwakdlu/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/release-a-new-version-mrwakdlu' && curl --fail --show-error --location 'https://skills-guides.com/api/skills/release-a-new-version-mrwakdlu/download' --output '.skill-downloads/release-a-new-version-mrwakdlu/SKILL.md.part' && mv '.skill-downloads/release-a-new-version-mrwakdlu/SKILL.md.part' '.skill-downloads/release-a-new-version-mrwakdlu/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/release-a-new-version-mrwakdlu/SKILL.md' && test -s '.skill-downloads/release-a-new-version-mrwakdlu/SKILL.md' && mkdir -p '.claude/skills' && test ! -e '.claude/skills/release' && cp -R '.skill-downloads/release-a-new-version-mrwakdlu' '.claude/skills/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/release-a-new-version-mrwakdlu'openskills read 'release-a-new-version-mrwakdlu'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/release-a-new-version-mrwakdlu/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.