Synthèse automatique
Ce skill guide la création de scripts Python autonomes en un seul fichier, exécutés via le shebang uv avec métadonnées inline PEP 723 pour déclarer les dépendances.
Points forts
- Fournit un template complet avec shebang uv, bloc PEP 723 et point d'entrée main() retournant un code de sortie
- Explique la déclaration des dépendances et de la version Python minimale directement dans le fichier
- Couvre les bonnes pratiques : erreurs sur stderr, argparse ou typer, type hints modernes
- Précise les conventions de placement de fichiers pour un dépôt dotfiles avec chezmoi
Limites
- Suppose que uv est installé et disponible dans le PATH, sans décrire l'installation
- Ne traite pas de la gestion de projets multi-fichiers ni des environnements virtuels classiques
- La section sur le placement des fichiers est spécifique à chezmoi et peu généralisable
À utiliser lorsqu'on crée un outil ou script Python jetable ou distribué en un seul fichier qui doit gérer ses propres dépendances sans projet complet.
À éviter si le code fait partie d'un projet Python existant avec pyproject.toml et venv, ou si l'utilisateur demande explicitement une intégration au projet.
Analyse de sécurité
SûrThe skill only provides guidance and templates for writing standalone Python scripts with uv/PEP 723 metadata. Declared tools are limited to Read, Write, and Glob, with no destructive commands, credential access, network exfiltration, obfuscation, or safety-disabling instructions.
Aucun point d'attention détecté
Comment cette analyse est faiteExemples
Create a single-file Python script that fetches a URL and pretty-prints the JSON, using uv shebang and PEP 723 inline metadata for requests and rich.Write a standalone Python CLI tool that converts CSV files to JSON, using uv run --script with inline dependencies including typer.Create a one-file Python utility for my dotfiles repo and place it as dot_scripts/executable_<name> so chezmoi manages it.name: uv-script description: Create standalone Python scripts using uv shebang with PEP 723 inline metadata. Use when creating single-file Python tools or scripts that need dependency management without a full project setup. allowed-tools: Read, Write, Glob
uv Shebang Python Script
Pythonで単体スクリプトを作成する際に使用するスキル。
発火条件
- Pythonで単体スクリプト(単一ファイルで完結するツール)を作成するとき
- 発火させたくない場合はユーザーが明示的に伝える(例:「プロジェクトのvenv使うのでuv単体スクリプトにしないで」)
テンプレート
#!/usr/bin/env -S uv run --script
# /// script
# requires-python = ">=3.11"
# dependencies = []
# ///
"""スクリプトの説明."""
import argparse
import sys
def main() -> int:
parser = argparse.ArgumentParser(description="スクリプトの説明")
parser.add_argument("arg", help="引数の説明")
args = parser.parse_args()
# メイン処理
return 0
if __name__ == "__main__":
sys.exit(main())
構成要素
シェバン
#!/usr/bin/env -S uv run --script
-S オプションで複数引数を渡す。これによりuvが依存関係を自動解決して実行する。
PEP 723 インラインメタデータ
# /// script
# requires-python = ">=3.11"
# dependencies = [
# "requests>=2.28",
# "rich",
# ]
# ///
- TOMLコメント形式で依存関係を宣言
requires-python: 最小Pythonバージョン(3.11以上推奨)dependencies: pipの要件指定形式で依存パッケージを列挙
エントリーポイント
def main() -> int:
# 処理
return 0 # 終了コード
if __name__ == "__main__":
sys.exit(main())
main()は終了コードを返す(成功: 0、失敗: 1)sys.exit()で終了コードを伝播
ベストプラクティス
エラー出力
print("Error: something went wrong", file=sys.stderr)
return 1
エラーメッセージは標準エラー出力へ。
引数処理
シンプルな場合は argparse、複雑なCLIは typer を依存に追加:
# dependencies = ["typer"]
型ヒント
Python 3.11+の型ヒント構文を使用:
def process(items: list[str]) -> dict[str, int]:
...
ファイル配置
dotfilesリポジトリの場合:
dot_scripts/executable_<name>として配置- chezmoi適用後
~/.scripts/<name>として利用可能
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/standalone-python-scripts-with-uv-mrx3xxh6/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/standalone-python-scripts-with-uv-mrx3xxh6' && curl --fail --show-error --location 'https://skills-guides.com/api/skills/standalone-python-scripts-with-uv-mrx3xxh6/download' --output '.skill-downloads/standalone-python-scripts-with-uv-mrx3xxh6/SKILL.md.part' && mv '.skill-downloads/standalone-python-scripts-with-uv-mrx3xxh6/SKILL.md.part' '.skill-downloads/standalone-python-scripts-with-uv-mrx3xxh6/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.
Outils déclarés par l’auteur (à vérifier dans votre agent) : Read, Write, Glob
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/standalone-python-scripts-with-uv-mrx3xxh6/SKILL.md' && test -s '.skill-downloads/standalone-python-scripts-with-uv-mrx3xxh6/SKILL.md' && mkdir -p '.claude/skills' && test ! -e '.claude/skills/uv-script' && cp -R '.skill-downloads/standalone-python-scripts-with-uv-mrx3xxh6' '.claude/skills/uv-script'Cursor
test -f '.skill-downloads/standalone-python-scripts-with-uv-mrx3xxh6/SKILL.md' && test -s '.skill-downloads/standalone-python-scripts-with-uv-mrx3xxh6/SKILL.md' && mkdir -p '.cursor/skills' && test ! -e '.cursor/skills/uv-script' && cp -R '.skill-downloads/standalone-python-scripts-with-uv-mrx3xxh6' '.cursor/skills/uv-script'Codex
test -f '.skill-downloads/standalone-python-scripts-with-uv-mrx3xxh6/SKILL.md' && test -s '.skill-downloads/standalone-python-scripts-with-uv-mrx3xxh6/SKILL.md' && mkdir -p '.agents/skills' && test ! -e '.agents/skills/uv-script' && cp -R '.skill-downloads/standalone-python-scripts-with-uv-mrx3xxh6' '.agents/skills/uv-script'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/standalone-python-scripts-with-uv-mrx3xxh6'openskills read 'standalone-python-scripts-with-uv-mrx3xxh6'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/standalone-python-scripts-with-uv-mrx3xxh6/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.