Agent CLI

Converte le CLI Python in NDJSON --json consumabili dall'agente con una libreria di supporto condivisa

di glebis · glebis/claude-skills

Promosso ★ 9.2/10

Agent CLI — Converte le CLI Python in NDJSON --json consumabili dall'agente con una libreria di supporto condivisa

Cosa fa

Aggiunge una modalità di output NDJSON --json user-friendly per l'agente agli script CLI Python, convertendo le istruzioni print in eventi JSON strutturati e con timestamp dietro un singolo flag di modalità, oppure imposta un pacchetto cli_utils distribuibile con test e CI. Si attiva quando l'utente desidera un output CLI leggibile dalla macchina per gli agenti AI, chiede di aggiungere un flag --json, menziona NDJSON o output CLI strutturato, o vuole costruire una libreria di supporto CLI. Fornisce un'implementazione di riferimento cli_utils.py, modelli di conversione passo-passo e una checklist di completamento.

Rapporto di test

Recuperato SKILL.md ed entrambi i file di riferimento (best-practices.md ed evals.json entrambi HTTP 200). Ho scritto una CLI argparse solo umana, quindi ho prodotto una conversione BASELINE (json.dumps ingenuo in linea con chiavi ad hoc, senza timestamp, un parametro as_json passato attraverso ogni funzione) e una conversione SKILL (copiato cli_utils.py di riferimento alla lettera e applicato i modelli dei Passi 1-4). Entrambi sono stati eseguiti. Differenza concreta: l'output della skill emette un envelope uniforme {"event","ts",...} su ogni riga con timestamp ISO e un {"event":"error"} appropriato sul percorso di errore più exit 1, mentre le righe baseline presentano forme incoerenti ("status"/"attempt"/"error") e nessun timestamp; ho confermato che ogni riga JSON della skill viene parsata come NDJSON, la modalità umana è auto-preservata tramite il flag globale e --json appare in --help. Ho anche eseguito le asserzioni pytest fornite dalla skill per json_log e die contro cli_utils.py — entrambe sono passate. Nessun problema di sicurezza (no curl|sh, base64 o eval).

Testato il: 2026-07-31 · Claude Code 2.x (agent harness)

Installazione

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.

Comandi e prompt di esempio

  • /agent-cliConverte le CLI Python in NDJSON --json consumabili dall'agente con una libreria di supporto condivisa

Gli skill si attivano con richieste in linguaggio naturale, senza comandi da ricordare. Dopo l'installazione, prompt come questi lo attivano (in inglese):

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