Agent CLI

Convertit les CLI Python en NDJSON --json consommables par les agents avec une bibliothèque d'aide partagée

par glebis · glebis/claude-skills

Testé · Fonctionne ★ 9.2/10

Agent CLI — Convertit les CLI Python en NDJSON --json consommables par les agents avec une bibliothèque d'aide partagée

Ce que fait

Ajoute un mode de sortie NDJSON --json convivial pour les agents aux scripts CLI Python, convertissant les instructions print en événements JSON structurés et horodatés derrière un seul drapeau de mode, ou échafaude un package cli_utils distribuable avec des tests et CI. Se déclenche lorsque l'utilisateur souhaite une sortie CLI lisible par machine pour les agents IA, demande d'ajouter un drapeau --json, mentionne NDJSON ou une sortie CLI structurée, ou souhaite créer une bibliothèque d'aide CLI. Fournit une implémentation de référence cli_utils.py, des modèles de conversion étape par étape et une liste de contrôle de complétion.

Rapport de test

SKILL.md et les deux fichiers référencés (best-practices.md et evals.json) ont été récupérés (HTTP 200). J'ai écrit une CLI argparse uniquement humaine, puis produit une conversion BASELINE (json.dumps inline naïf avec des clés ad-hoc, pas d'horodatage, un paramètre as_json passé à chaque fonction) et une conversion SKILL (copié cli_utils.py de référence tel quel et appliqué les modèles des étapes 1 à 4). Les deux ont fonctionné. Différence concrète : la sortie de la skill émet une enveloppe uniforme {"event","ts",...} sur chaque ligne avec des horodatages ISO et un {"event":"error"} correct sur le chemin d'erreur plus exit 1, tandis que les lignes de base ont des formes incohérentes ("status"/"attempt"/"error") et pas d'horodatage ; j'ai confirmé que chaque ligne JSON de la skill est parsable en NDJSON, que le mode humain est automatiquement préservé via le drapeau global, et que --json apparaît dans --help. J'ai également exécuté les assertions pytest fournies par la skill pour json_log et die contre cli_utils.py — les deux ont réussi. Pas de failles de sécurité (pas de curl|sh, base64 ou eval).

Testé le: 2026-07-31 · Claude Code 2.x (agent harness)

Installation

git clone --depth 1 https://github.com/glebis/claude-skills.git /tmp/agent-cli-src
mkdir -p ~/.claude/skills
cp -R /tmp/agent-cli-src/agent-cli ~/.claude/skills/agent-cli
# SKILL.md is self-contained Python; no external deps to install.
# References bundled: references/best-practices.md, evals/evals.json
# Package-scaffold mode (Mode B) generates a project that needs pytest>=8 to run its test suite.

Commandes et exemples de prompts

  • /agent-cliConvertit les CLI Python en NDJSON --json consommables par les agents avec une bibliothèque d'aide partagée

Les skills se déclenchent sur des demandes en langage courant — aucune commande à retenir. Après installation, des prompts comme ceux-ci l'activent (en anglais) :

  • Add a --json flag to this Python script
  • Convert these print statements to structured JSON
  • Scaffold a cli_utils package for this project