{
  "schemaVersion": "1.0",
  "item": {
    "slug": "ralstp-consultant",
    "name": "RALSTP Consultant",
    "source": "tencent",
    "type": "skill",
    "category": "AI 智能",
    "sourceUrl": "https://clawhub.ai/thedragosexperience/ralstp-consultant",
    "canonicalUrl": "https://clawhub.ai/thedragosexperience/ralstp-consultant",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/ralstp-consultant",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=ralstp-consultant",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "SKILL.md",
      "scripts/analyze.py"
    ],
    "primaryDoc": "SKILL.md",
    "quickSetup": [
      "Download the package from Yavira.",
      "Extract the archive and review SKILL.md first.",
      "Import or place the package into your OpenClaw setup."
    ],
    "agentAssist": {
      "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
      "steps": [
        "Download the package from Yavira.",
        "Extract it into a folder your agent can access.",
        "Paste one of the prompts below and point your agent at the extracted folder."
      ],
      "prompts": [
        {
          "label": "New install",
          "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
        },
        {
          "label": "Upgrade existing",
          "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
        }
      ]
    },
    "sourceHealth": {
      "source": "tencent",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-04-30T16:55:25.780Z",
      "expiresAt": "2026-05-07T16:55:25.780Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
        "contentDisposition": "attachment; filename=\"network-1.0.0.zip\"",
        "redirectLocation": null,
        "bodySnippet": null
      },
      "scope": "source",
      "summary": "Source download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this source.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/ralstp-consultant"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    },
    "downloadPageUrl": "https://openagent3.xyz/downloads/ralstp-consultant",
    "agentPageUrl": "https://openagent3.xyz/skills/ralstp-consultant/agent",
    "manifestUrl": "https://openagent3.xyz/skills/ralstp-consultant/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/ralstp-consultant/agent.md"
  },
  "agentAssist": {
    "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
    "steps": [
      "Download the package from Yavira.",
      "Extract it into a folder your agent can access.",
      "Paste one of the prompts below and point your agent at the extracted folder."
    ],
    "prompts": [
      {
        "label": "New install",
        "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
      },
      {
        "label": "Upgrade existing",
        "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
      }
    ]
  },
  "documentation": {
    "source": "clawhub",
    "primaryDoc": "SKILL.md",
    "sections": [
      {
        "title": "RALSTP Consultant",
        "body": "Based on \"Recursive Agents and Landmarks Strategic-Tactical Planning (RALSTP)\" by Dorian Buksz, King's College London, 2024."
      },
      {
        "title": "1. Agents Identification",
        "body": "Definition: Agents are objects with dynamic types that are active during goal state search.\n\nHow to identify:\n\nDynamic type = appears as first argument of a predicate in any action's effects\nStatic type = never appears in action effects\nExample: In Driverlog, truck and driver are dynamic (they're in drive action effects), but location is static\n\nReal PDDL Example (RTAM Domain):\n\n(:types  \n   ambulance police_car tow_truck fire_brigade - vehicle\n   acc_victim vehicle car - subject\n   ...\n)\n\nAgents: ambulance, police_car, tow_truck, fire_brigade (appear in action effects like at, available, busy)\nPassive: acc_victim, car (acted upon but don't act)"
      },
      {
        "title": "2. Passive Objects",
        "body": "Objects that are NOT agents — things being acted upon but don't act themselves.\n\nPackages, cargo, data, files, victims in RTAM"
      },
      {
        "title": "3. Agent Dependencies",
        "body": "Definition: Relationships between agents based on what preconditions they satisfy for other agents.\n\nTypes:\n\nIndependent — agents that don't depend on each other\nDependent — agents that need other agents' preconditions satisfied\nConflicting — agents that interfere with each other"
      },
      {
        "title": "4. Entanglement",
        "body": "Definition: When agents fight for shared resources (time, space, locations, etc.)\n\nMeasurement:\n\nCount of shared predicates\nConflict frequency in goal states\n\nReal PDDL Example (RTAM - Road Traffic Accident):\n\n(:durative-action confirm_accident\n   :parameters (?V - police_car ?P - subject ?A - accident_location)\n   :condition (and (at start (at ?V ?A)) (at start (at ?P ?A)) ...)\n   :effect (and (at end (certified ?P)) ...)\n)\n\n(:durative-action untrap\n   :parameters (?V - fire_brigade ?P - acc_victim ?A - accident_location)\n   :condition (and (at start (certified ?P)) (at start (available ?V)) ...)\n)\n\nEntanglement: police_car must certify BEFORE fire_brigade can untrap\nResource conflict: Both need to be at same accident_location\nAvailability: fire_brigade busy during untrap → others must wait"
      },
      {
        "title": "5. Landmarks",
        "body": "Definition: Facts that must be true in any valid plan (from goals back to initial state).\n\nTypes:\n\nFact landmarks — propositions that must hold\nAction landmarks — actions that must be executed\nRelaxed landmarks — landmarks considering only positive effects (ignoring deletes)\n\nReal PDDL Example (RTAM - sequential dependencies):\n\nGoal: (delivered victim1) ∧ (delivered car1)\n\nRequired sequence of fact landmarks:\n1. (certified victim1)     ← police must confirm\n2. (untrapped victim1)     ← fire must free them\n3. (aided victim1)         ← ambulance must treat\n4. (loaded victim1 ambulance) ← ambulance must load\n5. (at victim1 hospital)   ← deliver to hospital\n6. (delivered victim1)     ← FINAL\n\nAction landmarks:\n- confirm_accident → untrap → first_aid → load_victim → unload_victim → deliver_victim"
      },
      {
        "title": "6. Strategic vs Tactical",
        "body": "Strategic: Abstract planning level. Solve \"what needs to happen first\" ignoring details.\nTactical: Detailed execution level. Solve \"exactly how to do it\"."
      },
      {
        "title": "7. Difficulty Metrics",
        "body": "From the thesis, difficulty increases with:\n\nMore agents in goal state\nMore entangled agents (conflicting dependencies)\nMore inactive dynamic objects not in goal\n\nBuksz Complexity Score ≈ Agent Count × Entanglement Factor"
      },
      {
        "title": "Implementation Note (Natural Language vs PDDL)",
        "body": "This skill operates in two modes:\n\nConceptual Mode (Default): Uses the LLM to apply RALSTP methodology to natural language problems (e.g., \"Plan a marketing launch\"). No PDDL files are required. The agent identifies Agents/Landmarks conceptually.\nFormal Mode (Optional): If you provide PDDL domain/problem files, the included scripts/analyze.py can be run to mathematically extract agents and landmarks.\n\nThe instructions below apply to both modes, but \"Real PDDL Examples\" are provided for technical context."
      },
      {
        "title": "Usage",
        "body": "For any complex problem, just describe it and I'll apply RALSTP:\n\nRALSTP analyze: I need to migrate 1000 VMs from datacentre A to B with minimal downtime"
      },
      {
        "title": "Output Format",
        "body": "## RALSTP Analysis\n\n### Agents Identified\n- [list agents and their types]\n\n### Passive Objects  \n- [list objects being acted upon]\n\n### Dependency Graph\n- [which agents depend on which]\n\n### Difficulty Assessment\n- Agent Count: X\n- Entanglement: Low/Medium/High\n- Estimated Complexity: [score]\n\n### Strategic Phase\n- [high-level plan ignoring details]\n\n### Tactical Phase\n- [detailed execution]\n\n### Decomposition Suggestion\n- Split by: [agent type / landmark / location]\n- Parallelize: [what can run concurrently]\n- Risks: [potential conflicts/entanglements]"
      },
      {
        "title": "When to Use",
        "body": "USE for:\n\nMulti-step workflows with multiple actors\nMigration/tasks with dependencies\nResource contention problems\nComplex orchestrations\n\nSKIP for:\n\nSimple Q&A\nSingle-task problems"
      },
      {
        "title": "Reference",
        "body": "PhD Thesis: \"Recursive Agents and Landmarks Strategic-Tactical Planning (RALSTP)\" — Dorian Buksz, King's College London, 2024."
      },
      {
        "title": "Example: RTAM Domain (IPC-2014)",
        "body": "Domain: Road Traffic Accident Management\n\nSource: https://github.com/potassco/pddl-instances/tree/master/ipc-2014/domains/road-traffic-accident-management-temporal-satisficing"
      },
      {
        "title": "Full Analysis",
        "body": "Agents (4):\n\nambulance — transports victims to hospital\npolice_car — certifies accident/victims\ntow_truck — recovers vehicles\nfire_brigade — untraps victims, extinguishes fires\n\nPassive Objects:\n\nacc_victim — people needing help\ncar — vehicles involved in accident\naccident_location, hospital, garage\n\nDependencies (Critical Path):\n\npolice_car → fire_brigade → ambulance → hospital\n     ↓            ↓           ↓\n  certify      untrap       deliver\n\nLandmarks Chain (must execute in order):\n\nconfirm_accident (police at scene)\nuntrap (fire frees victim)\nfirst_aid (ambulance treats)\nload_victim → unload_victim → deliver_victim\nload_car → unload_car → deliver_vehicle\n\nEntanglement:\n\nMultiple vehicles must be at same location (accident scene)\nVehicles have limited availability (busy during actions)\nSequence constraints: can't deliver before certify\n\nDifficulty: High — 4 agents, tight dependencies, shared locations"
      }
    ],
    "body": "RALSTP Consultant\n\nBased on \"Recursive Agents and Landmarks Strategic-Tactical Planning (RALSTP)\" by Dorian Buksz, King's College London, 2024.\n\nCore Concepts (from the thesis)\n1. Agents Identification\n\nDefinition: Agents are objects with dynamic types that are active during goal state search.\n\nHow to identify:\n\nDynamic type = appears as first argument of a predicate in any action's effects\nStatic type = never appears in action effects\nExample: In Driverlog, truck and driver are dynamic (they're in drive action effects), but location is static\n\nReal PDDL Example (RTAM Domain):\n\n(:types  \n   ambulance police_car tow_truck fire_brigade - vehicle\n   acc_victim vehicle car - subject\n   ...\n)\n\nAgents: ambulance, police_car, tow_truck, fire_brigade (appear in action effects like at, available, busy)\nPassive: acc_victim, car (acted upon but don't act)\n2. Passive Objects\n\nObjects that are NOT agents — things being acted upon but don't act themselves.\n\nPackages, cargo, data, files, victims in RTAM\n3. Agent Dependencies\n\nDefinition: Relationships between agents based on what preconditions they satisfy for other agents.\n\nTypes:\n\nIndependent — agents that don't depend on each other\nDependent — agents that need other agents' preconditions satisfied\nConflicting — agents that interfere with each other\n4. Entanglement\n\nDefinition: When agents fight for shared resources (time, space, locations, etc.)\n\nMeasurement:\n\nCount of shared predicates\nConflict frequency in goal states\n\nReal PDDL Example (RTAM - Road Traffic Accident):\n\n(:durative-action confirm_accident\n   :parameters (?V - police_car ?P - subject ?A - accident_location)\n   :condition (and (at start (at ?V ?A)) (at start (at ?P ?A)) ...)\n   :effect (and (at end (certified ?P)) ...)\n)\n\n(:durative-action untrap\n   :parameters (?V - fire_brigade ?P - acc_victim ?A - accident_location)\n   :condition (and (at start (certified ?P)) (at start (available ?V)) ...)\n)\n\nEntanglement: police_car must certify BEFORE fire_brigade can untrap\nResource conflict: Both need to be at same accident_location\nAvailability: fire_brigade busy during untrap → others must wait\n5. Landmarks\n\nDefinition: Facts that must be true in any valid plan (from goals back to initial state).\n\nTypes:\n\nFact landmarks — propositions that must hold\nAction landmarks — actions that must be executed\nRelaxed landmarks — landmarks considering only positive effects (ignoring deletes)\n\nReal PDDL Example (RTAM - sequential dependencies):\n\nGoal: (delivered victim1) ∧ (delivered car1)\n\nRequired sequence of fact landmarks:\n1. (certified victim1)     ← police must confirm\n2. (untrapped victim1)     ← fire must free them\n3. (aided victim1)         ← ambulance must treat\n4. (loaded victim1 ambulance) ← ambulance must load\n5. (at victim1 hospital)   ← deliver to hospital\n6. (delivered victim1)     ← FINAL\n\nAction landmarks:\n- confirm_accident → untrap → first_aid → load_victim → unload_victim → deliver_victim\n\n6. Strategic vs Tactical\nStrategic: Abstract planning level. Solve \"what needs to happen first\" ignoring details.\nTactical: Detailed execution level. Solve \"exactly how to do it\".\n7. Difficulty Metrics\n\nFrom the thesis, difficulty increases with:\n\nMore agents in goal state\nMore entangled agents (conflicting dependencies)\nMore inactive dynamic objects not in goal\n\nBuksz Complexity Score ≈ Agent Count × Entanglement Factor\n\nImplementation Note (Natural Language vs PDDL)\n\nThis skill operates in two modes:\n\nConceptual Mode (Default): Uses the LLM to apply RALSTP methodology to natural language problems (e.g., \"Plan a marketing launch\"). No PDDL files are required. The agent identifies Agents/Landmarks conceptually.\nFormal Mode (Optional): If you provide PDDL domain/problem files, the included scripts/analyze.py can be run to mathematically extract agents and landmarks.\n\nThe instructions below apply to both modes, but \"Real PDDL Examples\" are provided for technical context.\n\nUsage\n\nFor any complex problem, just describe it and I'll apply RALSTP:\n\nRALSTP analyze: I need to migrate 1000 VMs from datacentre A to B with minimal downtime\n\nOutput Format\n## RALSTP Analysis\n\n### Agents Identified\n- [list agents and their types]\n\n### Passive Objects  \n- [list objects being acted upon]\n\n### Dependency Graph\n- [which agents depend on which]\n\n### Difficulty Assessment\n- Agent Count: X\n- Entanglement: Low/Medium/High\n- Estimated Complexity: [score]\n\n### Strategic Phase\n- [high-level plan ignoring details]\n\n### Tactical Phase\n- [detailed execution]\n\n### Decomposition Suggestion\n- Split by: [agent type / landmark / location]\n- Parallelize: [what can run concurrently]\n- Risks: [potential conflicts/entanglements]\n\nWhen to Use\n\nUSE for:\n\nMulti-step workflows with multiple actors\nMigration/tasks with dependencies\nResource contention problems\nComplex orchestrations\n\nSKIP for:\n\nSimple Q&A\nSingle-task problems\nReference\n\nPhD Thesis: \"Recursive Agents and Landmarks Strategic-Tactical Planning (RALSTP)\" — Dorian Buksz, King's College London, 2024.\n\nExample: RTAM Domain (IPC-2014)\n\nDomain: Road Traffic Accident Management\n\nSource: https://github.com/potassco/pddl-instances/tree/master/ipc-2014/domains/road-traffic-accident-management-temporal-satisficing\n\nFull Analysis\n\nAgents (4):\n\nambulance — transports victims to hospital\npolice_car — certifies accident/victims\ntow_truck — recovers vehicles\nfire_brigade — untraps victims, extinguishes fires\n\nPassive Objects:\n\nacc_victim — people needing help\ncar — vehicles involved in accident\naccident_location, hospital, garage\n\nDependencies (Critical Path):\n\npolice_car → fire_brigade → ambulance → hospital\n     ↓            ↓           ↓\n  certify      untrap       deliver\n\n\nLandmarks Chain (must execute in order):\n\nconfirm_accident (police at scene)\nuntrap (fire frees victim)\nfirst_aid (ambulance treats)\nload_victim → unload_victim → deliver_victim\nload_car → unload_car → deliver_vehicle\n\nEntanglement:\n\nMultiple vehicles must be at same location (accident scene)\nVehicles have limited availability (busy during actions)\nSequence constraints: can't deliver before certify\n\nDifficulty: High — 4 agents, tight dependencies, shared locations"
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/thedragosexperience/ralstp-consultant",
    "publisherUrl": "https://clawhub.ai/thedragosexperience/ralstp-consultant",
    "owner": "thedragosexperience",
    "version": "1.0.1",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/ralstp-consultant",
    "downloadUrl": "https://openagent3.xyz/downloads/ralstp-consultant",
    "agentUrl": "https://openagent3.xyz/skills/ralstp-consultant/agent",
    "manifestUrl": "https://openagent3.xyz/skills/ralstp-consultant/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/ralstp-consultant/agent.md"
  }
}