bdi-mental-states
Implements BDI (Belief-Desire-Intention) models for cognitive agent development, linking external context to formal reasoning.
Install
mkdir -p .claude/skills/bdi-mental-states && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/7571" && unzip -o skill.zip -d .claude/skills/bdi-mental-states && rm skill.zipInstalls to .claude/skills/bdi-mental-states
Activation
This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.
This skill should be used when modeling agent mental states with BDI concepts: beliefs, desires, intentions, RDF-to-belief transformations, rational agency traces, cognitive agents, BDI ontologies, and neuro-symbolic AI integration.Key capabilities
- →Transform RDF triples into formal beliefs
- →Model persistent mental states as endurants
- →Track causal transitions via mental processes
- →Ground mental states in world state references
- →Implement goal-directed planning with task sequences
- →Attach justifications to mental entities
How it works
It uses a T2B2T pipeline to translate external RDF data into structured beliefs, desires, and intentions, linking them through causal chains and temporal validity intervals.
Inputs & outputs
When to use bdi-mental-states
- →Model agent beliefs from RDF context
- →Implement BDI reasoning cycles
- →Build cognitive agent architectures
- →Create traceable reasoning chains for complex tasks
About this skill
BDI Mental State Modeling
Transform external RDF context into agent mental states (beliefs, desires, intentions) using formal BDI ontology patterns. This skill enables agents to reason about context through cognitive architecture, supporting deliberative reasoning, explainability, and semantic interoperability within multi-agent systems.
When to Activate
Activate this skill when:
- Processing external RDF context into agent beliefs about world states
- Modeling rational agency with perception, deliberation, and action cycles
- Enabling explainability through traceable reasoning chains
- Implementing BDI frameworks (SEMAS, JADE, JADEX)
- Augmenting LLMs with formal cognitive structures (Logic Augmented Generation)
- Coordinating mental states across multi-agent platforms
- Tracking temporal evolution of beliefs, desires, and intentions
- Linking motivational states to action plans
Do not activate this skill for adjacent work owned by other skills:
- General context-window explanations or attention mechanics:
context-fundamentals. - Persistent user, entity, or conversation memory without formal BDI state:
memory-systems. - Supervisor, swarm, or handoff topology decisions:
multi-agent-patterns. - General agent evaluation rubrics or quality gates:
evaluation.
Core Concepts
Mental Reality Architecture
Separate mental states into two ontological categories because BDI reasoning requires distinguishing what persists from what happens:
Mental States (Endurants) -- model these as persistent cognitive attributes that hold over time intervals:
Belief: Represent what the agent holds true about the world. Ground every belief in a world state reference.Desire: Represent what the agent wishes to bring about. Link each desire back to the beliefs that motivate it.Intention: Represent what the agent commits to achieving. An intention must fulfil a desire and specify a plan.
Mental Processes (Perdurants) -- model these as events that create or modify mental states, because tracking causal transitions enables explainability:
BeliefProcess: Triggers belief formation/update from perception. Always connect to a generating world state.DesireProcess: Generates desires from existing beliefs. Preserves the motivational chain.IntentionProcess: Commits to selected desires as actionable intentions.
Cognitive Chain Pattern
Wire beliefs, desires, and intentions into directed chains using bidirectional properties (motivates/isMotivatedBy, fulfils/isFulfilledBy) because this enables both forward reasoning (what should the agent do?) and backward tracing (why did the agent act?):
:Belief_store_open a bdi:Belief ;
rdfs:comment "Store is open" ;
bdi:motivates :Desire_buy_groceries .
:Desire_buy_groceries a bdi:Desire ;
rdfs:comment "I desire to buy groceries" ;
bdi:isMotivatedBy :Belief_store_open .
:Intention_go_shopping a bdi:Intention ;
rdfs:comment "I will buy groceries" ;
bdi:fulfils :Desire_buy_groceries ;
bdi:isSupportedBy :Belief_store_open ;
bdi:specifies :Plan_shopping .
World State Grounding
Always ground mental states in world state references rather than free-text descriptions, because ungrounded beliefs break semantic querying and cross-agent interoperability:
:Agent_A a bdi:Agent ;
bdi:perceives :WorldState_WS1 ;
bdi:hasMentalState :Belief_B1 .
:WorldState_WS1 a bdi:WorldState ;
rdfs:comment "Meeting scheduled at 10am in Room 5" ;
bdi:atTime :TimeInstant_10am .
:Belief_B1 a bdi:Belief ;
bdi:refersTo :WorldState_WS1 .
Goal-Directed Planning
Connect intentions to plans via bdi:specifies, and decompose plans into ordered task sequences using bdi:precedes, because this separation allows plan reuse across different intentions while keeping execution order explicit:
:Intention_I1 bdi:specifies :Plan_P1 .
:Plan_P1 a bdi:Plan ;
bdi:addresses :Goal_G1 ;
bdi:beginsWith :Task_T1 ;
bdi:endsWith :Task_T3 .
:Task_T1 bdi:precedes :Task_T2 .
:Task_T2 bdi:precedes :Task_T3 .
T2B2T Paradigm
Implement Triples-to-Beliefs-to-Triples as a bidirectional pipeline because agents must both consume external RDF context and produce new RDF assertions. Structure every T2B2T implementation in two explicit phases:
Phase 1: Triples-to-Beliefs -- Translate incoming RDF triples into belief instances. Use bdi:triggers to connect the external world state to a BeliefProcess, and bdi:generates to produce the resulting belief. This preserves provenance from source data through to internal cognition:
:WorldState_notification a bdi:WorldState ;
rdfs:comment "Push notification: Payment request $250" ;
bdi:triggers :BeliefProcess_BP1 .
:BeliefProcess_BP1 a bdi:BeliefProcess ;
bdi:generates :Belief_payment_request .
Phase 2: Beliefs-to-Triples -- After BDI deliberation selects an intention and executes a plan, project the results back into RDF using bdi:bringsAbout. This closes the loop so downstream systems can consume agent outputs as standard linked data:
:Intention_pay a bdi:Intention ;
bdi:specifies :Plan_payment .
:PlanExecution_PE1 a bdi:PlanExecution ;
bdi:satisfies :Plan_payment ;
bdi:bringsAbout :WorldState_payment_complete .
Notation Selection by Level
Choose notation based on the C4 abstraction level being modeled, because mixing notations at the wrong level obscures rather than clarifies the cognitive architecture:
| C4 Level | Notation | Mental State Representation |
|---|---|---|
| L1 Context | ArchiMate | Agent boundaries, external perception sources |
| L2 Container | ArchiMate | BDI reasoning engine, belief store, plan executor |
| L3 Component | UML | Mental state managers, process handlers |
| L4 Code | UML/RDF | Belief/Desire/Intention classes, ontology instances |
Justification and Explainability
Attach bdi:Justification instances to every mental entity using bdi:isJustifiedBy, because unjustified mental states make agent reasoning opaque and untraceable. Each justification should capture the evidence or rule that produced the mental state:
:Belief_B1 a bdi:Belief ;
bdi:isJustifiedBy :Justification_J1 .
:Justification_J1 a bdi:Justification ;
rdfs:comment "Official announcement received via email" .
:Intention_I1 a bdi:Intention ;
bdi:isJustifiedBy :Justification_J2 .
:Justification_J2 a bdi:Justification ;
rdfs:comment "Location precondition satisfied" .
Temporal Dimensions
Assign validity intervals to every mental state using bdi:hasValidity with TimeInterval instances, because beliefs without temporal bounds cannot be garbage-collected or conflict-checked during diachronic reasoning:
:Belief_B1 a bdi:Belief ;
bdi:hasValidity :TimeInterval_TI1 .
:TimeInterval_TI1 a bdi:TimeInterval ;
bdi:hasStartTime :TimeInstant_9am ;
bdi:hasEndTime :TimeInstant_11am .
Query mental states active at a specific moment using SPARQL temporal filters. Use this pattern to resolve conflicts when multiple beliefs about the same world state overlap in time:
SELECT ?mentalState WHERE {
?mentalState bdi:hasValidity ?interval .
?interval bdi:hasStartTime ?start ;
bdi:hasEndTime ?end .
FILTER(?start <= "2025-01-04T10:00:00"^^xsd:dateTime &&
?end >= "2025-01-04T10:00:00"^^xsd:dateTime)
}
Compositional Mental Entities
Decompose complex beliefs into constituent parts using bdi:hasPart relations, because monolithic beliefs force full replacement on partial updates. Structure composite beliefs so that each sub-belief can be independently updated, queried, or invalidated:
:Belief_meeting a bdi:Belief ;
rdfs:comment "Meeting at 10am in Room 5" ;
bdi:hasPart :Belief_meeting_time , :Belief_meeting_location .
# Update only location component without touching time
:BeliefProcess_update a bdi:BeliefProcess ;
bdi:modifies :Belief_meeting_location .
Practical Guidance
Build a BDI Model in Six Passes
Use this workflow when converting external semantic context into a BDI representation:
- Define the world-state substrate: Identify the external facts or events the agent can perceive. Model these as world states before creating beliefs.
- Create belief instances: Translate each relevant world state into a belief with provenance, temporal validity, and a justification reference.
- Derive desires from beliefs: Add desires only when a belief creates a goal-relevant motivation. Link each desire to the belief that motivates it.
- Commit intentions deliberately: Promote a desire to an intention only when the agent commits to a plan. Record the selected plan and preconditions.
- Project action results back to triples: After execution, emit resulting world states as RDF so downstream systems can consume the new state.
- Validate with competency questions: Query for provenance, motivation, plan sequence, and active validity windows before trusting the model.
Keep the Ontology Small
Start with Agent, WorldState, Belief, Desire, Intention, Plan, Task, Justification, and TimeInterval. Add specialized classes only after competency questions prove the core model cannot answer required queries. A compact ontology is easier to serialize into prompts, easier to validate, and less likely to create brittle reasoning chains.
Use BDI Only When Mental-State Semantics Matter
BDI modeling is justified when the system needs explainable agency: why an agent believed something, what desire that belief created, which intention was selected, and what plan executed. If the system only needs to remember facts across sessions, use memory-systems. If it only needs to split work across agents, use multi-agent-patterns.
Detailed Topics
Integration Patte
Content truncated.
When not to use it
- →General context-window explanations
- →Persistent memory without BDI semantics
- →Agent swarm topology decisions
Prerequisites
Limitations
- →Requires keeping belief chains to 3 levels or fewer to avoid inference costs
- →Requires explicit temporal bounds for all mental states
- →Ontology complexity must be managed to maintain performance
How it compares
It provides a formal cognitive architecture for agents, whereas generic memory systems only store facts without modeling the agent's internal reasoning or motivations.
Compared to similar skills
bdi-mental-states side by side with the closest alternatives in the catalog.
| Skill | Installs | Updated | Safety | Difficulty |
|---|---|---|---|---|
| bdi-mental-states (this skill) | 1 | 2mo | No flags | Advanced |
| llama-cpp | 21 | 8mo | Review | Intermediate |
| openrouter | 19 | 9mo | Review | Intermediate |
| opencode-cli | 14 | 7mo | Review | Advanced |
Try saying
Example prompts that trigger this skill in your AI assistant.
More by muratcankoylan
View all by muratcankoylan →You might also like
llama-cpp
zechenzhangAGI
Runs LLM inference on CPU, Apple Silicon, and consumer GPUs without NVIDIA hardware. Use for edge deployment, M1/M2/M3 Macs, AMD/Intel GPUs, or when CUDA is unavailable. Supports GGUF quantization (1.5-8 bit) for reduced memory and 4-10× speedup vs PyTorch on CPU.
openrouter
rawveg
OpenRouter API - Unified access to 400+ AI models through one API
opencode-cli
SpillwaveSolutions
This skill should be used when configuring or using the OpenCode CLI for headless LLM automation. Use when the user asks to "configure opencode", "use opencode cli", "set up opencode", "opencode run command", "opencode model selection", "opencode providers", "opencode vertex ai", "opencode mcp servers", "opencode ollama", "opencode local models", "opencode deepseek", "opencode kimi", "opencode mistral", "fallback cli tool", or "headless llm cli". Covers command syntax, provider configuration, Vertex AI setup, MCP servers, local models, cloud providers, and subprocess integration patterns.
qdrant-vector-search
zechenzhangAGI
High-performance vector similarity search engine for RAG and semantic search. Use when building production RAG systems requiring fast nearest neighbor search, hybrid search with filtering, or scalable vector storage with Rust-powered performance.
langchain
zechenzhangAGI
Framework for building LLM-powered applications with agents, chains, and RAG. Supports multiple providers (OpenAI, Anthropic, Google), 500+ integrations, ReAct agents, tool calling, memory management, and vector store retrieval. Use for building chatbots, question-answering systems, autonomous agents, or RAG applications. Best for rapid prototyping and production deployments.
unsloth
zechenzhangAGI
Expert guidance for fast fine-tuning with Unsloth - 2-5x faster training, 50-80% less memory, LoRA/QLoRA optimization