Communitygithub.com

curiositech/windags-skills

BDIアーキテクチャを実装した論理ベースのエージェントプログラミング言語。実用的な自律エージェント開発のためのフレームワーク。

windags-skills とは?

このスキルは、BDI(信念・欲求・意図)アーキテクチャに基づくエージェント指向プログラミング言語であるAgentSpeak(L)の詳細な実装ガイドとベストプラクティスを提供します。動的環境において、イベントへの反応性と目標の永続性を両立する必要がある自律エージェントシステムに最適です。SE(イベント選択)、SO(オプション選択)、SI(意図選択)という3つの選択関数を明示的に設計することで、エージェントの合理的な意思決定を可能にします。また、計画スラッシング、古い信念による麻痺、無限意図ループなどの典型的な障害モードとその診断・修正方法を具体的に示し、マルチエージェント協調や割り込み処理の実践例も提供します。Claude Code, Cursor, Codexなど様々なAIエージェントプラットフォームで利用可能で、開発者は品質基準と境界条件を理解した上でBDIシステムを効果的に設計・実装できます。

対応✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/curiositech/windags-skills/tree/HEAD/skills/agentspeak-bdi

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

SKILL.md — AgentSpeak(L) & BDI Agent Architecture

自律エンティティが、競合する目標を管理し、イベントに応答しながら、進行中の作業を放棄することなく、知覚、熟考、行動を行う必要がある場合に。


決定ポイント

主要アーキテクチャの選択

IF システムに永続的な目標のないイベント反応のみが必要
  → リアクティブ/ルールシステムを使用(BDIは過剰)
ELIF システムに割り込みのない静的環境での計画が必要  
  → 古典的プランナーを使用
ELIF システムに動的環境での反応性と目標永続性の両方が必要
  → BDIアーキテクチャを使用

選択関数呼び出し表

状況使用関数判断基準
新しいイベントが到着SE (イベント選択)優先度、緊急度、リソース制約
イベントに計画が必要SO (オプション選択)コンテキストガード、計画成功履歴、リスク許容度
複数のアクティブな意図SI (意図選択)期限、リソース割り当て、公平性ポリシー
計画の失敗が発生SO 次に SI失敗処理計画を見つけ、その後意図を再スケジュール

計画失敗回復の決定木

計画PがアクションAの実行中に失敗:
IF この失敗タイプに対する失敗処理計画が存在する
  → 失敗イベントを投稿し、SOに回復計画を選択させる
  → 修正された意図スタックで継続
ELIF 同じトリガーイベントに対する代替計画が存在する
  → イベントにバックトラックし、SOに次の適用可能な計画を試させる  
  → 失敗した計画を検討対象から除外
ELIF 代替手段がない
  → 失敗を意図スタックの上位に伝播
  → IF 親計画が存在する → 親レベルで失敗イベントをトリガー
  → ELSE 意図を完全に破棄

信念更新の影響評価

新しい信念Bが到着:
IF Bが既存の信念と矛盾する
  → 信念修正プロトコルを実行
  → すべてのアクティブな意図のコンテキストガード違反をチェック
  → IF コンテキストがもはや成立しない → 意図を中断(破棄はしない)
ELIF Bが新しい適用可能な計画を有効にする
  → イベントキュー内で、今や適用可能な計画を持つ休眠イベントがないかチェック
  → SEを使用して再優先順位付け
ELIF Bが保留中の目標条件を満たす  
  → 達成をマークし、関連する意図をクリーンアップ
  → 計画クリーンアップのために達成イベントを投稿

障害モード

1. 計画スラッシング

症状: エージェントが進捗なく計画間を急速に循環する。同じイベントが繰り返し異なる計画をトリガーする。 検出ルール: 同じイベントがN実行サイクル内で3回以上処理され、毎回異なる計画が選択されている場合、計画スラッシングが発生している。 根本原因: SO(オプション選択)関数が非決定的、またはコンテキストガードが弱すぎる/重複している。 修正方法: SOを明示的に優先順位付けする。コンテキストガードを強化して相互排他的にする。選択基準に計画成功/失敗履歴を追加する。

2. 古い信念による麻痺

症状: エージェントが時代遅れの世界モデルに基づいて計画を選択する。環境に関する誤った前提により計画がすぐに失敗する。 検出ルール: 計画失敗率が50%を超え、失敗が実行時(計画時ではない)のコンテキストガード違反による場合、古い信念が原因である。 根本原因: 環境変化率に比べて信念更新頻度が低すぎる。信念修正が意図のコンテキストチェックに伝播していない。 修正方法: 知覚頻度を上げる。信念の古さを示すタイムスタンプを追加する。コンテキストガードが無効になった意図を中断する。

3. 無限意図ループ

症状: エージェントが同じ目標に対してさらに意図を生成するイベントを投稿する意図を作成する。意図スタックが無制限に増大する。 検出ルール: 意図スタックの深さが、対応する目標達成なしに経時的に単調増加する場合、意図ループが発生している。 根本原因: 計画が、終了条件なしに元の目標に最終的に戻るサブゴールを作成する。 修正方法: コンテキストガードに達成検出を追加する。意図の包含関係を実装する(重複意図を統合)。最大再帰深度制限を追加する。

4. 計画内ポリシーアンチパターン

症状: 同じイベントが計画本体内の条件分岐に基づいて異なる動作をトリガーする。エージェントポリシーが分散し、変更が困難になる。 検出ルール: 計画本体に優先度/緊急度の条件分岐(if high_priority then X else Y)が含まれている場合、ポリシーが間違った場所にある。 根本原因: エージェントの合理性が選択関数ではなく計画ロジックにエンコードされている。 修正方法: すべての優先度/ポリシーロジックをSE/SO/SI関数に移動する。計画をポリシーに依存せず、コンテキストにのみ敏感にする。

5. 単一意図ボトルネック

症状: エージェントが割り込みを処理できない。緊急イベントが長時間実行タスクの完了を待つ。並行性がない。 検出ルール: エージェントが常に最大1つのアクティブな意図しか持たない場合、単一意図ボトルネックが発生している。 根本原因: SI(意図スケジューリング)関数が真の並行性を実装していない。意図を並行ではなく排他的として扱っている。 修正方法: 複数のアクティブな意図を許可する。SIでプリエンプティブスケジューリングを実装する。計画を中断可能なシーケンスとして設計する。


実践例

例1: 計画競合を伴うマルチエージェントタスク割り当て

シナリオ: 2つのエージェント(A1、A2)が協調してdeliver(package, destination)を達成する。両方とも計画を持つが、能力が異なる。

初期状態:

  • A1の信念: location(A1, warehouse), can_carry(A1, small_items), location(package, warehouse)
  • A2の信念: location(A2, depot), can_carry(A2, any), has_vehicle(A2)
  • 共有信念: size(package, large), destination(customer_site)

イベント: +!deliver(package, customer_site) が両エージェントに投稿される

決定プロセス:

  1. A1の計画選択(SO):

    • 計画P1: +!deliver(X,Y) : can_carry(A1,small_items) & size(X,small) <- pickup(X); transport(X,Y)
    • コンテキストガード失敗: size(package,large) が size(X,small) と矛盾
    • 該当する計画なし → plan_failure(deliver, no_capability) を投稿
  2. A2の計画選択(SO):

    • 計画P2: +!deliver(X,Y) : can_carry(A2,any) & has_vehicle(A2) <- pickup(X); drive(X,Y); dropoff(X)
    • コンテキストガード成功 → P2が選択
    • 意図I1を作成: [pickup(package), drive(package,customer_site), dropoff(package)]
  3. A1の信念更新:

    • メッセージを受信: attempting(A2, deliver, package)
    • 信念を更新: +delegated(deliver, package, A2)
    • 失敗した意図を破棄

初心者の誤り: 両方のエージェントが配送を試み、リソース競合を引き起こす。 専門家の洞察: 調整は、ハードコードされたエージェント知識ではなく、信念の共有と計画コンテキストガードを通じて行われる。

例2: 意図再考を伴う割り込み処理

シナリオ: 長時間実行されるデータ処理タスクを実行中のエージェントが、緊急のセキュリティアラートを受信する。

初期状態:

  • アクティブな意図I1: [process_batch(data1), process_batch(data2), generate_report()]
  • 現在の実行: process_batch(data1) の途中(あと10分かかる)

イベント: +security_alert(intrusion_detected, server_3)

決定プロセス:

  1. イベント選択(SE):

    • SEの優先順位: セキュリティイベント > ルーチン処理
    • security_alert がI1の継続よりも選択される
  2. 計画選択(SO):

    • 計画P3: +security_alert(Type,Location) : has_admin_access <- isolate_system(Location); notify_team(Type)
    • コンテキストガード満たされる → P3が選択
    • 意図I2を作成: [isolate_system(server_3), notify_team(intrusion_detected)]
  3. 意図スケジューリング(SI):

    • 現在の意図: I1(process_batch(data1) で中断中)、I2(新規、緊急)
    • SIポリシー: セキュリティ意図が処理意図をプリエンプトする
    • 実行のためにI2を選択
  4. 実行:

    • isolate_system(server_3) を即座に実行
    • notify_team(intrusion_detected) を実行
    • I2が完了し、意図セットから削除
  5. 再開:

    • I1のみ残る: [process_batch(data1), process_batch(data2), generate_report()]
    • process_batch(data1) を中断ポイントから再開

初心者の誤り: セキュリティアラートを無視するか、または処理タスクを完全に放棄する。 専門家の洞察: 意図の中断は、進捗を維持しながら応答性を可能にする。SIスケジューリングポリシーは明示的で設定可能である。


品質基準

  • エージェントアーキテクチャに、文書化されたポリシーを持つ明示的なSE、SO、SI選択関数がある
  • 各計画に、現在の信念に対して評価可能な、明確に定義されたトリガーイベントとコンテキストガードがある
  • 計画ライブラリに、主要な計画タイプごとに失敗処理計画が含まれている(成功パスのみではない)
  • 信念更新メカニズムが、矛盾する情報を処理し、変更をアクティブな意図に伝播できる
  • 複数の意図が、明確なスケジューリング/プリエンプションルールの下で同時にアクティブにできる
  • イベントキューの処理が(FIFOではなく)明示的な優先順位割り当てで優先順位付けされている
  • 計画の失敗が、システムクラッシュやサイレント失敗ではなく、イベントをトリガーする
  • コンテキストガードが相互排他的であるか、または非決定性を避けるために計画選択が明示的に順序付けられている
  • エージェントが、意図スタックとトリガーイベントを公開することで、自身のアクションを説明できる
  • 高イベント負荷下でも、システムのパフォーマンスがグレースフルに劣化する(無限ループやスタックオーバーフローがない)

対象外の境界

対象外: すべての動作がリアクティブである単純なルールベースシステム(永続的な目標がない) → 代わりに使用: 基本的なルールエンジンまたはイベントアクションシステム

対象外: 実行中に環境が変化しない静的な計画問題
→ 代わりに使用: 古典的プランナー(A*、STRIPS、HTN)

対象外: 応答時間やハードデッドラインの保証が必要なリアルタイムシステム → 代わりに使用: タイミング分析を伴うリアルタイムスケジューリングシステム

対象外: すべての調整が中央コントローラーで処理できるシステム → 代わりに使用: ワークフローオーケストレーションまたは集中型タスクキューイング

対象外: 自律的な意思決定を伴わない純粋なデータ変換パイプライン → 代わりに使用: ETLツール、ストリーム処理フレームワーク

対象外: 機械学習や統計的推論を主要機能として必要とするアプリケーション → 代わりに使用: BDIを調整レイヤーとして持つMLフレームワーク(必要な場合)

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

>- 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

Foundational concurrent computation model where actors communicate exclusively through asynchronous message passing

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.

関連スキル