skills/xie-et-al-2025-survey-llm-task-planning/SKILL.md
Comprehensive survey of LLM-based task planning methods including decomposition, search, and execution strategies
npx skillsauth add curiositech/windags-skills xie-et-al-2025-survey-llm-task-planningInstall 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 designing distributed control systems that must maintain stability under exponentially growing adversarial attacks without relying on attack detection or central coordination.
Activation Triggers:
IF adversarial growth rate IS exponentially unbounded (||attack|| ≤ γ·exp(ρt))
├─ AND system has distributed topology
│ ├─ IF agents have only neighborhood observability
│ │ └─ THEN: Use adaptive neighborhood consensus (this skill)
│ └─ IF global state observable
│ └─ THEN: Use centralized exponential compensation
├─ AND system has centralized topology
│ └─ THEN: Design centralized adaptive controller with exponential gains
ELSE IF growth rate IS polynomial bounded (||attack|| ≤ γ·t^α)
├─ THEN: Use robust H∞ or sliding mode control
ELSE IF growth rate IS constant bounded (||attack|| ≤ γ)
└─ THEN: Use standard robust control techniques
| System Dimension | Communication Topology | Recommended Lyapunov Form | Proof Strategy | |------------------|----------------------|--------------------------|----------------| | n < 5 | Fully connected | V = ½x^T P x (quadratic) | Direct derivative computation | | 5 ≤ n < 20 | Connected graph | V = V_track + V_adapt (composite) | Block diagonal P matrix | | n ≥ 20 | Sparse graph | V = Σᵢ Vᵢ(xᵢ) + coupling terms | Distributed Lyapunov approach | | Any | Tree topology | V with graph Laplacian structure | Exploit tree properties |
STEP 1: Estimate attack parameters (γᵢ, ρᵢ)
├─ IF unknown: Use worst-case bounds from physical constraints
└─ IF observable: Estimate from recent consensus error patterns
STEP 2: Select adaptation gains
├─ IF fast dynamics (frequency control): βf = 40-60
├─ IF slow dynamics (voltage control): βv = 20-40
└─ IF mixed timescales: Use βf = 2×βv
STEP 3: Tune threshold parameters
├─ IF high noise environment: λ = 0.10-0.15 (higher threshold)
├─ IF low noise environment: λ = 0.05-0.08 (sensitive response)
└─ IF unknown noise: Start λ = 0.10, adjust based on oscillation
STEP 4: Verify ultimate bound
├─ IF bound > tolerance: Increase β gains by factor 1.5-2.0
├─ IF oscillations appear: Decrease β by factor 0.7, increase η damping
└─ IF stable: Proceed to implementation
Symptoms: System initially stable, then sudden divergence; control effort plateaus while errors grow Diagnosis: Using fixed gains designed for bounded disturbances against exp(ρt) attacks Detection Rule: IF tracking error grows faster than polynomial DESPITE increasing control effort Fix: Replace linear compensation Γ = K·error with exponential form Γ = (error·exp(φ))/(|error| + η)
Symptoms: φᵢ parameters grow without bound; actuator saturation; system becomes uncontrollable Diagnosis: No damping terms in adaptation law; βᵢ gains too aggressive Detection Rule: IF adaptation parameters φᵢ > 10×initial values AND still growing Fix: Add leakage terms: φ̇ᵢ = βᵢ(|error| - λᵢ) - σᵢφᵢ; implement anti-windup when actuators saturate
Symptoms: System unstable despite correct local control laws; consensus never achieved Diagnosis: Communication graph lacks sufficient connectivity; adversary has isolated critical nodes Detection Rule: IF eigenvalues of graph Laplacian < connectivity threshold Fix: Ensure algebraic connectivity λ₂(L) > minimum value; add redundant communication links
Symptoms: Proof "works" but simulation shows instability; parameters tuned from flawed analysis Diagnosis: V̇ computation error; neglected cross-terms between tracking and adaptation dynamics Detection Rule: IF theoretical bound doesn't match simulation results within 20% Fix: Recompute V̇ including all coupling terms: V̇ = V̇_track + V̇_adapt + V̇_cross
Symptoms: Agents converge to wrong values; system appears stable but operates at incorrect setpoints Diagnosis: Adversary has compromised enough agents to shift consensus; local compensation insufficient Detection Rule: IF steady-state values drift from references despite stable Lyapunov function Fix: Implement reference tracking alongside consensus; use signed graph approaches for Byzantine tolerance
Initial State: 4-bus microgrid with distributed generators, nominal frequency 50 Hz Attack Profile: False data injection on frequency measurements: μf₁(t) = 0.5·exp(0.3t) Hz Goal: Maintain frequency synchronization with ultimate bound < 0.2 Hz
Step 1: Model the Attack
Step 2: Design Lyapunov Function
V = ½∑ᵢ(δfᵢ - δf*)² + ½∑ᵢ(φfᵢ - φf*)²/βfᵢ
Where δfᵢ = frequency deviation, φfᵢ = adaptation parameter
Step 3: Compute Neighborhood Consensus Errors For agent 1 connected to agents 2,4:
ξf₁ = a₁₂(δf₁ - δf₂) + a₁₄(δf₁ - δf₄)
Under attack: ξ̃f₁ = ξf₁ + μf₁(t) = ξf₁ + 0.5·exp(0.3t)
Step 4: Apply Adaptive Compensation
Γf₁ = (ξ̃f₁ · exp(φf₁))/(|ξ̃f₁| + ηf₁)
φ̇f₁ = βf₁(|ξ̃f₁| - λf₁)
Parameters: βf₁ = 50, λf₁ = 0.08, ηf₁ = 0.01
Step 5: Verify Lyapunov Derivative
V̇ ≤ -α∑ᵢξfᵢ² + β∑ᵢγᵢexp(ρᵢt)
Key insight: Adaptation parameter φf₁ grows to ensure α·ξf₁² dominates β·γ₁exp(ρ₁t)
Step 6: Calculate Ultimate Bound From Lyapunov analysis: ||δf||∞ ≤ √(2γ₁/(α·λf₁)) = √(2×0.5/(2.5×0.08)) = 1.58 Hz
What Expert Catches vs. Novice Misses:
Validation Results:
Validation checklist for Lyapunov-based resilient control implementation:
Lyapunov Function Construction:
Derivative Analysis:
Parameter Validation:
Ultimate Bound Verification:
Graph Topology Requirements:
Physical Implementation:
Robustness Checks:
Do NOT use this skill for:
Detection-based security systems: For intrusion detection, malware classification, or signature-based defense → use adversarial-ml-defense skill instead
Bounded disturbance scenarios: For systems facing only constant-bounded or polynomial-growing disturbances → use robust-h-infinity-control or sliding-mode-control skills instead
Centralized architectures: For systems with reliable central coordination and global state observability → use centralized-adaptive-control skill instead
Performance optimization: For maximizing tracking accuracy under normal conditions → use optimal-control-theory or model-predictive-control skills instead
Byzantine fault tolerance: For systems requiring resilience against arbitrary malicious behavior (not just false data injection) → use byzantine-consensus-protocols skill instead
Real-time systems with hard deadlines: For control loops requiring deterministic response times → use real-time-control-systems skill instead
Unknown system dynamics: For systems where plant model is completely unknown → use reinforcement-learning-control or neural-adaptive-control skills instead
This skill specifically targets the intersection of:
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.