skills/park-2023-generative-agents/SKILL.md
Simulation of believable human behavior using LLM-powered generative agents with memory and social interaction
npx skillsauth add curiositech/windags-skills park-2023-generative-agentsInstall 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.
Activate when designing AI agents that maintain coherent behavior over extended periods (hours/days/weeks) with accumulated experience. Essential for multi-agent simulations, long-running assistants, and believable AI characters.
NOT for: Single-turn responses, prompt engineering, task-specific tools, or centrally coordinated systems.
Is agent behavior incoherent with past actions?
├─ YES: Audit retrieval function
│ ├─ Agent seems amnesic about important events?
│ │ └─ → Increase importance weight (0.1→0.3) or lower threshold (5→3)
│ ├─ Agent retrieves irrelevant memories?
│ │ └─ → Increase relevance weight (0.5→0.7) or improve embeddings
│ └─ Agent over-focuses on recent trivial events?
│ └─ → Decrease recency weight (0.99→0.95 decay factor)
└─ NO: Memory system functioning, check other components
| Importance Sum | Time Since Last | Action | |---------------|-----------------|--------| | >150 points | Any | Trigger reflection immediately | | 100-150 | >2 hours | Trigger reflection | | 50-100 | >6 hours | Trigger reflection | | <50 | Any | Wait for more observations |
Observation conflicts with current plan?
├─ Minor conflict (efficiency impact only)
│ └─ → Continue with plan
├─ Moderate conflict (plan becomes suboptimal)
│ ├─ High commitment context (public promises, deadlines)?
│ │ └─ → Continue plan, note conflict for future planning
│ └─ Low commitment context?
│ └─ → Replan affected time blocks only
└─ Major conflict (plan becomes impossible/harmful)
└─ → Full replan from current moment
Agent receives socially significant information?
├─ Information affects other known agents?
│ ├─ Strong relationship exists?
│ │ └─ → High probability (0.8+) to share in next interaction
│ └─ Weak relationship?
│ └─ → Moderate probability (0.4) if contextually relevant
└─ Information is private/personal?
└─ → Share only if directly asked or high trust relationship
Detection: Agent denies knowledge of information they previously demonstrated knowing Symptom: "I don't know about X" when agent stored observations about X Diagnosis: Retrieval function weights are mistuned, causing relevant memories to score below threshold Fix: Increase importance scoring for similar event types OR lower retrieval threshold temporarily OR retune relevance embeddings
Detection: Agent repeats same mistakes despite having multiple similar experiences Symptom: No behavioral learning from patterns (e.g., always late to meetings despite noting lateness) Diagnosis: Reflection not triggering on significant patterns OR reflections not being stored with sufficient importance Fix: Lower reflection threshold (150→100 importance points) OR increase importance scoring for reflection outputs (auto-score reflections as 8+ importance)
Detection: Agent continues obviously suboptimal plans when context changes Symptom: Walking to closed locations, pursuing obsolete goals, ignoring environmental changes Diagnosis: Replanning thresholds too high OR commitment override too strong Fix: Lower conflict threshold for replanning OR add forced replan checks at major time boundaries (hourly)
Detection: Agents stop interacting despite being in proximity and having social motivations Symptom: Multiple agents in same location but no conversation or coordination Diagnosis: Social observations scoring too low in importance OR reflection not synthesizing social patterns Fix: Boost importance scoring for social events (conversations, relationships) OR add social-specific reflection triggers
Detection: Agent treats mundane events as highly significant, drowning out actual important events Symptom: Reflection on trivial activities, treating routine tasks as major life events Diagnosis: Importance scoring model lacks calibration OR no relative scoring mechanism Fix: Implement comparative importance scoring (rate events relative to recent history) OR add importance decay over time
Scenario: Isabella (artist) wants to throw Valentine's Day party, needs to coordinate with multiple agents over 3 days.
Day 1 - Initial Planning:
Day 2 - Information Spreading:
Day 3 - Emergent Coordination:
Memory Retrieval Trade-offs Demonstrated:
Scenario: Tom has standing plan to work on novel 2-4pm, but Maya asks him to coffee at 3pm.
Decision Process:
What novice would miss: Treating this as binary choice (work OR coffee) instead of temporal reoptimization What expert catches: Relationship maintenance has long-term importance, schedule flexibility enables both goals
Don't use this architecture for:
Delegate when:
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.