Install
openclaw skills install ralstp-consultantAnalyze problems using RALSTP (Recursive Agents and Landmarks Strategic-Tactical Planning). Based on PhD thesis by Dorian Buksz (RALSTP). Identifies agents, calculates difficulty, and suggests decomposition.
openclaw skills install ralstp-consultantBased on "Recursive Agents and Landmarks Strategic-Tactical Planning (RALSTP)" by Dorian Buksz, King's College London, 2024.
Definition: Agents are objects with dynamic types that are active during goal state search.
How to identify:
truck and driver are dynamic (they're in drive action effects), but location is staticReal PDDL Example (RTAM Domain):
(:types
ambulance police_car tow_truck fire_brigade - vehicle
acc_victim vehicle car - subject
...
)
at, available, busy)Objects that are NOT agents — things being acted upon but don't act themselves.
Definition: Relationships between agents based on what preconditions they satisfy for other agents.
Types:
Definition: When agents fight for shared resources (time, space, locations, etc.)
Measurement:
Real PDDL Example (RTAM - Road Traffic Accident):
(:durative-action confirm_accident
:parameters (?V - police_car ?P - subject ?A - accident_location)
:condition (and (at start (at ?V ?A)) (at start (at ?P ?A)) ...)
:effect (and (at end (certified ?P)) ...)
)
(:durative-action untrap
:parameters (?V - fire_brigade ?P - acc_victim ?A - accident_location)
:condition (and (at start (certified ?P)) (at start (available ?V)) ...)
)
police_car must certify BEFORE fire_brigade can untrapaccident_locationfire_brigade busy during untrap → others must waitDefinition: Facts that must be true in any valid plan (from goals back to initial state).
Types:
Real PDDL Example (RTAM - sequential dependencies):
Goal: (delivered victim1) ∧ (delivered car1)
Required sequence of fact landmarks:
1. (certified victim1) ← police must confirm
2. (untrapped victim1) ← fire must free them
3. (aided victim1) ← ambulance must treat
4. (loaded victim1 ambulance) ← ambulance must load
5. (at victim1 hospital) ← deliver to hospital
6. (delivered victim1) ← FINAL
Action landmarks:
- confirm_accident → untrap → first_aid → load_victim → unload_victim → deliver_victim
From the thesis, difficulty increases with:
Buksz Complexity Score ≈ Agent Count × Entanglement Factor
This skill operates in two modes:
scripts/analyze.py can be run to mathematically extract agents and landmarks.The instructions below apply to both modes, but "Real PDDL Examples" are provided for technical context.
For any complex problem, just describe it and I'll apply RALSTP:
RALSTP analyze: I need to migrate 1000 VMs from datacentre A to B with minimal downtime
## RALSTP Analysis
### Agents Identified
- [list agents and their types]
### Passive Objects
- [list objects being acted upon]
### Dependency Graph
- [which agents depend on which]
### Difficulty Assessment
- Agent Count: X
- Entanglement: Low/Medium/High
- Estimated Complexity: [score]
### Strategic Phase
- [high-level plan ignoring details]
### Tactical Phase
- [detailed execution]
### Decomposition Suggestion
- Split by: [agent type / landmark / location]
- Parallelize: [what can run concurrently]
- Risks: [potential conflicts/entanglements]
USE for:
SKIP for:
PhD Thesis: "Recursive Agents and Landmarks Strategic-Tactical Planning (RALSTP)" — Dorian Buksz, King's College London, 2024.
Domain: Road Traffic Accident Management
Agents (4):
ambulance — transports victims to hospitalpolice_car — certifies accident/victimstow_truck — recovers vehiclesfire_brigade — untraps victims, extinguishes firesPassive Objects:
acc_victim — people needing helpcar — vehicles involved in accidentaccident_location, hospital, garageDependencies (Critical Path):
police_car → fire_brigade → ambulance → hospital
↓ ↓ ↓
certify untrap deliver
Landmarks Chain (must execute in order):
confirm_accident (police at scene)untrap (fire frees victim)first_aid (ambulance treats)load_victim → unload_victim → deliver_victimload_car → unload_car → deliver_vehicleEntanglement:
Difficulty: High — 4 agents, tight dependencies, shared locations