Communitygithub.com

Discipline du Code Minimal

Discipline de codage basée sur l'échelle YAGNI pour écrire des modifications — existence d'abord, réutilisation avant écriture, échelle de dépendances, diff correct le plus court, avec des non-négociables qui ne doivent jamais être minimisés.

Qu'est-ce que Discipline du Code Minimal ?

Cette compétence applique une discipline de codage minimaliste (YAGNI-ladder) lors de la planification et de l'écriture de modifications de code. Elle garantit que les diffs restent petits et évidemment corrects sans sacrifier les vérifications qui protègent les utilisateurs. Elle complète 'ai-slop-cleaner' : ce dernier nettoie le code superflu après son arrivée, tandis que celle-ci l'empêche d'être écrit. Elle est particulièrement utile lorsque l'utilisateur demande une implémentation minimale, économe ou avec le plus petit diff possible, ou lorsqu'une modification existante dépasse le périmètre demandé. La discipline suit des principes stricts : existence d'abord, réutilisation avant écriture, échelle de dépendances, compréhension avant minimisation, code ennuyeux plutôt qu'astucieux, marquage des limites, et correction des causes racines. Des non-négociables comme la validation aux frontières de confiance, la gestion des erreurs protégeant contre la perte de données, les contrôles de sécurité, les fondamentaux d'accessibilité et le périmètre explicitement demandé par l'utilisateur ne doivent jamais être minimisés. Avant de signaler la fin, il faut vérifier que chaque ligne ajoutée a sa raison d'être, que le diff est le plus court possible, que les non-négociables sont intacts, et que les tests passent toujours.

Compatible avec~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/Yeachan-Heo/oh-my-claudecode/tree/main/skills/minimal-code-discipline

Demander à votre IA préférée

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

Documentation

Que fait Discipline du Code Minimal ?

Utilisez cette compétence pour appliquer une discipline de code minimal (échelle YAGNI) lors de la planification et de l'écriture de modifications de code. Elle permet de garder les diffs petits et évidemment corrects sans sacrifier les vérifications qui protègent les utilisateurs.

Cette compétence complète ai-slop-cleaner : ce dernier nettoie le code superflu après son arrivée ; celle-ci l'empêche d'être écrit.

Quand l'utiliser

Utilisez cette compétence lorsque :

  • l'utilisateur demande une implémentation minimale, économe, YAGNI ou avec le plus petit diff possible
  • un plan ou une modification en cours dépasse la demande initiale
  • vous écrivez du nouveau code où des dérives de périmètre, des helpers réinventés ou de la généralité spéculative sont probables
  • vous examinez un diff proposé pour sa taille avant implémentation

Quand ne pas l'utiliser

N'utilisez pas cette compétence lorsque :

  • l'utilisateur demande explicitement une construction large, riche en fonctionnalités ou conçue pour le futur (son périmètre explicite prévaut)
  • la tâche est un échafaudage exploratoire que l'utilisateur a marqué comme jetable
  • la pression de minimisation toucherait un comportement protégé (voir Non-Négociables)

La Discipline

Existence d'abord. Demandez-vous si la modification a besoin d'exister ; sautez le travail qui ne sert qu'un besoin futur spéculatif.

Réutilisation avant écriture. Recherchez dans la base de code un helper, un type ou un motif existant avant d'écrire quoi que ce soit de nouveau. Ne copiez jamais un helper qui vit déjà à quelques fichiers de distance — réutilisez-le ou extrayez-le vers un emplacement partagé.

Échelle de dépendances. Utilisez d'abord la bibliothèque standard, puis les capacités natives de la plateforme, puis une dépendance déjà installée. Le code écrit à la main est le dernier recours. N'introduisez pas une nouvelle dépendance quand quelques lignes de code suffisent, sauf si l'utilisateur l'a explicitement demandée ou approuvée.

Comprendre avant de minimiser. Lisez le code affecté et suivez son chemin d'exécution d'abord. Livrez le diff correct le plus court une fois le problème compris — le code que vous n'écrivez jamais ne plante jamais.

Ennuyeux plutôt qu'astucieux. Préférez un code ennuyeux et évidemment correct à un code astucieux.

Marquez la limite. Enregistrez les simplifications délibérées avec un court commentaire nommant la limite acceptée et ce qui justifierait de la remplacer.

Cause racine, pas symptômes. Corrigez les bogues à la cause racine partagée par tous les appelants, pas avec un correctif séparé pour chaque symptôme signalé.

Non-Négociables

Ne minimisez jamais :

  • la validation partout où une frontière de confiance est traversée
  • la gestion des erreurs qui protège contre la perte de données
  • les contrôles de sécurité
  • les fondamentaux d'accessibilité
  • le périmètre que l'utilisateur a explicitement demandé

Vérification

Avant de signaler la fin, confirmez :

  • chaque ligne ajoutée a sa raison d'être (pas de généralité spéculative, pas de helpers en double)
  • le diff est le plus court qui résout correctement le problème énoncé
  • les non-négociables sont intacts
  • les tests passent toujours et le comportement est inchangé sauf comme demandé

Individual skills in this repo

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

agent-doc-discipline

Writing-time discipline for documents agents consume (the five surfaces, specs, tickets, .omc/skills/) — every rule checkable and carrying a why, steps before reference, one meaning in one home, no restating what the environment already says. Mandatory at drydock seed generation and the launch C5 sediment pass; opt-in for any other agent-facing doc edit. The companion of minimal-code-discipline: that one disciplines code, this one disciplines papers.

ai-slop-cleaner

Clean AI-generated code slop with a regression-safe, deletion-first workflow and optional reviewer-only mode

ask

Process-first advisor routing for Claude, Codex, Gemini, Antigravity, Grok, or Cursor via `omc ask`, with artifact capture and no raw CLI assembly

ask-navigator

Shipyard

autopilot

Full autonomous execution from idea to working code

autoresearch

Stateful single-mission improvement loop with strict evaluator contract, markdown decision logs, and max-runtime stop behavior

cancel

Cancel any active OMC mode (autopilot, ralph, ultragoal, swarm, ultrapilot, pipeline, team) and clean up retired legacy state

configure-notifications

Configure notification integrations (Telegram, Discord, Slack) via natural language

debug

Diagnose the current OMC session or repo state using logs, traces, state, and focused reproduction

deepinit

Deep codebase initialization with hierarchical AGENTS.md documentation

deep-interview

Socratic deep interview with mathematical ambiguity gating before explicit execution approval

drydock

Lay the keel of the shipyard harness in any repo — the 4-pillar shared environment (Context, Rules, Tools, Standards) across 5 surfaces (CLAUDE.md, skills, design-system, mcp/cli, shared context) so that every human and agent inherits the same design language and anyone can ship. Run once per repo; re-run with --check to audit drift.

execute

Carry an approved task through to working, verified code

external-context

Invoke parallel document-specialist agents for external web searches and documentation lookup

graph

Deterministic orchestration graph runtime - declarative DAG pipelines with journal-based crash recovery

harbor

Harbor intake for external work — the captain only handles unresolved decisions. Sweeps incoming issues and PRs, verifies every claim before disposition, reuses every decision already made, and hands the maintainer a docket whose pending items each carry one question with options, recommendation, impact and evidence. Agent-autonomous for facts and for actions covered by standing authorization; signed for every new judgment. Never merges.

hud

Configure HUD display options (layout, presets, display elements)

launch

Shipyard

loft

Loft the shape before cutting steel — answer a design question that prose cannot settle by building a throwaway artifact: a pure logic module in a clickable shell, or structurally different UI variants behind one route. The captain reacts to the artifact; the answer folds into the decision; the artifact never docks. Use when a design question stalls in words, when a navigator map carries a loft ticket, or when a spec discussion reaches

omc-doctor

Diagnose and fix oh-my-claudecode installation issues

Skills associés