Hi poet,
GPGOAP is an implementation of GOAP by Jeff Orkin. This in turn, is based on MIT's STRIPS planner.
The README.md on my GPGOAP page walks through the mechanisms of how the planner works.
My implementation has the property of being completely decoupled from the game's code. There are no enums, types, objects required from the game in the GPGOAP code as it is all based on symbols that the game feeds it.