skills/decker-lesser-1995-gpgp-taems/SKILL.md
Generalized Partial Global Planning with TAEMS task structures for multi-agent coordination
npx skillsauth add curiositech/windags-skills decker-lesser-1995-gpgp-taemsInstall 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.
Build coordination mechanisms for distributed systems using task structure analysis and commitment protocols. Select minimal coordination mechanisms based on specific task relationship types rather than universal approaches.
IF analyzing new coordination requirement THEN:
1. Identify task relationship type:
├─ Enables (B cannot start until A completes)
│ └─ Use strict deadline commitments, low negotiability
├─ Facilitates (A helps B but B can proceed without A)
│ └─ Use opportunistic information sharing, high negotiability
├─ Hinders (A competes with B for resources)
│ └─ Use deconfliction protocols, resource allocation
└─ Redundancy (A and B achieve same goal)
└─ Use result sharing, early termination triggers
2. Assess relationship strength (power factor 0.0-1.0):
├─ > 0.7: Coordinate with full protocol
├─ 0.3-0.7: Coordinate with lightweight mechanisms
└─ < 0.3: Skip coordination, act independently
IF establishing commitment between agents THEN:
1. Determine commitment type needed:
├─ Hard deadline + quality requirement
│ └─ Use C(DL(T,q,tdl)): "achieve quality q by time tdl"
└─ Quality achievement without strict timing
└─ Use C(Do(T,q)): "achieve quality q when feasible"
2. Set negotiability index:
├─ Critical path task: negotiability = 0.1-0.3
├─ Important but flexible: negotiability = 0.4-0.7
└─ Nice-to-have: negotiability = 0.8-1.0
3. Establish renegotiation triggers:
├─ Resource availability changes > 20%
├─ Task priority shifts
└─ Blocking dependencies emerge
IF deciding what information to share THEN:
1. Calculate sharing value:
├─ IF information affects another agent's task success > 10%
│ └─ Share immediately
├─ IF information enables better resource allocation
│ └─ Share if communication cost < expected utility gain
└─ IF information is local status update
└─ Share only to committed partners
2. Determine sharing mechanism:
├─ Urgent commitment changes: Direct notification
├─ Task structure updates: Broadcast to affected agents
└─ Status updates: Periodic bulletin
Symptoms: Coordination mechanisms handle too many task types, slow decision-making, high overhead Detection: IF coordination overhead > 30% of total compute time OR mechanism has >20 conditional branches Fix: Decompose into specialized mechanisms, each handling 1-2 relationship types
Symptoms: Agents make commitments they cannot keep, frequent commitment breaks, cascading failures Detection: IF commitment break rate > 15% OR agents consistently miss deadlines by >50% Fix: Add negotiability indices, implement realistic resource estimation, create commitment verification protocols
Symptoms: Agents act on stale information, redundant work, missed coordination opportunities
Detection: IF agents request same information multiple times OR duplicate work detected
Fix: Implement strategic information sharing based on expected value calculation, create information marketplaces
Symptoms: Breaking one commitment forces breaking many others, system-wide coordination collapse Detection: IF single commitment break causes >5 secondary breaks OR system cannot reach quiescence Fix: Design commitment networks with circuit breakers, prioritize commitments, implement graceful degradation
Symptoms: Coordination stops while agents still have pending work, incomplete task execution Detection: IF agents terminate with unfinished commitments OR coordination ends before all constraints satisfied Fix: Implement explicit quiescence detection, track commitment lifecycle states, add termination protocols
Scenario: Designing coordination between payment service (A) and order service (B) in e-commerce system.
Task Analysis:
Mechanism Selection Process:
Implementation:
Payment Service commits to Order Service:
- Commitment: C(DL(ProcessPayment, 0.95, order_timeout-30sec))
- Quality: 95% success rate
- Deadline: 30 seconds before order timeout
- Negotiability: 0.2 (low - critical path)
- Renegotiation triggers: fraud_score > threshold, payment_gateway_down
Expert vs Novice:
Scenario: Three robots (A, B, C) cleaning warehouse with overlapping patrol zones.
Task Analysis:
Decision Tree Navigation:
Mechanism Implementation:
A-B Coordination:
- Opportunistic info sharing: "cleaned zone X at quality 0.8"
- Negotiability: 0.7 (flexible timing)
B-C Coordination:
- Resource allocation: charging station scheduler
- Strict deconfliction: mutex on station access
- Negotiability: 0.3 (safety critical)
A-C Coordination:
- Result sharing: "central zone cleaned, terminating redundant task"
- Early termination trigger on result quality > 0.9
Trade-off Analysis:
Task Structure Analysis Complete:
Mechanism Selection Justified:
Commitment Protocol Design:
Information Sharing Strategy:
Failure Mode Coverage:
Performance Validation:
This skill should NOT be used for:
Delegate to other skills:
byzantine-fault-tolerance skilldistributed-consensus skilldistributed-transactions skilldistributed-load-balancing skillreal-time-systems skilldata-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.