Audit d'expérience développeur

VérifiéPrudence

Audit de l'expérience développeur (DX/UX) d'une bibliothèque ou outil à travers CLI, API, service, et GitHub Action. Mesure et score les problèmes avec des vérifications et des correctifs.

Spar Skills Guide Bot
DeveloppementIntermédiaire
27/07/2026
Claude CodeCodex
#developer-experience#api-ergonomics#cli#audit#onboarding

Recommandé pour

Synthèse automatique

Audite l'expérience développeur (DX/UX) d'une bibliothèque ou d'un outil sur quatre surfaces — CLI, API programmable, service serveur et GitHub Action — et produit un rapport noté assorti d'un plan de remédiation.

Points forts

  • Détecte automatiquement les surfaces présentes dans le dépôt et permet de cibler l'audit avec /dx-audit cli|api|service|action.
  • Distingue explicitement le palier statique du palier « fixture » : les métriques exigeant une exécution réelle restent n/a au lieu d'être inventées.
  • Donne des consignes de sécurité pour les identifiants (testnet, variable d'environnement, jamais de clé écrite dans un livrable).
  • Rattache chaque constat à des preuves, un impact et un effort de correction estimé.

Limites

  • Le palier statique par défaut ne fournit aucune mesure réelle de TTFS, de temps de démarrage ou de taux de succès.
  • Le palier fixture demande des identifiants et du temps, souvent indisponibles lors d'un audit ponctuel.
  • Le corps du SKILL.md renvoie à des fichiers references/ qui doivent être chargés phase par phase.
Quand l'utiliser

À utiliser quand vous voulez évaluer objectivement l'onboarding, l'ergonomie d'API, la documentation et la gestion d'erreurs d'un paquet que vous maintenez.

Quand l'éviter

À ne pas utiliser pour une revue de code classique (correction de bugs, sécurité du code) ni pour auditer un dépôt dont vous n'êtes pas responsable.

Analyse de sécurité

Prudence
Score qualité85/100

The skill uses Bash, WebFetch, and credential handling for legitimate DX auditing purposes. However, the instructions involve executing code from third-party repositories and passing secrets on the command line, which warrants caution rather than a safe rating.

Points d'attention
  • •Uses Bash to execute arbitrary commands, including installing packages and running code from audited repositories, which can execute untrusted code.
  • •Instructs sourcing .env files and passing secrets as command-line arguments (e.g., --private-key "$PRIVATE_KEY_MAIN"), which may expose credentials in process listings or logs.
  • •Allows WebFetch to access external resources, potentially fetching remote content during the audit.
Comment cette analyse est faite

Exemples

Full repo audit
Run /dx-audit on this repository and give me a scored DX report with a prioritized remediation plan. State which tier you used.
CLI-only static pass
Audit only the CLI surface of this package — check --help, --version output, parse-error exit codes, and stdout/stderr separation. Static tier is fine, skip anything that needs credentials.
Fixture-tier API audit
Do a full fixture-tier audit of the library API: install the published tarball into a throwaway consumer project, then measure time to first success and example reliability.

name: dx-audit description: Audit developer experience (DX/UX) of a library or tool across four surfaces — CLI, programmatic library/API, server/service, and GitHub Action — using measurable checks, clean consumer fixtures, and remediation-oriented scoring. Use when asked to audit DX, usability, onboarding, docs, examples, error handling, API ergonomics, or automation surfaces of a package you maintain. allowed-tools: Bash, Read, Glob, Grep, Edit, Write, WebFetch metadata: short-description: Measurable DX/UX audit across CLI, API, service, and Action surfaces

DX Audit

Audit a repository for developer-facing DX/UX problems across up to four surfaces and produce a scored, evidence-backed remediation plan.

  1. CLI
  2. Programmatic library/API
  3. Server/service
  4. GitHub Action

Primary goals: minimize time to first success, minimize time to first output, cut cognitive load and task distance, improve machine discoverability, harden structured errors and observability — and report fixes with evidence, impact, and effort.

When to invoke

  • /dx-audit (no args) — auto-detect surfaces in the current repo and audit all detected ones.
  • /dx-audit cli|api|service|action [...] — audit only the named surfaces.
  • /dx-audit <repo-path> — audit a checkout elsewhere.
  • Any request to "audit DX", "review usability/onboarding", "check API ergonomics", "is this package easy to consume", etc.

If the user names a focus (e.g. "prioritize onboarding friction and machine-readable output"), weight findings toward it but still score every detected surface.

Audit tiers

Pick a tier up front and state it in the report — it determines which metrics are real vs n/a.

  • Static tier (default for a quick pass): docs + source + contract inspection, plus any cheap live probe that needs no credentials or network mutation (--help, --version, parse-error exit codes, stream separation, tsc on examples). Do not populate metrics that require a run — TTFS, task success rate, error rate, startup time stay n/a. Don't print an n/a-riddled metrics table pretending to be a fixture run.
  • Fixture tier (when credentials + time allow, or the user asks): everything in static, plus clean-room runs that produce real TTFS / TTFO / success-rate / example-reliability numbers — install the published tarball into a throwaway consumer, start the server and hit it, run the action via act or a real workflow.

Default to static unless the user says "full audit" or supplies credentials. Always name the tier in the report summary.

Credentials for the fixture tier

Many real audits need a funded test identity. Before declaring a check un-runnable, look for one:

  • Check the repo for a .env / .env.example / test-fixture key, and prefer a testnet (e.g. Filecoin calibration, Sepolia, a sandbox tenant) so runs cost nothing and mutate nothing real.
  • Pass the secret explicitly rather than relying on ambient state, e.g. source .env && filecoin-pin add file.txt --private-key "$PRIVATE_KEY_MAIN" --network calibration.
  • Never commit, echo, or write a private key into an artifact. Reference it by env-var name only in evidence.
  • If no safe credential exists, stay in the static tier for that check and mark its run-dependent metrics n/a with a one-line reason.

Workflow

Run these phases in order. Detail for each lives in references/ — load the relevant file when you reach that phase.

1. Inventory — classify surfaces

Detect which surfaces exist. Signals:

| Surface | Detect via | |---|---| | CLI | bin field in package.json, shebang entrypoints, commander/yargs/oclif/clap/cobra deps, cmd/ dirs | | library/API | published package (package.json/pyproject.toml/Cargo.toml/go.mod), exported entry points, exports map, .d.ts | | server/service | openapi.*, .proto, GraphQL schema, server entry (listen(, framework deps), Dockerfile, docker-compose | | GitHub Action | action.yml/action.yaml, .github/workflows |

Mark each surface present / absent / uncertain. Derive the top 3–5 representative user tasks per present surface from README, docs, examples, and metadata. List assumptions explicitly.

2. Prepare fixtures

Test the published artifact, not the monorepo source — DX bugs hide in the gap between them.

  • Library/API: npm pack (or equivalent) → install the tarball into a fresh throwaway consumer project → run the documented quickstart there.
  • CLI: invoke the built/installed binary, not src/.
  • Service: start via the documented command or docker compose; or connect to a provided base URL.
  • Action: build a minimal fixture workflow.
  • Always create negative-path fixtures too (invalid input, auth failure, transient failure/retry).
  • Record exact commands, env vars, and timestamps as you go — they become the evidence trail.

See references/harness.md for ready-to-adapt command sequences.

3. Audit each detected surface

Walk the checklist for each present surface in references/checklists.md. For every check, capture: pass/fail, the evidence (command + output excerpt), and a 0/1/3/5 score. Measure the metrics defined in references/metrics-and-scoring.md (TTFS, TTFO, success rate, error rate, example reliability, discoverability, intervention rate).

Golden-path checks confirm the documented happy path works from a clean state. Negative-path checks confirm failures are understandable, structured, and safe.

4. Score

  • Score each check 0/1/3/5 — those are the only legal values (see rubric in references/metrics-and-scoring.md). There is no 2 or 4; round to the nearest of 1 (partial) or 3 (acceptable).
  • Use na for a check that is genuinely absent or explicitly out of the maintainer's declared scope — an na check is excluded and its weight renormalized away, so scoped-out work is never penalized. A whole absent surface is na too. Guard against na-washing: only mark na when the repo states the limit (e.g. "this Action targets Calibration only", "Node-only library"). A gap the maintainer wants but hasn't built is a low score, not na.
  • Don't eyeball the rollup. Write the per-check scores into a checks.json and run the scorer:
    node <skill>/scripts/score.mjs checks.json --out "$OUT_DIR/scorecard.json"
    
    It computes category → surface → overall deterministically with the documented weights and the na renormalization. Input shape and category keys are documented at the top of score.mjs and in references/metrics-and-scoring.md.
  • Attach evidence to every check scoring below 5.

5. Report

Write artifacts outside the audited repo so the audit never pollutes the target's working tree. Default OUT_DIR to a temp dir keyed by repo name, e.g. OUT_DIR="${TMPDIR:-/tmp}/dx-audit/<repo-name>"; mkdir -p it and report the path. Only write inside the repo if the user explicitly asks (and then under a path their .gitignore already covers).

Produce the artifacts below using the templates in references/report-template.md:

  • $OUT_DIR/report.md — human-readable: summary (incl. audit tier), top findings, scorecard, per-surface detail, quick wins, high-impact fixes.
  • $OUT_DIR/scorecard.json — machine-readable scores + metrics + findings (produced by scripts/score.mjs; schema in references/metrics-and-scoring.md).
  • $OUT_DIR/remediation-plan.md — prioritized fixes.
  • $OUT_DIR/checks.json — the per-check scores fed to the scorer (keep as the audit's reproducible input).

Each finding below score 3 must: explain the broken user journey, cite exact evidence, propose the smallest viable fix first then a hardening follow-up, and estimate impact (high/medium/low) and effort (small/medium/large). Prefer fixes that improve multiple surfaces at once.

Remediation priority order:

  1. Unblock first success.
  2. Make failures understandable.
  3. Make automation safe and machine-readable.
  4. Reduce task distance and doc gaps.
  5. Improve observability and advanced scenarios.

Reference files

  • references/checklists.md — the prioritized P0/P1/P2 check tables for all four surfaces, with pass / excellent / failure criteria.
  • references/metrics-and-scoring.md — metric definitions and targets, the discoverability formula, the 0/1/3/5 rubric, surface/category weights, score interpretation bands, and the scorecard.json schema.
  • references/report-template.md — report skeleton plus a filled example, and per-surface test-case templates.
  • references/harness.md — copy-adapt command harness for fixtures and a CI rollout pattern (fail on regression, not legacy debt).
  • scripts/score.mjs — deterministic scorer: reads a checks.json of per-check 0/1/3/5/na scores, emits scorecard.json (category → surface → overall) with na renormalization. Run with node, no dependencies.

Notes on thresholds

Numeric targets (TTFS budgets, ≥80% structured-output coverage, etc.) are recommended operational defaults synthesized from DevEx/API-usability literature and official CLI/HTTP/Action guidance — not universal law. If the repo documents a different support matrix, latency budget, or ergonomics tradeoff, honor that instead and note the deviation. For async protocols (WebSocket, MQTT, message queues), extend the server/service checklist with protocol-specific checks rather than forcing the HTTP rubric.

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 annexes

Ce 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.md

Depuis la racine d’un projet de test, enregistrez le fichier sous .skill-downloads/dx-audit-ms2s7c2o/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/dx-audit-ms2s7c2o' && curl --fail --show-error --location 'https://skills-guides.com/api/skills/dx-audit-ms2s7c2o/download' --output '.skill-downloads/dx-audit-ms2s7c2o/SKILL.md.part' && mv '.skill-downloads/dx-audit-ms2s7c2o/SKILL.md.part' '.skill-downloads/dx-audit-ms2s7c2o/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) : Bash, Read, Glob, Grep, Edit, Write, WebFetch

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/dx-audit-ms2s7c2o/SKILL.md' && test -s '.skill-downloads/dx-audit-ms2s7c2o/SKILL.md' && mkdir -p '.claude/skills' && test ! -e '.claude/skills/dx-audit' && cp -R '.skill-downloads/dx-audit-ms2s7c2o' '.claude/skills/dx-audit'

Codex
test -f '.skill-downloads/dx-audit-ms2s7c2o/SKILL.md' && test -s '.skill-downloads/dx-audit-ms2s7c2o/SKILL.md' && mkdir -p '.agents/skills' && test ! -e '.agents/skills/dx-audit' && cp -R '.skill-downloads/dx-audit-ms2s7c2o' '.agents/skills/dx-audit'

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’OpenSkills
openskills install './.skill-downloads/dx-audit-ms2s7c2o'

openskills read 'dx-audit-ms2s7c2o'

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 sync

Mode 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/dx-audit-ms2s7c2o/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.

Skills similaires