Communitygithub.com

delivery-gate

Crochet d'arrêt qui empêche Claude de terminer tant que les contrôles qualité ne sont pas passés. Détecte les schémas de rationalisation (heuristiques textuelles de surface), les journaux d'apprentissage obsolètes (mtime du système de fichiers) et l'espace disque insuffisant. Complète l'auto-évaluation en imposant mécaniquement les habitudes de capture d'apprentissage. À utiliser lorsque Claude doit être mécaniquement empêché de déclarer le travail terminé avant que les contrôles qualité et la capture d'apprentissage ne soient réellement effectués.

Qu'est-ce que delivery-gate ?

Delivery-gate est un crochet d'arrêt pour Claude Code qui agit comme une passerelle de qualité mécanique et déterministe. Il empêche Claude de déclarer une session terminée tant que trois conditions ne sont pas remplies : la détection de schémas de rationalisation (avertissement seulement), la mise à jour des bibliothèques d'apprentissage (blocage si au moins 3 sont obsolètes ou si le journal de croissance est obsolète lors d'une tâche complexe), et le niveau d'espace disque (blocage en dessous de 15 Go, avertissement en dessous de 50 Go). L'outil utilise exclusivement des vérifications déterministes — expressions régulières, horodatages de fichiers et espace disque — sans aucune inférence IA. Il est conçu pour contraster avec les passerelles de raisonnement comme self-audit : delivery-gate vérifie des faits vérifiables par machine, tandis que self-audit examine la qualité du contenu. Cette approche s'inspire des pipelines CI, où des contrôles automatisés remplacent la confiance dans les auto-déclarations. Il nécessite Python 3.8+, ne dépend d'aucune bibliothèque externe et est compatible avec Windows, macOS et Linux.

Compatible avec✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/affaan-m/ECC/tree/main/skills/delivery-gate

Demander à votre IA préférée

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

Documentation

Delivery Gate — Passerelle Qualité Mécanique pour Claude Code

Un crochet d'arrêt qui vérifie trois choses avant que Claude puisse terminer une session, en utilisant uniquement des vérifications déterministes — horodatages de modification de fichiers, utilisation du disque et motifs regex sur le texte de la transcription. Aucune inférence IA.

Ceci est distinct des passerelles de raisonnement (comme self-audit) : delivery-gate vérifie des faits vérifiables par machine ; self-audit vérifie la qualité de la sortie sur quatre dimensions de raisonnement. Ensemble, ils forment une défense en profondeur :

  • delivery-gate : « La bibliothèque d'apprentissage a-t-elle été touchée aujourd'hui ? L'espace disque est-il sûr ? »
  • self-audit : « Le contenu du fichier est-il correct, complet et honnête ? »

Ceci est le même modèle que les passerelles de pipeline CI — des vérifications automatisées et déterministes qui vérifient des faits lisibles par machine plutôt que de faire confiance à un état autodéclaré.

Ce qu'il vérifie

VérificationMécanismeEn cas de succès
Schémas de rationalisationRegex sur la fin de la transcriptionAvertissement uniquement (ne bloque jamais)
Bibliothèques d'apprentissage obsolètesmtime sur 5 chemins configurablesAvertissement si certaines sont obsolètes ; Blocage si >=3 obsolètes OU journal de croissance obsolète + tâche complexe
Espace disque < 50 Goshutil.disk_usageAvertissement
Espace disque < 15 Goshutil.disk_usageBlocage (exit 2)

La détection de rationalisation avertit pour des motifs comme « ignorer les tests pour l'instant » et « bogue préexistant » — des signaux de surface que la réflexion a peut-être été écourtée. Elle ne bloque jamais seule, car les heuristiques regex peuvent produire des faux positifs. Les conditions de blocage sont : disque critique, >=3 bibliothèques d'apprentissage obsolètes, OU journal de croissance spécifiquement obsolète (toutes nécessitent une tâche complexe >=3 modifications).

Pourquoi

Les vérifications intégrées de Claude Code couvrent la qualité du code (construction → typage → lint → test). Mais il existe un mode de défaillance différent : l'agent produit du code fonctionnel alors que l'hygiène de session a été négligée — apprentissage non capturé, raccourcis rationalisés, disque se remplissant silencieusement.

Au fil de nombreuses sessions de « livrer et oublier », l'humain n'a pas progressé. Ce crochet impose l'habitude : tâche complexe → doit toucher aux bibliothèques d'apprentissage.

Installation

cp quality-gate.py ~/.claude/scripts/

Ajoutez à ~/.claude/settings.json :

{
  "hooks": {
    "Stop": [{
      "hooks": [{
        "type": "command",
        "command": "python3 ~/.claude/scripts/quality-gate.py",
        "timeout": 5000
      }]
    }]
  }
}

Bibliothèques d'apprentissage

Créez ces fichiers dans le répertoire mémoire de votre projet. Le crochet vérifie si au moins un a été mis à jour aujourd'hui :

memory/
├── growth-log/          # Entrées d'apprentissage quotidiennes (répertoire)
├── decisions/log.md     # Journal des décisions
├── output-index.md      # Index des sorties de session
├── ratings-tracker.md   # Suivi des évaluations de compétences au fil du temps
└── tooling_capabilities.md  # Inventaire des outils connus

Personnalisez le dictionnaire LIBS pour correspondre à votre propre structure de fichiers.

Configuration

Modifiez quality-gate.py :

VariableValeur par défautObjectif
RATIONALIZE4 motifsMotifs regex pour la détection de rationalisation
LIBS5 bibliothèquesFichiers/répertoires à vérifier pour les mises à jour d'aujourd'hui
COMPLEX_THRESHOLD3Appels Edit/Write pour classer comme complexe
DISK_WARN_GB50Avertir en dessous de ce seuil
DISK_CRIT_GB15Bloquer en dessous de ce seuil

Exemples

Session simple — autorisée :

edit_count=1 (< 3, pas complexe) → exit 0

Tâche complexe, apprentissage capturé — autorisée :

edit_count=5 (complexe) → vérifie LIBS → growth-log mis à jour aujourd'hui → exit 0

Tâche complexe, pas d'apprentissage — BLOQUÉE :

edit_count=4 (complexe) → vérifie LIBS → les 5 obsolètes → exit 2
stderr: "Bloqué : tâche complexe terminée mais aucun apprentissage capturé aujourd'hui."

Espace disque faible — BLOQUÉ :

disk_free=12Go < 15Go critique → exit 2
stderr: "Bloqué : espace disque à 12 Go (seuil : 15 Go)."

Limitations

Le crochet impose l'habitude de toucher aux bibliothèques d'apprentissage, pas la qualité de ce qui a été enregistré. Si output-index.md est mis à jour mais que growth-log est ignoré, le crochet réussit (1 bibliothèque sur 5 touchée). C'est voulu : les passerelles mécaniques vérifient des faits vérifiables par machine. Pour la vérification de la qualité du contenu, associez avec self-audit.

Compatibilité

  • Python 3.8+ (utilise from __future__ import annotations)
  • Multi-plateforme : Windows, macOS, Linux
  • Zéro dépendance en dehors de la bibliothèque standard

Qualité

Ce code a subi 4 cycles de revue de code automatisée (CodeRabbit + Greptile) avec 9 bogues réels trouvés et corrigés.

Voir aussi

  • self-audit — Passerelle de qualité de raisonnement (exhaustivité/cohérence/fondement/honnêteté)
  • verification-loop — Vérifications de qualité du code (construction/typage/lint/test)
  • gateguard — Passerelle de sécurité PreToolUse

Individual skills in this repo

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

accessibility

Design, implement, and audit inclusive digital products using WCAG 2.2 Level AA. Use when building or auditing UI that must meet WCAG 2.2 Level AA, or when reviewing a change for keyboard, contrast, or screen-reader support.

affaan-m/content-engine

Create platform-native content systems for X, LinkedIn, TikTok, YouTube, newsletters, and repurposed multi-platform campaigns. Use when the user wants social posts, threads, scripts, content calendars, or one source asset adapted cleanly across platforms.

affaan-m/ECC

Multi-platform content distribution across X, LinkedIn, Threads, and Bluesky. Adapts content per platform using content-engine patterns. Never posts identical content cross-platform. Use when the user wants to distribute content across social platforms.

affaan-m/fal-ai-media

Unified media generation via fal.ai MCP — image, video, and audio. Covers text-to-image (Nano Banana), text/image-to-video (Seedance, Kling, Veo 3), text-to-speech (CSM-1B), and video-to-audio (ThinkSound). Use when the user wants to generate images, videos, or audio with AI.

affaan-m/manim-video

日本語翻訳:このファイルは manim-video 用の日本語翻訳が必要です

affaan-m/remotion-video-creation

Remotion のベストプラクティス - React で動画を作成する。3D、アニメーション、音声、字幕、チャート、トランジションなどをカバーするドメイン固有の29のルール。

affaan-m/video-editing

AI-assisted video editing workflows for cutting, structuring, and augmenting real footage. Covers the full pipeline from raw capture through FFmpeg, Remotion, ElevenLabs, fal.ai, and final polish in Descript or CapCut. Use when the user wants to edit video, cut footage, create vlogs, or build video content.

agent-architecture-audit

Full-stack diagnostic for agent and LLM applications. Audits the 12-layer agent stack for wrapper regression, memory pollution, tool discipline failures, hidden repair loops, and rendering corruption. Produces severity-ranked findings with code-first fixes. Essential for developers building agent applications, autonomous loops, or any LLM-powered feature. Use when an agent or LLM feature misbehaves and the failing layer is unknown, or before shipping an agent stack.

agent-eval

Head-to-head comparison of coding agents (Claude Code, Aider, Codex, etc.) on custom tasks with pass rate, cost, time, and consistency metrics. Use when choosing between coding agents, or when a change to an agent setup needs measured pass rate, cost, and time rather than an impression.

agent-harness-construction

Design and optimize AI agent action spaces, tool definitions, and observation formatting for higher completion rates. Use when defining or revising an agent

agentic-engineering

Operate as an agentic engineer using eval-first execution, decomposition, and cost-aware model routing. Use when planning or executing engineering work that agents will carry out end to end.

agentic-os

Build persistent multi-agent operating systems on Claude Code. Covers kernel architecture, specialist agents, slash commands, file-based memory, scheduled automation, and state management without external databases. Use when building a persistent multi-agent system on Claude Code with its own memory, commands, and scheduling.

agent-introspection-debugging

Structured self-debugging workflow for AI agent failures using capture, diagnosis, contained recovery, and introspection reports. Use when an agent run fails and you need a reproducible diagnosis instead of a retry.

agent-payment-x402

Add x402 payment execution to AI agents with per-task budgets, spending controls, and non-custodial wallets. Supports Base through agentwallet-sdk and X Layer through OKX Payments / OKX Agent Payments Protocol. Use when an agent must pay for something itself and needs per-task budgets, spending controls, and a non-custodial wallet.

agent-self-evaluation

Use after completing any non-trivial task. The agent self-rates its output on 5 axes — accuracy, completeness, clarity, actionability, conciseness — with concrete evidence per criterion. Produces a structured 1-5 scorecard with specific improvement suggestions.

agent-sort

Build an evidence-backed ECC install plan for a specific repo by sorting skills, commands, rules, hooks, and extras into DAILY vs LIBRARY buckets using parallel repo-aware review passes. Use when ECC should be trimmed to what a project actually needs instead of loading the full bundle.

ai-first-engineering

Engineering operating model for teams where AI agents generate a large share of implementation output. Use when setting team process, review gates, or ownership rules for a codebase largely written by agents.

ai-regression-testing

Regression testing strategies for AI-assisted development. Sandbox-mode API testing without database dependencies, automated bug-check workflows, and patterns to catch AI blind spots where the same model writes and reviews code. Use when adding regression coverage to AI-assisted code, or when the same model both wrote and reviewed a change.

android-clean-architecture

Clean Architecture patterns for Android and Kotlin Multiplatform projects — module structure, dependency rules, UseCases, Repositories, and data layer patterns. Use when structuring modules, layers, or data flow in an Android or KMP project.

angular-developer

Generates Angular code and provides architectural guidance. Trigger when creating projects, components, or services, or for best practices on reactivity (signals, linkedSignal, resource), forms, dependency injection, routing, SSR, accessibility (ARIA), animations, styling (component styles, Tailwind CSS), testing, or CLI tooling.

Skills associés