Communitygithub.com

agentic-os

Construisez des systèmes d'exploitation multi-agents persistants sur Claude Code. Couvre l'architecture du noyau, les agents spécialisés, les commandes slash, la mémoire basée sur fichiers, l'automatisation planifiée et la gestion d'état sans base de données externe. À utiliser pour construire un système multi-agent persistant sur Claude Code avec sa propre mémoire, ses commandes et sa planification.

Qu'est-ce que agentic-os ?

Agentic OS est une compétence (skill) pour Claude Code qui transforme l'outil en un système d'exploitation multi-agents persistant et orchestré. Plutôt que d'utiliser Claude Code comme une simple session de chat, cette compétence définit une architecture en quatre couches : un noyau (CLAUDE.md) qui agit comme un COO et achemine les tâches vers des agents spécialisés, des agents spécialisés (agents/) aux rôles et outils définis, des commandes slash (`.claude/commands/`) pour des workflows réutilisables, et une couche de données persistante (data/) basée sur des fichiers JSON et Markdown. L'objectif est de créer un système qui survive aux redémarrages de session, avec une mémoire persistante, une automatisation planifiée via cron externe (LaunchAgent, systemd, pm2), et une gestion d'état sans dépendre de bases de données externes comme PostgreSQL ou Redis. Cette compétence est idéale pour les développeurs qui construisent des workflows multi-agents complexes, des « OS personnels » ou des systèmes d'automatisation à long terme sur Claude Code, en suivant des principes de conception déclaratifs et inspectables.

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

Demander à votre IA préférée

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

Documentation

Agentic OS

Traitez Claude Code comme un environnement d'exécution / système d'exploitation persistant plutôt que comme une session de chat. Cette compétence codifie l'architecture utilisée par les configurations agentiques en production : un noyau qui achemine les tâches vers des agents spécialisés, une mémoire persistante basée sur fichiers, une automatisation planifiée et une couche de données JSON/markdown.

Quand activer

  • Construire un workflow multi-agents dans Claude Code
  • Mettre en place une automatisation persistante avec Claude Code qui survit aux redémarrages de session
  • Créer un « OS personnel » ou un « OS agentique » pour des tâches récurrentes
  • L'utilisateur dit « agentic OS », « personal OS », « multi-agent », « agent coordinator », « persistent agent »
  • Structurer des projets longue durée où le contexte doit survivre entre les sessions

Aperçu de l'architecture

L'Agentic OS comporte quatre couches. Chaque couche est un répertoire à la racine de votre projet.

project-root/
├── CLAUDE.md          # Noyau : identité, règles d'acheminement, registre des agents
├── agents/            # Définitions des agents spécialisés (prompts markdown)
├── .claude/commands/  # Commandes slash : CLI utilisateur
├── scripts/           # Scripts démons : tâches planifiées ou événementielles
└── data/              # État : système de fichiers JSON/markdown, pas de base de données externe

Responsabilités des couches

CoucheObjectifPersistance
Noyau (CLAUDE.md)Identité, routage, politiques de modèle, registre des agentsSuivi Git
Agents (agents/)Identités spécialisées avec outils et mémoire dédiésSuivi Git
Commandes (.claude/commands/)Commandes slash utilisateur (/daily-sync, /outreach)Suivi Git
Scripts (scripts/)Démons Python/JS déclenchés par cron ou webhooksSuivi Git
État (data/)Journaux en ajout seul, état du projet, enregistrements de décisionsIgnoré ou suivi Git

Le noyau

CLAUDE.md est le noyau. Il agit comme le COO / orchestrateur. Claude le lit au démarrage de la session et l'utilise pour acheminer le travail.

Structure du noyau

# CLAUDE.md - Noyau Agentic OS

## Identité
Vous êtes le COO de [nom-du-projet]. Vous acheminez les tâches vers des agents spécialisés.
Vous n'écrivez jamais de code directement. Vous déléguez à l'agent approprié et synthétisez les résultats.

## Registre des agents

| Agent | Rôle | Déclencheur |
|---|---|---|
| @dev | Code, architecture, débogage | L'utilisateur dit « build », « fix », « refactor » |
| @writer | Documentation, contenu, emails | L'utilisateur dit « write », « draft », « blog » |
| @researcher | Recherche, analyse, vérification | L'utilisateur dit « research », « analyze », « compare » |
| @ops | DevOps, déploiement, infrastructure | L'utilisateur dit « deploy », « CI », « server » |

## Règles d'acheminement
1. Analyser la requête utilisateur pour les mots-clés d'intention
2. Correspondre à la colonne Déclencheur du Registre des agents
3. Charger le fichier agent correspondant depuis `agents/<nom>.md`
4. Transférer l'exécution avec le contexte complet
5. Synthétiser et présenter le résultat à l'utilisateur

## Politiques de modèle
- Modèle par défaut : utiliser la valeur par défaut du dépôt ou de l'environnement.
- Tâches @dev : privilégier un modèle à plus haut raisonnement pour l'architecture complexe.
- Tâches @researcher : utiliser le modèle configuré pour la recherche et les outils de recherche approuvés.
- Plafond de coûts : avertir avant de dépasser le seuil de dépenses configuré du projet.

Principe clé

Le noyau doit être petit et déclaratif. La logique de routage réside dans des tableaux markdown simples, pas dans du code. Cela rend le système inspectable et modifiable sans débogage.

Agents spécialisés

Chaque agent est un fichier markdown autonome dans agents/. Claude charge le fichier agent approprié lors de l'acheminement d'une tâche.

Format de définition d'agent

# @dev - Ingénieur logiciel

## Identité
Vous êtes un ingénieur logiciel senior. Vous écrivez du code propre, testé et de qualité production.
Vous préférez les solutions simples. Vous posez des questions de clarification lorsque les exigences sont ambiguës.

## Périmètre mémoire
- Lire `data/projects/<projet-actuel>.md` pour le contexte
- Lire `data/decisions/` pour les décisions architecturales
- Ajouter les journaux d'exécution à `data/logs/<date>[email protected]`

## Accès aux outils
- Accès complet au système de fichiers dans la racine du projet
- Opérations Git (status, diff, commit, branch)
- Accès à l'exécuteur de tests
- Serveurs MCP configurés dans `.claude/mcp.json`

## Contraintes
- Toujours écrire des tests pour les nouvelles fonctionnalités
- Ne jamais commiter directement sur `main` ; utiliser des branches de fonctionnalités
- Préférer modifier les fichiers existants plutôt que d'en créer de nouveaux
- Garder les fonctions sous 50 lignes si possible

Modèle de collaboration multi-agents

Lorsqu'une tâche implique plusieurs agents, le noyau les exécute séquentiellement ou en parallèle :

Utilisateur : "Crée une page d'accueil et rédige l'article de blog de lancement"

Acheminement par le noyau :
1. @dev - "Crée une page d'accueil avec [exigences]"
2. @writer - "Rédige un article de blog de lancement pour [produit] en utilisant le texte de la page d'accueil"
3. Le noyau synthétise les deux résultats en une réponse unifiée

Pour une exécution parallèle, utilisez la capacité de tâche en arrière-plan de Claude Code ou des scripts shell qui invoquent Claude Code avec des contextes d'agents spécifiques.

Commandes et workflows quotidiens

Les commandes slash sont des fichiers markdown dans .claude/commands/. Elles définissent des workflows réutilisables.

Structure de commande

# /daily-sync

Exécuter le briefing matinal :

1. Lire `data/logs/last-sync.md` pour le contexte
2. Vérifier l'état du projet : `git status`, PR en attente, santé CI
3. Examiner `data/inbox/` pour les nouvelles tâches ou décisions nécessaires
4. Générer un résumé des blocages, priorités et prochaines actions
5. Ajouter le briefing à `data/logs/daily/<date>.md`

Ensemble de commandes standard

CommandeObjectif
/daily-syncBriefing matinal : statut, blocages, priorités
/outreachExécuter le workflow de sensibilisation (email, LinkedIn, etc.)
/research <sujet>Recherche approfondie avec suivi des citations
/apply-jobsAdapter CV + lettre de motivation pour un poste cible
/analyticsRécupérer les métriques de Stripe, GitHub ou sources personnalisées
/interview-prepGénérer des flashcards ou des questions d'entretien simulées
/decision <sujet>Enregistrer une décision avec avantages/inconvénients et choix retenu

Activation des commandes

Placez les fichiers de commande dans .claude/commands/<nom-de-la-commande>.md. Claude Code les découvre automatiquement. Les utilisateurs les invoquent avec /<nom-de-la-commande>.

Mémoire persistante

La mémoire est basée sur des fichiers. Pas de base vectorielle, pas de Redis, pas de PostgreSQL. Les fichiers JSON et markdown dans data/ sont la base de données.

Structure du répertoire mémoire

data/
├── daily-logs/         # Journaux d'activité quotidiens en ajout seul
├── projects/           # Fichiers de contexte par projet
├── decisions/          # Décisions architecturales et commerciales (format ADR)
├── inbox/              # Nouvelles tâches ou idées en attente de tri
├── contacts/           # Personnes, entreprises, notes relationnelles
└── templates/          # Prompts et formats réutilisables

Format du journal quotidien

# 2026-04-22 - Journal quotidien

## Sessions
- 09:00 - Session 1 : Refonte du module d'authentification (@dev)
- 11:30 - Session 2 : Rédaction de la mise à jour investisseurs (@writer)

## Décisions
- Passage de JWT aux cookies de session (voir `data/decisions/2026-04-22-auth.md`)

## Blocages
- En attente de la clé API du fournisseur (suivi le 2026-04-24)

## Prochaines actions
- [ ] Fusionner la PR de refonte de l'authentification
- [ ] Envoyer la mise à jour investisseurs pour relecture

Modèle d'auto-réflexion

À la fin de chaque session, le noyau ajoute une réflexion :

## Réflexion - Session 3
- Ce qui a fonctionné : l'exécution parallèle des agents a économisé 20 minutes
- Ce qui n'a pas fonctionné : @researcher a rencontré une source payante, besoin d'un meilleur classement des sources
- Ce qu'il faut changer : ajouter un champ `source-tier` aux notes de recherche (crédibilité A/B/C)

Cela crée une boucle de rétroaction qui améliore le système au fil du temps sans modification de code.

Automatisation planifiée

Les tâches de l'Agentic OS s'exécutent selon un planning en utilisant un cron externe, et non le cron intégré de Claude Code (qui se termine lorsque la session se termine).

macOS : LaunchAgent

<!-- ~/Library/LaunchAgents/com.agentic.daily-sync.plist -->
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" ...>
<plist version="1.0">
<dict>
    <key>Label</key>
    <string>com.agentic.daily-sync</string>
    <key>ProgramArguments</key>
    <array>
        <string>/claude</string>
        <string>--cwd</string>
        <string>/path/to/project</string>
        <string>--command</string>
        <string>/daily-sync</string>
    </array>
    <key>StartCalendarInterval</key>
    <dict>
        <key>Hour</key>
        <integer>8</integer>
        <key>Minute</key>
        <integer>0</integer>
    </dict>
    <key>StandardOutPath</key>
    <string>/tmp/agentic-daily-sync.log</string>
</dict>
</plist>

Linux : systemd Timer

# ~/.config/systemd/user/agentic-daily-sync.service
[Unit]
Description=Synchronisation quotidienne Agentic OS

[Service]
Type=oneshot
ExecStart=/usr/local/bin/claude --cwd /path/to/project --command /daily-sync
# ~/.config/systemd/user/agentic-daily-sync.timer
[Unit]
Description=Exécuter la synchronisation quotidienne chaque matin

[Timer]
OnCalendar=*-*-* 8:00:00
Persistent=true

[Install]
WantedBy=timers.target

Multi-plateforme : pm2

# ecosystem.config.js
module.exports = {
  apps: [{
    name: 'agentic-daily-sync',
    script: 'claude',
    args: '--cwd /path/to/project --command /daily-sync',
    cron_restart: '0 8 * * *',
    autorestart: false
  }]
};

Couche de données

La couche de données est votre système de fichiers. Utilisez JSON pour les données structurées et markdown pour le contenu narratif.

JSON pour l'état structuré

// data/projects/website-v2.json
{
  "name": "Site Web v2",
  "status": "en-cours",
  "milestone": "lancement-bêta",
  "agents_involved": ["@dev", "@writer"],
  "files": {
    "spec": "docs/website-v2-spec.md",
    "design": "designs/website-v2.fig"
  },
  "metrics": {
    "commits": 47,
    "last_session": "2026-04-22T11:30:00Z"
  }
}

Markdown pour le contenu narratif

Utilisez markdown pour tout ce qui est lu par un humain : décisions, journaux, notes de recherche, fiches contacts.

Évolution du schéma

Ne renommez jamais les champs existants. Ajoutez de nouveaux champs et marquez les anciens comme obsolètes :

{
  "name": "Site Web v2",
  "status": "en-cours",
  "milestone": "lancement-bêta",
  "_deprecated_priority": "haute",
  "priority_v2": { "level": "haute", "rationale": "Bloque la démo investisseur" }
}

Cela permet de conserver la lisibilité des données historiques sans scripts de migration.

Anti-patrons

Agent unique monolithique

# MAUVAIS - Un seul agent fait tout
Vous êtes un développeur full-stack, rédacteur, chercheur et ingénieur DevOps.

Divisez en agents spécialisés. Le noyau gère l'acheminement.

Sessions sans état

# MAUVAIS - Aucune mémoire entre les sessions
Commencer à zéro chaque fois que Claude Code s'ouvre.

Lisez toujours data/ au démarrage de la session et écrivez à la fin de la session.

Identifiants codés en dur

# MAUVAIS - Clés API dans les fichiers agents ou CLAUDE.md
Votre clé API OpenAI est sk-xxxxxxxx

Utilisez des variables d'environnement ou un fichier .env chargé par les scripts. Les agents référencent process.env.API_KEY.

Base de données externe pour un état simple

# MAUVAIS - PostgreSQL pour l'OS agentique d'un utilisateur solo

Utilisez des fichiers JSON/markdown jusqu'à ce que vous ayez plusieurs utilisateurs simultanés ou des Go de données.

Routage trop complexe

# MAUVAIS - Logique de routage dans le code au lieu de tableaux markdown
if (intent.includes('deploy')) { agent = opsAgent; }

Gardez le routage déclaratif dans les tableaux markdown CLAUDE.md. C'est inspectable, modifiable et débogable.

Bonnes pratiques

  • CLAUDE.md fait moins de 200 lignes et tient dans la fenêtre de contexte
  • Chaque fichier agent fait moins de 100 lignes et se concentre sur un seul domaine
  • data/ est dans .gitignore pour les journaux sensibles, suivi Git pour les décisions et spécifications
  • Les commandes utilisent des noms impératifs : /daily-sync, pas /run-daily-sync
  • Les journaux sont en ajout seul ; ne modifiez jamais les journaux quotidiens passés
  • Chaque agent a une section Périmètre mémoire définissant les fichiers qu'il lit
  • Les réflexions sont écrites à la fin de chaque session
  • Les tâches planifiées utilisent un cron externe (LaunchAgent, systemd, pm2), pas le cron de session de Claude Code
  • Suivi des coûts : enregistrer les dépenses API par session dans data/logs/<date>-costs.json
  • Un projet = un Agentic OS. Ne partagez pas un seul CLAUDE.md entre des projets sans rapport.

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.

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.

api-connector-builder

Build a new API connector or provider by matching the target repo

Skills associés