skills/bordini-hubner-2007-jason/SKILL.md
Jason multi-agent platform implementing AgentSpeak(L) for practical BDI agent programming and deployment
npx skillsauth add curiositech/windags-skills bordini-hubner-2007-jasonInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Load this skill when facing challenges involving:
Triggering Event Occurs:
├── Single applicable plan?
│ └── Execute immediately
├── Multiple applicable plans?
│ ├── Context conditions differ? → Select first applicable (specificity order)
│ ├── All contexts true? → Apply selection heuristics:
│ │ ├── Success rate (prior execution history) → Choose highest
│ │ ├── Cost estimate (resource requirements) → Choose lowest
│ │ └── Recency (when last used) → Choose most recent
│ └── Priority conflicts? → Use plan annotation weights
└── No applicable plans?
├── Generate failure event (-!goal)
└── Check for failure handlers
Communication Coordination Decision:
├── Information sharing needed?
│ ├── One-way update → .send(agent, tell, belief)
│ ├── Query response → .send(agent, askOne, query)
│ └── Complete knowledge → .send(agent, askAll, query)
├── Work delegation needed?
│ ├── Agent capable? → .send(agent, achieve, goal)
│ ├── Agent unknown? → Broadcast achieve request
│ └── Critical task? → Send with timeout handling
└── Coordination protocol?
├── Sequential handoff → Chain achieve messages
├── Parallel execution → Multiple concurrent achieves
└── Consensus needed → Negotiation protocol
| Failure Type | Detection Rule | Recovery Strategy | |-------------|----------------|-------------------| | Action failure | Action returns error/timeout | Try remaining plan body, then backtrack | | Context invalidated | Context query becomes false | Switch to alternative plan for same goal | | Goal impossible | All plans exhausted | Propagate failure to parent goal | | Communication failure | Send timeout/agent unavailable | Retry with alternative agents or methods | | Belief inconsistency | Contradictory percepts | Trigger belief revision or conflict resolution |
Symptom: Plans contain complex conditionals handling multiple cases Detection Rule: If plan body has >3 if-then branches based on beliefs Diagnosis: Programmer thinking procedurally instead of declaratively Fix: Split into separate plans with different context conditions
Symptom: Agent repeatedly selects inapplicable plans or wrong behaviors Detection Rule: If same plan fails >3 times consecutively with same context Diagnosis: Beliefs not synchronized with world state changes Fix: Add perception updating plans and belief revision guards
Symptom: System generates exponentially growing subgoals or infinite recursion Detection Rule: If intention stack depth >10 or same goal readopted cyclically Diagnosis: Missing termination conditions or circular goal dependencies Fix: Add cycle detection guards and base case plans
Symptom: Agents waiting indefinitely for responses that never come Detection Rule: If .send() followed by blocking wait without timeout Diagnosis: Treating asynchronous communication as synchronous RPC Fix: Add timeout handling and alternative response plans
Symptom: No plans applicable despite reasonable belief state Detection Rule: If events generated but no plans selected repeatedly Diagnosis: Context conditions too restrictive or beliefs incomplete Fix: Add default catch-all plans with "true" context
Scenario: Robot must deliver package to Building B, Room 205.
Initial State:
at(lobby_A), battery(90), hasPackage(pkg123)+!deliver(pkg123, building_B, room_205)Decision Process:
Plan Selection: Event +!deliver(pkg123, building_B, room_205) triggers plan search
battery(X) & X > 80 ✓battery(X) & X < 30 ✗true ✓Plan A Execution:
+!deliver(Pkg, Building, Room) : battery(X) & X > 80 <-
!navigate(Building);
!findRoom(Room);
!handover(Pkg).
Subgoal Decomposition: !navigate(building_B) triggers navigation plans
hasMap(building_B) → False!requestDirections(building_B)Dynamic Replanning: During navigation, belief update +obstacle(hallway_3)
followRoute(route_1)Failure Handling: !handover(pkg123) fails (recipient absent)
-!handover(pkg123)-!handover(Pkg) <- !findAlternateRecipient(Pkg); !handover(Pkg).
Novice vs Expert Differences:
Do NOT use this skill for:
When to delegate:
This skill is specifically for programming autonomous agents that must pursue goals while adapting to changing conditions through plan selection and failure recovery.
data-ai
license: Apache-2.0 NOT for unrelated tasks outside this domain.
development
Use when designing caching strategies (cache-aside, write-through, write-behind), implementing distributed locks, building rate limiters, leaderboards, real-time streams (XADD/consumer groups), pub/sub, or tuning eviction policies. Triggers: thundering-herd on cache miss, dogpile on key expiry, Redlock vs SET-NX-PX choice, sliding-window rate limiter, hot-key on a single cluster slot, big-key blowup, MULTI/EXEC across slots, KEYS in production. NOT for Redis Cluster operations/admin (different domain), embedded KV (SQLite, leveldb), in-process LRU caches, or Memcached.
tools
Drawing the `'use client'` boundary correctly in React Server Components apps (Next.js App Router, RSC frameworks) — leaf-pushing, slot composition, serialization rules, and environment poisoning prevention. Grounded in react.dev and Next.js 16 docs.
development
Use when designing rate limiting for an API, choosing between token bucket / sliding window / leaky bucket / fixed window, implementing it in Redis, deciding edge (Cloudflare/Upstash) vs origin enforcement, sizing per-user vs per-IP vs per-endpoint quotas, returning the right 429 response with Retry-After, or fixing the boundary-burst bug in fixed-window limiters. Triggers: 429 too many requests, INCR + EXPIRE, ZADD + ZREMRANGEBYSCORE + ZCARD, X-RateLimit-Remaining header, Cloudflare WAF rate limiting rules, Upstash @upstash/ratelimit, leaky bucket shaping vs policing, distributed rate limiter consistency. NOT for DDoS mitigation specifically (different scale), CAPTCHA / bot management, full WAF design, or per-user quota billing.