Communitygithub.com

curiositech/windags-skills

Modèle de calcul concurrent fondamental où les acteurs communiquent exclusivement par passage de messages asynchrones.

Qu'est-ce que windags-skills ?

Cette compétence fournit un cadre détaillé pour concevoir des systèmes d'agents concurrents en utilisant le modèle d'acteur Agha. Elle est particulièrement utile pour les développeurs et les concepteurs de systèmes multi-agents qui doivent gérer la concurrence, la résilience aux pannes et la composition de systèmes sans état partagé. La compétence couvre des modèles clés comme le modèle client (customer pattern), la supervision d'acteurs, et les stratégies de création d'acteurs en fonction du type de tâche. Elle met en garde contre les anti-modèles courants tels que l'orchestrateur central, le blocage synchrone, la contamination de l'état partagé, la vérification uniquement par les sorties, et la topologie statique. À travers des exemples concrets de décomposition de tâches et de récupération après panne, la compétence illustre comment appliquer les principes fondamentaux du modèle d'acteur (création dynamique, passage de messages, remplacement de comportement) pour obtenir des systèmes corrects, composables et résilients. Elle peut être utilisée avec n'importe quel framework d'acteurs (Akka, Erlang/OTP, Orleans, etc.) et sert de guide de conception indépendant de la plateforme.

Compatible avec✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/curiositech/windags-skills/tree/HEAD/skills/agha-actor-model

Demander à votre IA préférée

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

Documentation

SKILL.md — Modèle d'Acteur Agha : Conception de Systèmes d'Agents Concurrents

Points de Décision

Choix de la Stratégie de Création d'Acteur en Fonction du Type de Tâche

SI la tâche a des dépendances séquentielles :
├─ Utiliser le modèle client : créer un enfant avec une adresse de réponse
├─ Passer l'adresse du client à l'enfant en paramètre
└─ L'enfant envoie le résultat directement au client (pas au parent)

SI la tâche nécessite un long calcul :
├─ Créer un acteur insensible pour le calcul
├─ Transférer les messages entrants à un acteur tampon
└─ Reprendre depuis le tampon lorsque le calcul est terminé

SI la tâche nécessite une allocation dynamique de ressources :
├─ Créer des acteurs gestionnaires de ressources à la demande
├─ Passer les capacités (adresses) comme données de message
└─ Pas de registre central - les adresses circulent dans le système

SI la tâche a des exigences d'isolation des pannes :
├─ Créer des acteurs enfants supervisés pour les opérations risquées
├─ Le superviseur détecte les pannes via les réponses manquantes
└─ Remplacer les acteurs défaillants sans affecter les autres

SI vous composez des systèmes d'agents existants :
├─ Vérifier que l'interface préserve la structure causale
├─ Tester le comportement en composition (pas seulement en isolation)
└─ Utiliser les protocoles de messages comme frontières (pas l'état partagé)

Arbre de Décision : Envoi de Message vs Remplacement d'État

SI une coordination avec d'autres agents est nécessaire :
├─ ENVOYER des messages (ne pas modifier l'état local d'abord)
├─ Inclure une adresse de réponse si une réponse est attendue
└─ Ne jamais supposer un ordre des messages

SI un calcul local est nécessaire :
├─ SPÉCIFIER un comportement de remplacement
├─ Encapsuler le nouvel état (ne pas exposer les détails internes)
└─ Assurer un traitement un-message-à-la-fois

SI une mise à l'échelle dynamique est nécessaire :
├─ CRÉER de nouveaux acteurs avec des comportements spécifiques
├─ Passer les adresses nécessaires aux nouveaux acteurs
└─ Pas d'état d'initialisation partagé

Modes de Défaillance

1. Anti-patron de l'Orchestrateur Central

Détection : Si vous voyez un acteur router tous les messages ou détenir tout l'état du système Symptômes : Point de défaillance unique, goulot d'étranglement sous charge, problème de régression infinie Correctif : Décomposer en une communauté d'acteurs, chacun ne connaissant que le contexte local, utiliser le routage par capacité

2. Erreur de Blocage Synchrone

Détection : Si des acteurs attendent/bloquent pour des réponses au lieu de spécifier un comportement de remplacement Symptômes : Interblocage sous charge, hypothèses de temporisation cachées, concurrence réduite Correctif : Modéliser en paires de messages requête-réponse, utiliser le modèle client pour les dépendances, appliquer le patron d'acteur insensible

3. Contamination de l'État Partagé

Détection : Si plusieurs acteurs lisent/écrivent la même structure de données (même avec des verrous) Symptômes : Conditions de concurrence, goulots d'étranglement séquentiels, état global caché Correctif : Encapsuler l'état dans un seul acteur, utiliser le passage de messages pour la coordination, l'exclusion mutuelle est gratuite

4. Vérification Uniquement par les Sorties

Détection : Si les tests ne comparent que les sorties finales sans vérifier les modèles d'interaction Symptômes : Anomalie de Brock-Ackerman - sorties identiques mais comportement de composition différent Correctif : Vérifier la préservation de la structure causale, tester le comportement en composition, utiliser l'équivalence d'observation

5. Hypothèse de Topologie Statique

Détection : Si le graphe de communication est fixé au démarrage sans reconfiguration à l'exécution Symptômes : Impossible de gérer les systèmes ouverts, pas de gestion dynamique des ressources, fragile face au changement Correctif : Traiter les adresses comme des données de première classe, implémenter le routage par capacité, prendre en charge les changements de topologie à l'exécution

Exemples Concrets

Exemple 1 : Décomposition de Tâches avec le Modèle Client

Scénario : Un agent doit traiter une requête complexe nécessitant des sous-tâches séquentielles A → B → C, mais doit rester réactif à d'autres messages.

Approche Novice :

recevoir requête →
  bloquer en appelant la sous-tâche A
  bloquer en appelant la sous-tâche B
  bloquer en appelant la sous-tâche C
  envoyer le résultat final

Application Experte du Modèle d'Acteur :

recevoir requête →
  créer un acteur client_BC avec les adresses pour B, C, et le destinataire final
  envoyer la requête de sous-tâche A à A_processeur avec client_BC comme adresse de réponse
  spécifier le comportement de remplacement : prêt pour la prochaine requête

client_BC reçoit le résultat de A →
  envoyer le résultat à B_processeur avec client_C comme adresse de réponse

client_C reçoit le résultat de B →
  envoyer le résultat à C_processeur avec destinataire_final comme adresse de réponse

Décisions Clés Prises :

  • Utilisation du modèle client pour éviter le blocage
  • Chaque étape crée le client suivant dans la chaîne
  • L'agent d'origine reste réactif tout au long du processus
  • Une défaillance dans une sous-tâche n'affecte que cette chaîne

Exemple 2 : Récupération après Panne avec Supervision

Scénario : Le système doit gérer les défaillances d'agents sans les propager à l'ensemble du système.

Approche Novice : Try-catch autour des appels d'agents, redémarrer tout en cas de défaillance.

Application Experte :

superviseur crée acteur_travailleur →
  envoie la tâche au travailleur avec un délai de réponse
  spécifie le remplacement : "en_attente_de_reponse"

SI une réponse est reçue dans le délai →
  transmettre le résultat au client
  spécifier le remplacement : "prêt"

SI le délai expire →
  créer un nouvel acteur_travailleur (l'ancien a échoué)
  renvoyer la tâche au nouveau travailleur
  spécifier le remplacement : "en_attente_de_reponse"

Compromis Navigués :

  • La supervision est une préoccupation distincte de la logique métier
  • Les acteurs défaillants sont isolés et remplacés, non réparés
  • Équilibre entre détection de délai et livraison garantie
  • Aucun état partagé entre le superviseur et les travailleurs

Gates de Qualité

  • Aucun acteur ne bloque sa boucle de traitement de messages (patron d'acteur insensible appliqué si nécessaire)
  • Toute la coordination utilise le passage de messages (pas d'état mutable partagé entre acteurs)
  • La livraison des messages est garantie mais l'ordre n'est pas présumé
  • Les adresses sont traitées comme des données de première classe pour le routage par capacité
  • Chaque acteur spécifie un comportement de remplacement pour chaque type de message
  • La création d'acteurs se fait dynamiquement en fonction des besoins de calcul
  • L'isolation des pannes empêche les défaillances en cascade entre les frontières des acteurs
  • La topologie du système peut se reconfigurer à l'exécution sans registre central
  • Le comportement en composition est vérifié, pas seulement le comportement isolé des composants
  • Les opérations synchrones sont modélisées comme des paires de messages requête-réponse

Limites de cette Compétence

Cette compétence ne doit PAS être utilisée pour :

  • Les calculs séquentiels simples → utiliser la programmation fonctionnelle à la place
  • Les systèmes où la mémoire partagée est physiquement nécessaire → utiliser des modèles de concurrence basés sur les verrous
  • Les systèmes temps réel avec des contraintes de temps strictes → utiliser le passage de messages synchrone avec une analyse temporelle formelle
  • Les calculs mathématiques sans coordination → utiliser des approches fonctionnelles pures

Déléguer à d'autres compétences lorsque :

  • Implémentation de frameworks d'acteurs spécifiques → utiliser des guides d'implémentation propres à la plateforme
  • Optimisation des performances des systèmes d'acteurs → utiliser la compétence [optimisation-des-performances]
  • Vérification formelle des propriétés des acteurs → utiliser la compétence [méthodes-formelles]
  • Conception de bases de données pour la persistance des acteurs → utiliser la compétence [architecture-des-données]

Idées reçues courantes sur le périmètre :

  • Les acteurs ne sont pas simplement des "objets avec des méthodes asynchrones" - ils nécessitent le triple complet de réponse
  • Le modèle d'acteur n'est pas réservé aux systèmes distribués - il s'applique à tout calcul concurrent
  • Ce n'est pas principalement une optimisation des performances - c'est un cadre pour la correction et la compositionnalité

Individual skills in this repo

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

curiositech/windags-skills

Expert in 2000s-era music visualization (Milkdrop, AVS, Geiss) and modern WebGL implementations. Specializes in Butterchurn integration, Web Audio API AnalyserNode FFT data, GLSL shaders for audio-reactive visuals, and psychedelic generative art. Activate on "Milkdrop", "music visualization", "WebGL visualizer", "Butterchurn", "audio reactive", "FFT visualization", "spectrum analyzer". NOT for simple bar charts/waveforms (use basic canvas), video editing, or non-audio visuals.

curiositech/windags-skills

Expert legal research agent for finding and scraping expungement data state by state. Knows authoritative sources, URL patterns, Firecrawl configuration, and 2026 legal landscape.

curiositech/windags-skills

Expert in 3D computer vision labeling tools, workflows, and AI-assisted annotation for LiDAR, point clouds, and sensor fusion. Covers SAM4D/Point-SAM, human-in-the-loop architectures, and vertical-specific training strategies. Activate on '3D labeling', 'point cloud annotation', 'LiDAR labeling', 'SAM 3D', 'SAM4D', 'sensor fusion annotation', '3D bounding box', 'semantic segmentation point cloud'. NOT for 2D image labeling (use clip-aware-embeddings), general ML training (use ml-engineer), video annotation without 3D (use computer-vision-pipeline), or VLM prompt engineering (use prompt-engineer).

curiositech/windags-skills

Implement WCAG 2.2 AA/AAA compliance with automated testing, keyboard navigation, screen reader support, and focus management. Activate on: accessibility audit, WCAG compliance, keyboard navigation, screen reader, aria attributes, axe-core, focus trap. NOT for: design-level accessibility review (use design-accessibility-auditor), color contrast only (use css-in-js-architect).

curiositech/windags-skills

Time-blind friendly planning, executive function support, and daily structure for ADHD brains. Specializes in realistic time estimation, dopamine-aware task design, and building systems that actually work for neurodivergent minds.

curiositech/windags-skills

Designs digital experiences for ADHD brains using neuroscience research and UX principles. Expert in reducing cognitive load, time blindness solutions, dopamine-driven engagement, and compassionate design patterns. Activate on 'ADHD design', 'cognitive load', 'accessibility', 'neurodivergent UX', 'time blindness', 'dopamine-driven', 'executive function'. NOT for general accessibility (WCAG only), neurotypical UX design, or simple UI styling without ADHD context.

curiositech/windags-skills

>- Apply crisis decision-making research to agent routing, uncertainty triage, and coordination failure analysis in time-pressured systems. Use when diagnosing handoff failures, analytical paralysis, or expert judgment under incomplete information. NOT for routine coding, simple CRUD design, or static single-agent tasks with complete information.

curiositech/windags-skills

Extend and modify the admin dashboard, developer portal, and operations console. Use when adding new admin tabs, metrics, monitoring features, or internal tools. Activates for dashboard development, analytics, user management, and internal tooling.

curiositech/windags-skills

Conversation patterns and interaction protocols for multi-agent systems. Covers request/response, pub/sub, blackboard, delegation chains, debate, critique, consensus, fan-out/fan-in, supervisor-worker, and peer negotiation. Deep analysis of AutoGen conversation patterns, CrewAI delegation, LangGraph state passing, and FIPA-ACL performatives. Teaches how to design what agents say to each other and in what order. Activate on: "agent conversation", "agent protocol", "multi-agent debate", "agent delegation", "supervisor worker pattern", "agent voting", "consensus protocol", "fan-out fan-in", "agent negotiation", "blackboard pattern", "agent dialogue", "conversation topology", "agent handoff". NOT for: wire format or serialization (use agent-interchange-formats), orchestration infrastructure (use agentic-infrastructure-2026), single agent behavior (use agentic-patterns).

curiositech/windags-skills

Meta-agent for creating new custom agents, skills, and MCP integrations. Expert in agent design, MCP development, skill architecture, and rapid prototyping. Activate on 'create agent', 'new skill', 'MCP server', 'custom tool', 'agent design'. NOT for using existing agents (invoke them directly), general coding (use language-specific skills), or infrastructure setup (use deployment-engineer).

curiositech/windags-skills

AI-powered calendar management and agent-based scheduling coordination. Covers calendar APIs (Google Calendar, CalDAV/iCal), AI scheduling assistants (Reclaim, Clockwise, Motion, Cal.com), building custom calendar agents with MCP, multi-calendar merging, timezone management, focus block protection, meeting fatigue detection, and agent-to-agent meeting negotiation protocols. Activate on: "calendar agent", "AI scheduling", "calendar coordination", "meeting scheduling", "calendar API", "focus time protection", "calendar optimization", "Google Calendar MCP", "Reclaim", "Clockwise", "Motion", "Cal.com", "smart scheduling", "calendar-aware agent", "timezone scheduling", "agent negotiation meetings". NOT for: manual calendar UI component design (use form-validation-architect), project management scheduling or Gantt charts (use project-management-guru-adhd), general time-tracking or pomodoro apps (use adhd-daily-planner for time-awareness), building the agent itself from scratch (use agent-creator).

curiositech/windags-skills

Build and adopt production AI agent infrastructure in 2026. Covers framework selection (LangGraph, CrewAI, AutoGen, MCP), orchestration patterns, evaluation, observability, memory systems, and tool use. Also covers the SOCIAL dimension: how to sell agent infrastructure internally, change management, measuring ROI, building trust in autonomous systems, and scaling adoption across teams. Activate on: "agent infrastructure", "agent framework comparison", "which agent framework", "sell AI tools internally", "agent adoption", "agent observability", "agent evaluation", "MCP architecture", "agentic mesh", "enterprise AI agents", "AI change management", "agent ROI". NOT for: building specific agents (use ai-engineer), designing agent behavior patterns (use agentic-patterns), prompt tuning (use prompt-engineer).

curiositech/windags-skills

Fundamental patterns for effective agentic behavior. Teaches decomposition, tool orchestration, error recovery, context management, quality self-assessment, and knowing when to stop. Model-agnostic principles that make any agent more effective regardless of domain. Activate on: "how should I structure this agent", "agentic workflow", "agent patterns", "multi-step task", "tool orchestration", "/agentic-patterns", "decompose this", "agent best practices", "chain of actions", "when should the agent stop", "agent loop design". NOT for: creating agent infrastructure (use agent-creator), building DAGs (use windags-architect), specific tool implementation.

curiositech/windags-skills

Automated discovery and matching of agent skills for dynamic task routing and capability assessment

curiositech/windags-skills

Cryptographic security for agentic systems — zero-trust agent networking, signed message envelopes (JWS/JWE), capability-based security (ocaps), Merkle tree audit trails, WASM sandboxing, and formal verification. Covers CLI dev tool security, mTLS between agents, permission boundaries (least privilege for AI agents), and supply chain security for skills/plugins. Activate on: "agent security", "zero trust agents", "secure agent communication", "capability-based security", "ocap", "signed messages between agents", "agent audit trail", "sandbox agent execution", "agent permissions", "mTLS agents", "cryptographic verification", "agent supply chain", "OWASP agentic", "prove agent did X", "tamper-proof agent logs". NOT for: application-level SAST scanning (use security-auditor), network firewall rules (use infrastructure), SOC2/HIPAA compliance (organizational), or prompt injection defense (use prompt-engineer).

curiositech/windags-skills

Data structures and serialization formats for agent-to-agent communication. Covers message envelopes, structured output schemas, capability declarations, task handoff payloads, error/retry signaling, and context windows as data structures. Deep comparison of A2A protocol, MCP, OpenAI function calling, and LangChain message types. Teaches when to use rigid schemas vs free-form with validation, typed vs untyped, streaming vs batch. Activate on: "agent message format", "agent communication schema", "agent-to-agent protocol", "A2A protocol", "MCP message format", "structured output for agents", "agent interop", "interchange format", "agent serialization", "task handoff format", "capability declaration". NOT for: what agents say to each other (use agent-conversation-protocols), orchestration topology (use multi-agent-coordination), building agent infrastructure (use agentic-infrastructure-2026).

curiositech/windags-skills

Logic-based agent programming language implementing BDI architecture for practical autonomous agent development

curiositech/windags-skills

>- Design AgentSpeak(L)-style BDI agents with context-guarded plans, selection functions, and intention stacks. Use for interruptible autonomy, agent policy, and multi-agent orchestration in dynamic environments. NOT for simple rule engines, static planners, or centralized workflows.

curiositech/windags-skills

Build production-ready LLM applications, advanced RAG systems, and intelligent agents. Implements vector search, multimodal AI, agent orchestration, and enterprise AI integrations. Use PROACTIVELY for LLM features, chatbots, AI agents, or AI-powered applications.

curiositech/windags-skills

license: Apache-2.0 NOT for unrelated tasks outside this domain.

Skills associés