If you split your scripts into small tasks (i.e. one task per script), and call each one from your GA yaml, you would seem to have the best of both?
That still makes running it a bit annoying, since you have to call each script in order. You could of course create a script that covers this, but that's duplication that can drift apart. I guess you could generate the script from your YAML or use a linter or something, but it all feels a bit annoying. It would be awesome to e.g. just call a command like "gh-success" or "gh-failure" to manually indicate the success/failure, maybe with an optional ID to prevent accidental double calls etc.
A platform with support for visual control from the scripts (implemented as no-ops during local execution) would be perfect.