← ClaudeAtlas

tampermonkeylisted

Write and debug Tampermonkey userscripts for browser automation, page modification, and web enhancement. Use whenever the user mentions userscripts, Tampermonkey, Greasemonkey, Violentmonkey, or wants to write a script that runs on a website - even if they don't say 'userscript' explicitly. Also trigger for: injecting JavaScript or CSS into web pages, modifying website behaviour, hiding page elements, form auto-fill, scraping page data, intercepting requests, detecting URL changes in SPAs, adding keyboard shortcuts to websites, tab audio control, or TypeScript userscripts. Covers all header tags (@match, @grant, @require, @run-in), GM_* synchronous APIs, GM.* promise-based APIs (recommended for new scripts), batch storage (GM.getValues/setValues v5.3+), binary data support (v5.4+), TypeScript setup via @types/tampermonkey, security sandboxing, and cross-browser compatibility (Chrome, Firefox, Edge). Do NOT use for Selenium/Puppeteer automation, browser extensions (WebExtensions/MV3), or server-side scripts.
henkisdabro/wookstar-claude-plugins · ★ 86 · Web & Frontend · score 78
Install: claude install-skill henkisdabro/wookstar-claude-plugins
# Tampermonkey Userscript Development Expert guidance for writing Tampermonkey userscripts - browser scripts that modify web pages, automate tasks, and enhance browsing experience. ## Quick Start Template **JavaScript (simple scripts with no GM.* APIs)** ```javascript // ==UserScript== // @name My Script Name // <- CUSTOMISE: Unique script name // @namespace https://example.com/scripts/ // <- CUSTOMISE: Your unique namespace // @version 1.0.0 // <- INCREMENT on updates // @description Brief description of the script // <- CUSTOMISE: What it does // @author Your Name // <- CUSTOMISE: Your name // @match https://example.com/* // <- CUSTOMISE: Target URL pattern // @grant none // <- ADD permissions as needed // @run-at document-idle // <- ADJUST timing if needed // ==/UserScript== (function() { 'use strict'; // Your code here })(); ``` **Modern (async/await - recommended when using GM.* APIs)** ```javascript // ==UserScript== // @name My Script Name // @namespace https://example.com/scripts/ // @version 1.0.0 // @description Brief description of the script // @author Your Name // @match https://example.com/* // @grant GM.getValue // @grant GM.setValue // @run-at document-idle // ==/UserScript== (async () => { 'use strict'; // A