Synthèse automatique
Ce skill permet de gérer les paquets NuGet dans des projets .NET en utilisant l'interface en ligne de commande dotnet.
Points forts
- Utilise des commandes CLI fiables pour éviter les erreurs d'édition directe
- Workflow strict de vérification de version et restauration
- Support de la gestion centralisée des versions via Directory.Packages.props
- Instructions claires pour l'ajout, la suppression et la mise à jour de paquets
Limites
- Nécessite que .NET SDK et l'outil dotnet soient installés
- Ne gère pas les packages NuGet provenant de flux privés non configurés
- L'édition directe n'est autorisée que pour les mises à jour de version, ce qui peut être contraignant
Utilisez ce skill lorsque vous devez ajouter, supprimer ou mettre à jour des paquets NuGet dans un projet ou une solution .NET.
Ne l'utilisez pas pour des modifications de configuration non liées aux paquets ou si le projet n'utilise pas NuGet.
Analyse de sécurité
SûrThe skill uses standard dotnet CLI commands for package management, which are safe and common in .NET development. There are no destructive, network-exfiltrating, or safety-disabling instructions.
Aucun point d'attention détecté
Comment cette analyse est faiteExemples
Add Serilog to the WebApi projectUpdate Newtonsoft.Json to 13.0.3 in the whole solutionname: nuget-manager
description: 'Manage NuGet packages in .NET projects/solutions. Use this skill when adding, removing, or updating NuGet package versions. It enforces using dotnet CLI for package management and provides strict procedures for direct file edits only when updating versions.'
NuGet Manager
Overview
This skill ensures consistent and safe management of NuGet packages across .NET projects. It prioritizes using the dotnet CLI to maintain project integrity and enforces a strict verification and restoration workflow for version updates.
Prerequisites
- .NET SDK installed (typically .NET 8.0 SDK or later, or a version compatible with the target solution).
dotnetCLI available on yourPATH.jq(JSON processor) OR PowerShell (for version verification usingdotnet package search).
Core Rules
- NEVER directly edit
.csproj,.props, orDirectory.Packages.propsfiles to add or remove packages. Always usedotnet add packageanddotnet remove packagecommands. - DIRECT EDITING is ONLY permitted for changing versions of existing packages.
- VERSION UPDATES must follow the mandatory workflow:
- Verify the target version exists on NuGet.
- Determine if versions are managed per-project (
.csproj) or centrally (Directory.Packages.props). - Update the version string in the appropriate file.
- Immediately run
dotnet restoreto verify compatibility.
Workflows
Adding a Package
Use dotnet add [<PROJECT>] package <PACKAGE_NAME> [--version <VERSION>].
Example: dotnet add src/MyProject/MyProject.csproj package Newtonsoft.Json
Removing a Package
Use dotnet remove [<PROJECT>] package <PACKAGE_NAME>.
Example: dotnet remove src/MyProject/MyProject.csproj package Newtonsoft.Json
Updating Package Versions
When updating a version, follow these steps:
-
Verify Version Existence: Check if the version exists using the
dotnet package searchcommand with exact match and JSON formatting. Usingjq:dotnet package search <PACKAGE_NAME> --exact-match --format json | jq -e '.searchResult[].packages[] | select(.version == "<VERSION>")'Using PowerShell:(dotnet package search <PACKAGE_NAME> --exact-match --format json | ConvertFrom-Json).searchResult.packages | Where-Object { $_.version -eq "<VERSION>" } -
Determine Version Management:
- Search for
Directory.Packages.propsin the solution root. If present, versions should be managed there via<PackageVersion Include="Package.Name" Version="1.2.3" />. - If absent, check individual
.csprojfiles for<PackageReference Include="Package.Name" Version="1.2.3" />.
- Search for
-
Apply Changes: Modify the identified file with the new version string.
-
Verify Stability: Run
dotnet restoreon the project or solution. If errors occur, revert the change and investigate.
Examples
User: "Add Serilog to the WebApi project"
Action: Execute dotnet add src/WebApi/WebApi.csproj package Serilog.
User: "Update Newtonsoft.Json to 13.0.3 in the whole solution"
Action:
- Verify 13.0.3 exists:
dotnet package search Newtonsoft.Json --exact-match --format json(and parse output to confirm "13.0.3" is present). - Find where it's defined (e.g.,
Directory.Packages.props). - Edit the file to update the version.
- Run
dotnet restore.
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/nuget-manager-mrwak9sp/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/nuget-manager-mrwak9sp' && curl --fail --show-error --location 'https://skills-guides.com/api/skills/nuget-manager-mrwak9sp/download' --output '.skill-downloads/nuget-manager-mrwak9sp/SKILL.md.part' && mv '.skill-downloads/nuget-manager-mrwak9sp/SKILL.md.part' '.skill-downloads/nuget-manager-mrwak9sp/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.
Extrait original : Prerequisites
- .NET SDK installed (typically .NET 8.0 SDK or later, or a version compatible with the target solution).
dotnetCLI available on yourPATH.jq(JSON processor) OR PowerShell (for version verification usingdotnet package search).
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/nuget-manager-mrwak9sp/SKILL.md' && test -s '.skill-downloads/nuget-manager-mrwak9sp/SKILL.md' && mkdir -p '.claude/skills' && test ! -e '.claude/skills/nuget-manager' && cp -R '.skill-downloads/nuget-manager-mrwak9sp' '.claude/skills/nuget-manager'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/nuget-manager-mrwak9sp'openskills read 'nuget-manager-mrwak9sp'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/nuget-manager-mrwak9sp/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.
Bonnes pratiques React Hook Form
Developpement
Maîtrisez React Hook Form : évitez les anti-patterns, gérez les abonnements, et traitez correctement reset, dirty state et entrées contrôlées.
Migration Emotion vers Mantine
Developpement
Migrer les styled-components Emotion vers des composants Mantine avec style props et modules CSS. Pour convertir .styled.tsx ou supprimer les imports @emotion.
Détecteur de dérive de périmètre
Developpement
Analyse les diffs git par rapport à une intention pour détecter la dérive de périmètre, fichiers non liés et PR trop larges, puis suggère de garder, diviser ou justifier.