| name | pddl-solver |
| description | Use this skill when the user wants to SOLVE a PDDL planning instance — given a domain.pddl and problem.pddl, produce a valid plan. Triggers: "solve this PDDL problem", "find a plan for", "generate a plan", domain.pddl + problem.pddl together, "what plan achieves this goal", plan validation, plan repair, "check if this plan is valid", "fix this invalid plan".
|
PDDL Solver Skill
Read the domain and problem files and produce a valid plan.
Generate a Plan
Read the domain and problem files. Produce a plan — one (action-name arg1 arg2)
per line — that achieves the goal from the initial state.
Validate
Write the plan to a file, then run:
uv run python scripts/validate_plan.py domain.pddl problem.pddl plan.txt
The validator outputs:
VALID: Plan achieves goal in N steps — done
INVALID at step K: (action args) followed by the unmet precondition and current state
INVALID: Goal not achieved. Missing atoms: [...]
Repair if Invalid
If the validator reports an error, fix the issue and re-validate. Repeat up to
3 attempts. If the plan still fails after 3 attempts, report the failure
honestly and suggest an external planner (pyperplan, Fast Downward).
Output
Present the validated plan as a plain list of actions:
(action1 arg1 arg2)
(action2 arg1 arg3)
References
- PDDL syntax:
references/pddl_syntax.md
- Failure modes and repairs:
references/debugging_guide.md
- Worked example:
assets/few_shot_examples/blocksworld_solved.txt