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:
tools
Building resilient distributed systems with circuit breakers, retries with full-jitter exponential backoff, retry budgets (per-request 3-attempt + per-client 10% ratio per Google SRE), deadline propagation, and the cascading-failure math (4 layers × 3 retries = 64x amplification). Grounded in Resilience4j, Microsoft Cloud Patterns, AWS Architecture Blog (Marc Brooker), and Google SRE Book.
testing
Designing HTTP cache headers that work correctly across browsers, CDNs, and shared proxies — `Cache-Control` directives per RFC 9111, `stale-while-revalidate` and `stale-if-error` per RFC 5861, the Vary header for varying responses, and surrogate keys for tag-based purging. Grounded in IETF RFCs and Cloudflare/Fastly docs.
development
Use when designing or fixing a Content Security Policy on a real site, choosing between nonce-based and hash-based CSP, adding strict-dynamic, debugging "Refused to execute inline script" errors, deploying CSP in report-only mode first, configuring report-to / report-uri, or auditing an existing policy for unsafe-inline / unsafe-eval / wildcards. Triggers: "CSP blocks legitimate inline script", strict-dynamic, nonce-{RANDOM}, sha256-{HASH}, object-src none, base-uri none, frame-ancestors, Trusted Types, X-Content-Security-Policy obsolete, report-only vs enforced. NOT for general HTTP security headers (HSTS, COOP/COEP), Trusted Types deep dive, CORS configuration, or building a WAF.
tools
Choosing and operating an HTTP API versioning strategy that doesn't break clients — Stripe's date-based pinned versions, the Deprecation/Sunset header pair (RFC 9745 + RFC 8594), URI vs header vs media-type approaches, and the version-transformer pattern. Grounded in Stripe's published architecture and IETF RFCs.