When I was starting with user scripts, my first error was not using wildcards.
// Broken:
// @include https://www.example.com/
// Working:
// @include https://www.example.com/*
That’s the simplest way for the script to not even apply, and thus not run at all. In addition, make sure to check for syntax errors; a misplaced semicolon can prevent the script from being parsed, and thus it is ignored.