Communitygithub.com

curiositech/windags-skills

一種基礎的並行計算模型,其中 Actor 透過非同步訊息傳遞進行獨佔通訊

windags-skills 是什麼?

此技能提供了一個基於 Agha Actor 模型的深層架構指南,用於設計並行且具有彈性的代理系統。它將單元 (Actor) 視為計算的基礎,這些單元透過非同步訊息傳遞進行通訊,不共享任何可變狀態。該文件詳細說明如何在各種情境下做出關鍵設計決策,例如處理順序相依任務、長時間運算、動態資源配置和故障隔離。它透過「決策點」和「決策樹」來引導開發者選擇正確的模式,例如「顧客模式」以避免阻塞,以及「不敏感 Actor」模式來處理長時間運算。技能明確指出了常見的反模式,例如中心化編排器、同步阻塞謬誤和共享狀態污染,並提供了具體的檢測方法和修復策略。此外,它還透過詳細的實例(如任務分解和故障恢復)展示了專家級應用,並提供了「品質關卡」清單來確保實作的正確性。此技能支援任何能夠實作 Actor 模型的平台,並強調模型不僅適用於分散式系統,更是任何並行計算中確保正確性和可組合性的框架。

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

在你喜歡的 AI 中提問

開啟一個已預先載入此 Agent Skill 的新對話。

說明文件

SKILL.md — Agha Actor 模型:並行代理系統設計

決策點

根據任務類型選擇 Actor 建立策略

如果任務有順序相依性:
├─ 使用顧客模式:建立帶有回覆位址的子 Actor
├─ 將顧客位址作為參數傳遞給子 Actor
└─ 子 Actor 直接將結果發送給顧客(非父 Actor)

如果任務需要長時間運算:
├─ 為運算建立不敏感 Actor
├─ 將傳入訊息轉發到緩衝 Actor
└─ 運算完成後從緩衝區恢復處理

如果任務需要動態資源配置:
├─ 按需建立資源管理 Actor
├─ 將能力(位址)作為訊息資料傳遞
└─ 無中央註冊表 - 位址在系統中流通

如果任務有故障隔離需求:
├─ 為高風險操作生成受監督的子 Actor
├─ 監督者透過遺失的回覆來偵測故障
└─ 替換失敗的 Actor,不影響其他

如果正在組合現有代理系統:
├─ 驗證介面是否保留因果結構
├─ 測試組合下的行為(不僅是隔離狀態)
└─ 使用訊息協定作為邊界(非共享狀態)

訊息發送 vs. 狀態替換決策樹

如果需要與其他代理協調:
├─ 發送訊息(不要先修改本地狀態)
├─ 如果需要回應,則包含回覆位址
└─ 永遠不要假設訊息順序

如果只需要本地計算:
├─ 指定替換行為
├─ 封裝新狀態(不要暴露內部細節)
└─ 確保一次只處理一個訊息

如果需要動態擴展:
├─ 建立具有特定行為的新 Actor
├─ 將必要的位址傳遞給新 Actor
└─ 無共享初始化狀態

失敗模式

1. 中央編排器反模式

檢測:如果看到一個 Actor 路由所有訊息或持有所有系統狀態 症狀:單點故障、負載瓶頸、無限遞歸問題 修復:分解為 Actor 社群,每個只了解本地上下文,使用能力路由

2. 同步阻塞謬誤

檢測:如果 Actor 等待/阻塞回應,而不是指定替換行為 症狀:負載下的死結、隱藏的時序假設、並行性降低 修復:建模為請求-回覆訊息對,對依賴項使用顧客模式,應用不敏感 Actor 模式

3. 共享狀態污染

檢測:如果多個 Actor 讀寫相同的資料結構(即使有鎖) 症狀:競態條件、順序瓶頸、隱藏的全局狀態 修復:將狀態封裝在單一 Actor 中,使用訊息傳遞進行協調,互斥是免費的

4. 僅輸出驗證

檢測:如果測試僅比較最終輸出,而不檢查互動模式 症狀:Brock-Ackerman 異常 - 輸出相同但組合行為不同 修復:驗證因果結構保留、測試組合下的行為、使用觀察等價

5. 靜態拓撲假設

檢測:如果通訊圖在啟動時固定,沒有執行時重新配置 症狀:無法處理開放系統、無動態資源管理、面對變化時脆弱 修復:將位址視為第一級資料、實作能力路由、支援執行時拓撲變更

實例

範例 1:使用顧客模式進行任務分解

情境:代理需要處理一個複雜請求,該請求需要順序子任務 A → B → C,但必須保持對其他訊息的回應能力。

新手方法:

收到請求 →
  在呼叫子任務 A 時阻塞
  在呼叫子任務 B 時阻塞
  在呼叫子任務 C 時阻塞
  發送最終結果

專家對 Actor 模型的應用:

收到請求 →
  建立包含 B、C 和最終接收者位址的 customer_BC Actor
  將子任務 A 請求發送給 A_processor,並將 customer_BC 作為回覆位址
  指定替換行為:準備好處理下一個請求

customer_BC 收到 A 結果 →
  將結果發送給 B_processor,並將 customer_C 作為回覆位址

customer_C 收到 B 結果 →
  將結果發送給 C_processor,並將 final_recipient 作為回覆位址

做出的關鍵決策:

  • 使用顧客模式來避免阻塞
  • 每一步都在鏈中建立下一個顧客
  • 原始代理在整個過程中保持回應能力
  • 任何子任務中的失敗僅影響該鏈

範例 2:透過監督進行故障恢復

情境:系統需要處理代理故障,而不會擴散到整個系統。

新手方法:在代理呼叫周圍使用 try-catch,在故障時重新啟動所有內容。

專家應用:

監督者建立 worker_actor →
  發送任務給 worker,並設定回覆超時
  指定替換:"等待回覆"

如果在超時內收到回覆 →
  將結果轉發給客戶端
  指定替換:"準備就緒"

如果超時到期 →
  建立新的 worker_actor(舊的失敗了)
  將任務重新發送給新的 worker
  指定替換:"等待回覆"

處理過的權衡:

  • 監督是與業務邏輯分離的關注點
  • 失敗的 Actor 被隔離和替換,而不是修復
  • 超時檢測與保證交付之間的平衡
  • 監督者和 worker 之間無共享狀態

品質關卡

  • 沒有 Actor 阻塞其訊息處理迴圈(在需要處應用了不敏感 Actor 模式)
  • 所有協調都使用訊息傳遞(Actor 之間無共享可變狀態)
  • 訊息傳遞是有保證的,但不假設順序
  • 位址被視為第一級資料以進行能力路由
  • 每個 Actor 為每種訊息類型指定替換行為
  • Actor 的建立是根據計算需求動態發生的
  • 故障隔離防止故障在 Actor 邊界間級聯
  • 系統拓撲可以在沒有中央註冊表的情況下於執行時重新配置
  • 組合行為經過驗證,而不僅僅是隔離的元件行為
  • 同步操作建模為請求-回覆訊息對

不適用邊界

此技能不應用於:

  • 簡單的順序計算 → 改用函數式程式設計
  • 系統在物理上需要共享記憶體 → 使用基於鎖的並行程式模式
  • 具有嚴格時序限制的即時系統 → 使用具有正式時序分析的非同步訊息傳遞
  • 不需要協調的數學計算 → 使用純函數式方法

當以下情況時,委派給其他技能:

  • 實作特定 Actor 框架 → 使用平台特定的實作指南
  • 對 Actor 系統進行效能調校 → 使用 [performance-optimization] 技能
  • 對 Actor 屬性進行正式驗證 → 使用 [formal-methods] 技能
  • 針對 Actor 持久化的資料庫設計 → 使用 [data-architecture] 技能

關於範圍的常見誤解:

  • Actor 不僅僅是「帶有非同步方法的物件」——它們需要完整的 3 元組回應
  • Actor 模型不僅僅適用於分散式系統——它適用於任何並行計算
  • 這主要不是一個效能最佳化——它是一個正確性和可組合性框架

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.

相關技能