getedgehq/harness-first

Diagnostiquez et corrigez un agent LLM peu fiable, coûteux ou dangereux en auditant son harnais (ensemble de référence, juge, limites de coût, couche de données, approbations d'actions, traçage) avant de blâmer ou d'échanger le modèle. À utiliser quand quelqu'un dit qu'un agent « brûle des tokens », « hallucine », est « cassant », donne des réponses incohérentes, se demande s'il faut passer à un modèle moins cher/meilleur, ou veut déployer un agent ou un changement de prompt auprès des utilisateurs.

Qu'est-ce que harness-first ?

Cette compétence guide le débogage systématique d'un agent LLM en se concentrant sur son infrastructure (harnais) plutôt que sur le modèle lui-même. Elle part du principe que la plupart des problèmes perçus comme des défauts de modèle (hallucinations, coût excessif, réponses incohérentes) sont en réalité causés par l'absence d'un harnais robuste : pas d'ensemble de référence, pas de juge, pas de limites de coût, pas de dictionnaire de données, pas d'approbation des actions, pas de traçage. La compétence propose une procédure en cinq étapes : reproduire le symptôme avec des preuves, noter les six composants du harnais, décider avant de construire (jamais changer de modèle sans évaluation), construire le harnais minimum dans un ordre priorisé, et produire un rapport structuré. Elle s'applique à tout agent LLM, qu'il soit construit avec Claude Code, Cursor, Codex, ou tout autre framework. L'utilisateur n'a pas besoin d'installer de plugin ; il suffit de suivre la méthode décrite dans le SKILL.md pour auditer et renforcer son agent.

Compatible avec~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/getedgehq/skills/tree/main/harness-first

Installed? Explore more Recherche et analyse de données skills: affaan-m/uspto-database, affaan-m/scholar-evaluation, affaan-m/literature-review · View all 6 →

Demander à votre IA préférée

Ouvre une nouvelle conversation avec cette compétence d'agent déjà préchargée.

Documentation

Harnais d'abord

Un modèle est un moteur. La plupart des « problèmes de modèle » sont dus à un harnais manquant : rien ne définit une sortie correcte, rien ne vérifie les changements, rien ne limite les dépenses, les données n'ont pas de définitions convenues, les actions n'ont pas d'approbation, et il n'y a pas de traces pour trouver l'appel défaillant. Auditez cela avant de toucher au modèle.

1. Reproduire le symptôme à partir de preuves, pas d'impressions

  • Lisez le code de l'agent que le symptôme touche : la boucle, les définitions d'outils, l'assemblage du prompt, l'accès aux données, les outils avec effets de bord.
  • Lisez les journaux/traces/transcriptions qui existent. Agrégéz-les (par conversation, par outil, par erreur) : qui dépense les tokens, quels appels échouent, quelles réponses sont erronées. Quelques valeurs aberrantes dominent généralement.
  • Énoncez la cause racine comme un mécanisme avec des preuves (fichier:ligne, identifiants de journal, chiffres que vous avez calculés). « Le modèle est mauvais » n'est pas un mécanisme.

Mécanismes courants :

  • Brûlure de tokens : boucle sans nombre maximal d'itérations, nouvelle tentative sur une erreur déterministe, historique complet ou résultat d'outil volumineux renvoyé à chaque tour, absence de mise en cache du contexte stable.
  • « Hallucination » : l'agent a fidèlement utilisé une source ambiguë ou erronée (deux tables/champs avec le même nom et une signification différente, documentation obsolète). Recalculez les deux nombres vous-même pour le prouver.
  • Fragilité : modifications de prompt déployées sans ensemble de régression ; comportement que seul l'auteur a vérifié manuellement.

2. Noter les six parties du harnais

Pour chacune, indiquez présent / partiel / manquant avec les preuves que vous avez trouvées :

PartiePrésent signifie
Ensemble de référence~20+ cas avec réponses/contraintes attendues, tirés du trafic réel, des incidents et des cas limites
Jugevérifications déterministes d'abord (nombres, règles de politique, contenu interdit), grille LLM uniquement pour ce que le code ne peut pas vérifier ; s'exécute sur chaque changement de prompt/modèle/outil
Gouvernance des coûtslimites dures de tokens/coûts par utilisateur et par workflow, nombre maximal d'itérations par exécution, arrêt gracieux avec un message
Couche de donnéesidentifiants en lecture seule pour les lectures, un dictionnaire de données qui définit chaque métrique/champ que l'agent peut utiliser
Sécurité des actionsles actions irréversibles ou externes (envoyer, payer, supprimer, écrire, rembourser) sont réversibles ou verrouillées par une approbation humaine
Traçagechaque appel de modèle et d'outil journalisé avec identifiant de conversation, workflow, entrée, sortie, tokens, coût, latence, erreur

3. Décider avant de construire

  • Ne recommandez jamais un changement de modèle sans preuve d'évaluation. Si quelqu'un demande « devrait-on changer de modèle ? », la réponse est : corrigez le mécanisme, puis exécutez l'ensemble de référence sur les deux modèles et comparez la qualité et le coût. Dites ce que la correction seule est censée économiser, avec vos chiffres.
  • N'approuvez jamais le déploiement d'un changement de prompt/agent sans une exécution sur l'ensemble de référence. Si des sorties enregistrées existent, notez-les par rapport aux réponses attendues vous-même et signalez les échecs par identifiant de cas.
  • Les lacunes de sécurité (effets de bord non verrouillés, accès en écriture sur un chemin de lecture, fuite de données internes) sont bloquantes, même lorsque personne ne les a demandées.

4. Construire le harnais minimum, dans cet ordre

  1. Arrêter l'hémorragie : nombre maximal d'itérations, pas de nouvelle tentative sur les erreurs non transitoires, tronquer/résumer les sorties d'outils volumineuses, limite de coût dure par exécution.
  2. Verrouiller les effets de bord : étape d'approbation ou mode brouillon pour les outils irréversibles ; connexion en lecture seule pour les outils de requête.
  3. Fichier d'ensemble de référence (evals/golden.jsonl ou similaire) : entrée, réponse attendue ou contraintes, source (identifiant de journal / incident / clause de politique). Incluez les cas qui viennent d'échouer.
  4. Script de juge qui exécute l'ensemble de référence et affiche réussite/échec par cas plus les totaux. Vérifications déterministes avant la notation LLM.
  5. Dictionnaire de données pour chaque métrique que l'agent rapporte (définition, table/champ source, exclusions).
  6. Champs de traçage listés ci-dessus, s'ils manquent.

Écrivez de vrais fichiers, pas une description de fichiers. Exécutez ce qui peut être exécuté et rapportez le résultat.

5. Rapport

  • Réponse en une ligne à la question réellement posée (par ex. « Ne changez pas encore de modèle : 3 exécutions bloquées dans une boucle de nouvelle tentative ont dépensé 71 % des tokens »).
  • Cause racine avec preuves et chiffres.
  • Tableau de bord du harnais (les six parties).
  • Ce que vous avez modifié ou créé, et ce que vous avez exécuté.
  • Risques bloquants, puis une courte liste d'étapes suivantes priorisées.

Crédit

La méthode suivie par cette compétence provient d'un article public de Mark Ajzenstadt (@mardehaym) : https://x.com/mardehaym/status/2099562230647804152. L'argument est le leur ; la procédure, le libellé et l'évaluation ici sont propres à Edge, et l'auteur ne les a pas révisés.

Individual skills in this repo

This repo contains 18 individual skills — each has its own dedicated page.

getedgehq/agent-evals

Build evals for an AI agent that already does real work. Use when someone asks "how do I know my agent is right", wants to test an agent before trusting it, compare models on cost versus quality, or turn production failures into tests. Walks from first tasks and yes/no verifiers, to isolated environments, to a trace-driven improvement loop.

getedgehq/cli-ux-review

Audit a command-line tool for user-friendliness — clear situation / next-step / options in every output, colour-highlighted runnable commands, no raw jargon, no silent hangs. Invoke for "CLI UX audit", "review my CLI", "is this CLI intuitive", or before any CLI release.

getedgehq/generate-image

Generate images with OpenAI GPT Image 2 via the Codex CLI, billed through the user's ChatGPT Plus subscription (no OpenAI API key, no per-image API cost). Use when the user asks to create, generate, or make an image, picture, illustration, icon, hero graphic, or concept art from a text prompt.

getedgehq/http-error-triage

Run before concluding anything from an HTTP error on a third-party API. Separates a real credential/entitlement problem from a CDN or WAF block, a wrong endpoint, or a client-signature ban. Use whenever an API returns 401/403/402/429 and you are about to say "the key is dead", "credits are exhausted", "the plan lacks access", or "we are rate limited".

getedgehq/linkedin-media-prep

Convert, crop, resize, and compress images and videos for optimal LinkedIn upload quality and file size. Use when the user wants to prepare a photo, image, or video for LinkedIn (profile picture, cover photo, post image, article featured image, post video, or video ad), optimize file size for LinkedIn, crop and resize for LinkedIn dimensions, convert HEIC/RAW/PNG/MOV to LinkedIn-ready JPEG or MP4, or mentions LinkedIn media requirements, specs, or limits.

getedgehq/monid

>-

getedgehq/opendraft

An 18-agent pipeline that turns one topic line into a drafted

getedgehq/people-search

Find and rank professional people for recruiting, partnerships, sales, or research from user-provided data, public web sources, an authenticated search session, or a connected provider. Use for people discovery, LinkedIn or Sales Navigator search design, profile-list ranking, or provider filter translation.

getedgehq/rocketlist

Turn a CV into a shortlist of live startup roles from Rocketlist's public job board, including adjacent job titles the person would never have searched for, each with its published salary, the evidence for the fit, and a direct apply link. Use for "find roles I would be a strong fit for", career pivots, remote or VC-backed job hunts, and salary-visible role discovery.

getedgehq/security-audit-checklist

Run a comprehensive security audit across application code, cloud infrastructure, containers, CI/CD pipelines, and infrastructure-as-code. Covers privacy compliance, OWASP basics, secret leakage, API security, IAM misconfigurations, storage exposure, Kubernetes hardening, and network security. Use when the user asks to audit, review, or harden app or cloud security, check for secrets, scan for XSS/SQLi, verify security headers, review Terraform/CloudFormation, audit AWS/GCP/Azure configs, or perform any security-focused review.

getedgehq/shadcn-first

>-

getedgehq/skills

Develop or review a branded long-form YouTube channel using Simon Kaiser's public creator-led approach: audience fit, recurring formats, natural brand integration, Time with Brand, and an organic, paid, and Shorts strategy. Use for channel strategy, format briefs, and pilots.

getedgehq/skills

Build a YouTube strategy, evidence-backed idea slate, and title plus thumbnail package using Paddy Galloway's public method. Use when planning a channel, choosing concepts, or preparing a video before filming.

getedgehq/skills

Build or review a buyer-centered strategic narrative using Andy Raskin's public method. Use for sales or investor deck stories, homepage positioning, keynotes, launch narratives, and why-now messaging.

getedgehq/skills

Turn a product URL, launch brief, or approved script into a production-ready launch video. Use for product reveals, feature announcements, SaaS launches, and narrated product films; not for generic explainers or editing existing footage.

getedgehq/strip-image-ai-metadata

Strip C2PA and AI-generation metadata from images (PNG, JPEG, WebP) to remove "Generated by AI" / "ChatGPT" / "DALL-E" labels that platforms like LinkedIn, Instagram, and X display. Use when the user wants to clean AI-generated images before posting, remove AI attribution from photos, strip C2PA manifests, sanitize image metadata for professional use, or verify whether an image contains C2PA data.

getedgehq/top-down-comms

>-

getedgehq/workplan

Create, update, or close work plans for multi-step tasks. Use when starting refactors, bug lists, feature work, migrations, or any task with 2+ steps. Also use after auto-compaction to re-orient. Triggers: "workplan", "work plan", "create a plan", "what's the plan", "where was I", or when Claude detects

Skills associés