Since more and more web sites/apps are using JavaScript, some of the most powerful things you can do are in interfacing with the site's own JS. Throw down a DOM breakpoint, trace the call stack to find a method you want, find a reference to the app object and you can basically write any macro you want.<p>Yet userscripts fail to meet that use-case. They run in weird sandboxes that pretend to be the real runtime but really aren't. They focus on DOM modification in a time when the DOM is little more than a framebuffer. I love userscripts and used to have a bunch of them. Now, I have a folder of snippets to paste into the dev console and a bunch of custom extensions in dev-mode. Userscripts are simply too limiting these days.