### Install mcp-currency-conversion Plugin Source: https://context7.com/henkisdabro/wookstar-claude-plugins/llms.txt Installs the mcp-currency-conversion plugin for real-time FX rates. No API key or special setup is required for usage. ```bash /plugin install mcp-currency-conversion@wookstar-claude-plugins # Usage (no setup needed) ``` -------------------------------- ### Google Tag Manager Container & Tag Setup Examples Source: https://context7.com/henkisdabro/wookstar-claude-plugins/llms.txt Examples for setting up GTM in React SPAs, GA4 Configuration tags, and Facebook Pixel tags. ```bash "Set up GTM for my React SPA — include virtual pageview tracking" ``` ```bash "Create a GA4 Configuration tag with consent mode support" ``` ```bash "Add a Facebook Pixel tag triggered on all pages" ``` -------------------------------- ### Install LSP Server Binaries and Plugins Source: https://context7.com/henkisdabro/wookstar-claude-plugins/llms.txt Install language server binaries and then the corresponding Claude plugins for real-time language intelligence. This setup provides diagnostics, completions, and hover docs. ```bash npm install -g bash-language-server # lsp-bash brew install shellcheck # lsp-bash (ShellCheck backend) npm install -g vscode-langservers-extracted # lsp-css, lsp-html, lsp-json (one pkg covers all three) npm install -g @tailwindcss/language-server # lsp-tailwind npm install -g yaml-language-server # lsp-yaml ``` ```bash /plugin install lsp-bash@wookstar-claude-plugins /plugin install lsp-css@wookstar-claude-plugins /plugin install lsp-html@wookstar-claude-plugins /plugin install lsp-json@wookstar-claude-plugins /plugin install lsp-tailwind@wookstar-claude-plugins /plugin install lsp-yaml@wookstar-claude-plugins ``` -------------------------------- ### Local Development Setup for Wookstar Plugins Source: https://github.com/henkisdabro/wookstar-claude-plugins/blob/main/README.md Commands to clone the repository, add it as a local marketplace, install a plugin for testing, and update the marketplace after making changes. ```bash git clone https://github.com/henkisdabro/wookstar-claude-plugins.git cd wookstar-claude-plugins # Add as local marketplace /plugin marketplace add . # Install a plugin for testing /plugin install developer@wookstar-claude-plugins # After making changes /plugin marketplace update wookstar # Validate manifest claude plugin validate . ``` -------------------------------- ### Install LSP Plugins Source: https://github.com/henkisdabro/wookstar-claude-plugins/blob/main/README.md Install LSP plugins for real-time diagnostics, completions, and hover documentation. Ensure the language server binary is installed first, then the plugin. ```bash /plugin install lsp-bash@wookstar-claude-plugins /plugin install lsp-css@wookstar-claude-plugins /plugin install lsp-html@wookstar-claude-plugins /plugin install lsp-json@wookstar-claude-plugins /plugin install lsp-tailwind@wookstar-claude-plugins /plugin install lsp-yaml@wookstar-claude-plugins ``` -------------------------------- ### Setup and Export DOCX Source: https://github.com/henkisdabro/wookstar-claude-plugins/blob/main/plugins/documents/skills/docx/docx-js.md Import necessary components from the 'docx' library and export the document to a buffer for Node.js or a blob for the browser. Ensure 'docx' is installed globally. ```javascript const { Document, Packer, Paragraph, TextRun, Table, TableRow, TableCell, ImageRun, Media, Header, Footer, AlignmentType, PageOrientation, LevelFormat, ExternalHyperlink, InternalHyperlink, TableOfContents, HeadingLevel, BorderStyle, WidthType, TabStopType, TabStopPosition, UnderlineType, ShadingType, VerticalAlign, SymbolRun, PageNumber, FootnoteReferenceRun, Footnote, PageBreak } = require('docx'); // Create & Save const doc = new Document({ sections: [{ children: [/* content */] }] }); Packer.toBuffer(doc).then(buffer => fs.writeFileSync("doc.docx", buffer)); // Node.js Packer.toBlob(doc).then(blob => { /* download logic */ }); // Browser ``` -------------------------------- ### Setup Chrome DevTools MCP Source: https://github.com/henkisdabro/wookstar-claude-plugins/blob/main/plugins/developer/skills/devtools/references/troubleshooting.md Follow these steps to remove existing MCP configurations, start a fresh Chrome instance, and re-add MCP. ```bash claude mcp remove chrome-devtools 2>/dev/null || true ``` ```bash sleep 2 ``` ```bash google-chrome --headless --remote-debugging-port=9222 --no-first-run --user-data-dir=/tmp/chrome-mcp & ``` ```bash sleep 3 ``` ```bash claude mcp add chrome-devtools -- npx chrome-devtools-mcp@latest --browserUrl http://127.0.0.1:9222 ``` ```bash echo "Done. Restart Claude Code session." ``` -------------------------------- ### Shopify Hydrogen Examples Source: https://context7.com/henkisdabro/wookstar-claude-plugins/llms.txt Examples for setting up Hydrogen storefronts and implementing product detail pages. ```bash "Set up a Hydrogen storefront with React Router 7 and Oxygen deployment" ``` ```bash "Implement a product detail page in Hydrogen with optimistic cart updates" ``` -------------------------------- ### GTM Implementation Example Source: https://github.com/henkisdabro/wookstar-claude-plugins/blob/main/plugins/google-tagmanager/README.md Example prompt for setting up Google Tag Manager in a React application. ```bash # Implementation "Set up GTM for my React application" ``` -------------------------------- ### Gemini CLI: Quick Summary with Flash Model Source: https://github.com/henkisdabro/wookstar-claude-plugins/blob/main/plugins/gemini/agents/gemini.md This example demonstrates how to get a quick summary using the `gemini-3-flash-preview` model, which is faster and cheaper for lightweight tasks. A 90-second timeout is used, and the output is in JSON. ```bash # User asked for "quick summary" -> Flash OUTPUT=$(cd "$HOME" && timeout -s KILL 90 gemini -p "Summarise this" -m gemini-3-flash-preview --output-format json --yolo 2>/dev/null) ``` -------------------------------- ### Install Documents Plugin Source: https://github.com/henkisdabro/wookstar-claude-plugins/blob/main/plugins/documents/README.md Use this command to install the documents plugin. ```bash /plugin install documents@wookstar-claude-plugins ``` -------------------------------- ### UrlFetchApp (HTTP Requests) Source: https://github.com/henkisdabro/wookstar-claude-plugins/blob/main/plugins/google-apps-script/skills/google-apps-script/references/apps-script-api-reference.md Examples demonstrating how to make HTTP requests using UrlFetchApp, including GET and POST requests, setting authentication headers, and handling timeouts. ```APIDOC ## UrlFetchApp (HTTP Requests) ### GET request: ```javascript const response = UrlFetchApp.fetch('https://api.example.com/data'); const content = response.getContentText(); const json = JSON.parse(content); const statusCode = response.getResponseCode(); ``` ### POST request: ```javascript const payload = { key1: 'value1', key2: 'value2' }; const options = { method: 'POST', payload: JSON.stringify(payload), headers: { 'Content-Type': 'application/json' } }; const response = UrlFetchApp.fetch('https://api.example.com/submit', options); ``` ### Authentication headers: ```javascript const options = { method: 'GET', headers: { 'Authorization': 'Bearer ' + TOKEN, 'Accept': 'application/json' } }; const response = UrlFetchApp.fetch('https://api.example.com/protected', options); ``` ### Timeout handling: ```javascript const options = { method: 'GET', muteHttpExceptions: true, // Don't throw on error timeout: 30 // 30 second timeout }; try { const response = UrlFetchApp.fetch(url, options); if (response.getResponseCode() === 200) { Logger.log(response.getContentText()); } else { Logger.log('Error: ' + response.getResponseCode()); } } catch (error) { Logger.log('Request failed: ' + error); } ``` ``` -------------------------------- ### Install and Verify Shopify CLI Source: https://github.com/henkisdabro/wookstar-claude-plugins/blob/main/plugins/shopify-developer/skills/shopify-developer/references/app-development.md Install Shopify CLI using npm or Homebrew. Verify the installation by checking the CLI version. ```bash # Using npm npm install -g @shopify/cli @shopify/app # Using Homebrew (macOS) brew tap shopify/shopify brew install shopify-cli # Verify installation shopify version ``` -------------------------------- ### Basic Installation Source: https://github.com/henkisdabro/wookstar-claude-plugins/blob/main/plugins/google-analytics/skills/google-analytics/references/gtag.md Place the gtag.js script in the `` section of your HTML, before all other scripts, for basic installation. ```APIDOC ## Basic Installation Place in `` section, before all other scripts: ```html ``` ### Placement Requirements | Requirement | Description | |-------------|-------------| | Location | `` section | | Position | Before all other scripts | | Async | Script loaded asynchronously | | Every page | Must be on all pages | ``` -------------------------------- ### Start Shopify App Development Server Source: https://github.com/henkisdabro/wookstar-claude-plugins/blob/main/plugins/shopify-developer/skills/shopify-developer/references/app-development.md Launch the development server with tunnelling enabled. This provides a local development URL and a public tunnel URL, and automatically installs the app in your development store. ```bash # Start dev server with tunnelling shopify app dev # Server starts with: # - Local development URL: http://localhost:3000 # - Public tunnel URL: https://random-subdomain.ngrok.io # - App installed in development store ``` -------------------------------- ### Complete Google Tag Manager API Workflow Source: https://github.com/henkisdabro/wookstar-claude-plugins/blob/main/plugins/google-tagmanager/skills/google-tagmanager/references/api.md A comprehensive example demonstrating the setup, finding a container, creating a workspace, adding a trigger and tag, and finally creating and publishing a version. ```python from google.oauth2 import service_account from googleapiclient.discovery import build # Setup SCOPES = ['https://www.googleapis.com/auth/tagmanager.edit.containers', 'https://www.googleapis.com/auth/tagmanager.publish'] credentials = service_account.Credentials.from_service_account_file( 'service-account.json', scopes=SCOPES) service = build('tagmanager', 'v2', credentials=credentials) # 1. Find container account_path = 'accounts/123456' containers = service.accounts().containers().list(parent=account_path).execute() container = next(c for c in containers['container'] if c['name'] == 'My Site') container_path = container['path'] # 2. Create workspace workspace = service.accounts().containers().workspaces().create( parent=container_path, body={'name': 'API Changes', 'description': 'Automated setup'} ).execute() workspace_path = workspace['path'] # 3. Create trigger trigger = service.accounts().containers().workspaces().triggers().create( parent=workspace_path, body={'name': 'All Pages', 'type': 'PAGEVIEW'} ).execute() # 4. Create tag tag = service.accounts().containers().workspaces().tags().create( parent=workspace_path, body={ 'name': 'GA4 Config', 'type': 'gaawe', 'parameter': [ {'key': 'measurementId', 'type': 'template', 'value': 'G-XXXXXX'} ], 'firingTriggerId': [trigger['triggerId']] } ).execute() # 5. Create and publish version version = service.accounts().containers().workspaces().create_version( path=workspace_path, body={'name': 'API Setup', 'notes': 'Automated GA4 configuration'} ).execute() published = service.accounts().containers().versions().publish( path=version['containerVersion']['path'] ).execute() print(f"Published version: {published['containerVersion']['containerVersionId']}") ``` -------------------------------- ### Install bash-language-server Source: https://github.com/henkisdabro/wookstar-claude-plugins/blob/main/plugins/lsp-bash/README.md Install the bash-language-server globally using npm. This is the first step in setting up the language server. ```bash npm install -g bash-language-server ``` -------------------------------- ### Install Developer Plugin Source: https://github.com/henkisdabro/wookstar-claude-plugins/blob/main/plugins/developer/README.md Use this command to install the developer plugin. Ensure you are in your project root. ```bash /plugin install developer@wookstar-claude-plugins ``` -------------------------------- ### Install Tampermonkey Plugin Source: https://github.com/henkisdabro/wookstar-claude-plugins/blob/main/plugins/tampermonkey/README.md Install the Tampermonkey plugin using the provided command. ```bash /plugin install tampermonkey@wookstar-claude-plugins ``` -------------------------------- ### Install Google Tag Manager Client Libraries Source: https://github.com/henkisdabro/wookstar-claude-plugins/blob/main/plugins/google-tagmanager/skills/google-tagmanager/references/api.md Use pip to install the Python client library for Google API services and authentication. Use npm to install the Node.js client library for Google APIs. ```bash # Python pip install google-api-python-client google-auth-oauthlib ``` ```bash # Node.js npm install googleapis ``` -------------------------------- ### Install MCP CoinGecko Plugin Source: https://github.com/henkisdabro/wookstar-claude-plugins/blob/main/plugins/mcp-coingecko/README.md Use this command to install the MCP CoinGecko plugin. Ensure you have the Wookstar CLI or equivalent installed. ```bash /plugin install mcp-coingecko@wookstar-claude-plugins ``` -------------------------------- ### Install Chrome on Windows (PowerShell Direct Download) Source: https://github.com/henkisdabro/wookstar-claude-plugins/blob/main/plugins/developer/skills/devtools/references/chrome-installation.md Download and silently install the latest Chrome installer using PowerShell. ```powershell $installer = "$env:TEMP\chrome_installer.exe" Invoke-WebRequest -Uri "https://dl.google.com/chrome/install/latest/chrome_installer.exe" -OutFile $installer Start-Process -FilePath $installer -Args "/silent /install" -Wait Remove-Item $installer ``` -------------------------------- ### Plugin Marketplace Root Manifest Example Source: https://github.com/henkisdabro/wookstar-claude-plugins/blob/main/CLAUDE.md Example of how an MCP server is referenced in the root marketplace.json file. ```json // In marketplace.json entry: "mcpServers": "./.mcp.json" // plugin.json does NOT need mcpServers field ``` -------------------------------- ### Google Analytics E-commerce Examples Source: https://context7.com/henkisdabro/wookstar-claude-plugins/llms.txt Examples for tracking add_to_cart and begin_checkout events, and sending refund events. ```bash "Track add_to_cart and begin_checkout events in my React app" ``` ```bash "Send a refund event via gtag when an order is cancelled" ``` -------------------------------- ### Shopify Debugging Examples Source: https://context7.com/henkisdabro/wookstar-claude-plugins/llms.txt Examples for debugging webhook issues and fixing add-to-cart button functionality. ```bash "My webhook is not firing for order/paid — walk me through the debug checklist" ``` ```bash "The add-to-cart button stops working after Turbo navigation — fix it" ``` -------------------------------- ### TypeScript Userscript Setup Source: https://github.com/henkisdabro/wookstar-claude-plugins/blob/main/plugins/tampermonkey/skills/tampermonkey/SKILL.md Example of a TypeScript userscript using Tampermonkey's GM API with type definitions. Requires installation of `@types/tampermonkey` and a build process. ```typescript // ==UserScript== // @name My TypeScript Script // @match https://example.com/* // @grant GM.getValue // @grant GM.xmlHttpRequest // @connect api.example.com // ==/UserScript== (async () => { 'use strict'; const value = await GM.getValue('key', 'default'); const info: Tampermonkey.ScriptInfo = GM_info; console.log(info.script.name, value); })(); ``` -------------------------------- ### Install Dependencies Source: https://github.com/henkisdabro/wookstar-claude-plugins/blob/main/plugins/documents/skills/pdf-processing-pro/references/troubleshooting.md Use this command to install all necessary Python packages listed in the requirements file. ```bash pip install -r requirements.txt ``` -------------------------------- ### Install Chrome Dependencies on Linux Source: https://github.com/henkisdabro/wookstar-claude-plugins/blob/main/plugins/developer/skills/devtools/references/troubleshooting.md Install necessary dependencies on Linux to resolve issues with Chrome not starting in headless mode. ```bash sudo apt install -y \ libnss3 \ libnspr4 \ libatk1.0-0 \ libatk-bridge2.0-0 \ libcups2 \ libdrm2 \ libxkbcommon0 \ libxcomposite1 \ libxdamage1 \ libxfixes3 \ libxrandr2 \ libgbm1 \ libasound2 ``` -------------------------------- ### Install MCP AlphaVantage Plugin Source: https://github.com/henkisdabro/wookstar-claude-plugins/blob/main/plugins/mcp-alphavantage/README.md Use this command to install the AlphaVantage plugin for stock market data. ```bash /plugin install mcp-alphavantage@wookstar-claude-plugins ``` -------------------------------- ### Project Configuration Documentation Example Source: https://github.com/henkisdabro/wookstar-claude-plugins/blob/main/plugins/developer/skills/prp-generator/references/codebase-analysis-guide.md Example of documenting key project configurations, including build tools, path aliases, and TypeScript settings. Highlights specific TypeScript import syntax requirements. ```plaintext Build Tool: Vite 5.x Path Aliases: '@/' -> 'src/', '@components/' -> 'src/components/' TypeScript: Strict mode enabled Must use: Import type syntax for type-only imports ``` -------------------------------- ### Install Chrome on Windows (winget) Source: https://github.com/henkisdabro/wookstar-claude-plugins/blob/main/plugins/developer/skills/devtools/references/chrome-installation.md Use the Windows Package Manager (winget) to install Google Chrome. ```powershell winget install Google.Chrome ``` -------------------------------- ### Install Tesseract OCR (Ubuntu/Debian) Source: https://github.com/henkisdabro/wookstar-claude-plugins/blob/main/plugins/documents/skills/pdf-processing-pro/references/ocr.md Installs the Tesseract OCR engine on Ubuntu/Debian systems using apt-get. ```bash sudo apt-get install tesseract-ocr ``` -------------------------------- ### Shopify CLI Install Command Source: https://github.com/henkisdabro/wookstar-claude-plugins/blob/main/plugins/shopify-developer/skills/shopify-developer/SKILL.md Use this command to install the Shopify CLI globally on your system. ```bash npm install -g @shopify/cli ``` -------------------------------- ### Shopify GraphQL Admin API Examples Source: https://context7.com/henkisdabro/wookstar-claude-plugins/llms.txt Examples for querying orders and creating products using the Admin GraphQL API. ```bash "Query the 10 most recent orders with line items using the Admin GraphQL API" ``` ```bash "Create a product with variants via the Admin API — include error handling" ``` -------------------------------- ### Install Cloudflare MCP Plugin Source: https://github.com/henkisdabro/wookstar-claude-plugins/blob/main/plugins/mcp-cloudflare/README.md Use this command to install the Cloudflare MCP server plugin. ```bash /plugin install mcp-cloudflare@wookstar-claude-plugins ``` -------------------------------- ### REST API Endpoint for Getting Customers Source: https://github.com/henkisdabro/wookstar-claude-plugins/blob/main/plugins/shopify-developer/skills/shopify-developer/references/api-admin.md Example of a GET request to retrieve a list of customers using the REST Admin API, with a parameter to limit the number of results. ```javascript GET /admin/api/2026-01/customers.json?limit=50 ``` -------------------------------- ### GM_xmlhttpRequest - Basic GET Request Source: https://github.com/henkisdabro/wookstar-claude-plugins/blob/main/plugins/tampermonkey/skills/tampermonkey/references/http-requests.md A basic example demonstrating how to perform a GET request using GM_xmlhttpRequest. It shows how to specify the method, URL, and handle the response and potential errors. ```APIDOC ## GM_xmlhttpRequest GET Request ### Description Performs a GET request to a specified URL and handles the response or errors. ### Method GET ### Endpoint https://api.example.com/data ### Parameters #### Request Body None ### Request Example ```javascript GM_xmlhttpRequest({ method: 'GET', url: 'https://api.example.com/data', onload: function(response) { console.log('Status:', response.status); console.log('Response:', response.responseText); }, onerror: function(error) { console.error('Request failed'); } }); ``` ### Response #### Success Response (200) - **status** (number) - The HTTP status code of the response. - **responseText** (string) - The raw text of the response. #### Response Example ```json { "status": 200, "responseText": "{\"message\": \"Success\"}" } ``` ``` -------------------------------- ### REST API Endpoint for Getting Orders Source: https://github.com/henkisdabro/wookstar-claude-plugins/blob/main/plugins/shopify-developer/skills/shopify-developer/references/api-admin.md Example of a GET request to retrieve a list of orders using the REST Admin API, with parameters to filter by status and limit the number of results. ```javascript GET /admin/api/2026-01/orders.json?status=any&limit=50 ``` -------------------------------- ### Install Message Plugin Source: https://github.com/henkisdabro/wookstar-claude-plugins/blob/main/plugins/message/README.md Use this command to install the message plugin. Replace '@wookstar-claude-plugins' with the appropriate scope if necessary. ```bash /plugin install message@wookstar-claude-plugins ``` -------------------------------- ### Shopify Liquid & Themes Examples Source: https://context7.com/henkisdabro/wookstar-claude-plugins/llms.txt Examples for creating Liquid sections, OS 2.0 app blocks, and filtering products. ```bash "Write a Liquid section with a settings schema for a hero banner" ``` ```bash "Create an OS 2.0 app block with text and image settings" ``` ```bash "Filter products by tag and sort by price in a collection template" ``` -------------------------------- ### Python Implementation: GA4 Events with ga4mp Library Source: https://github.com/henkisdabro/wookstar-claude-plugins/blob/main/plugins/google-analytics/skills/google-analytics/references/measurement-protocol.md Example of initializing the GtagMP class from the ga4mp library for sending GA4 events. Install the library using 'pip install ga4mp'. ```Python # Install: pip install ga4mp from ga4mp import GtagMP ga = GtagMP( measurement_id="G-XXXXXXXXXX", api_secret="your_api_secret", client_id="unique_client_id" ) ``` -------------------------------- ### Get All Triggers Source: https://github.com/henkisdabro/wookstar-claude-plugins/blob/main/plugins/google-apps-script/skills/google-apps-script/references/apps-script-api-reference.md Retrieves and logs information about all installed triggers in the current Apps Script project. ```javascript const triggers = ScriptApp.getProjectTriggers(); triggers.forEach(trigger => { Logger.log('Function: ' + trigger.getHandlerFunction()); Logger.log('Type: ' + trigger.getTriggerSource()); }); ``` -------------------------------- ### Install Dependencies with Bun Source: https://github.com/henkisdabro/wookstar-claude-plugins/blob/main/plugins/message/README.md Run this command once after installation to fetch project dependencies using Bun. Ensure you are in the scripts directory of the skill. ```bash cd /scripts && bun install ``` -------------------------------- ### Install HTML LSP Plugin Source: https://github.com/henkisdabro/wookstar-claude-plugins/blob/main/plugins/lsp-html/README.md Install the html-lsp plugin for Claude Code using the provided plugin command. ```bash /plugin install html-lsp@wookstar-claude-plugins ``` -------------------------------- ### Example: Get current time in Perth Source: https://github.com/henkisdabro/wookstar-claude-plugins/blob/main/plugins/timezone-tools/skills/timezone-tools/SKILL.md Demonstrates how to find the timezone for Perth and then get the current time in that timezone. The output includes the timezone, current datetime, day of the week, and DST status. ```bash python scripts/list_timezones.py" "perth" # Output: Australia/Perth python scripts/get_time.py" "Australia/Perth" # Output: # Timezone: Australia/Perth # Current time: 2025-11-07T15:30:45 # Day: Thursday # DST: No ``` -------------------------------- ### Initialize Hydrogen Project Source: https://github.com/henkisdabro/wookstar-claude-plugins/blob/main/plugins/shopify-developer/skills/shopify-developer/references/hydrogen.md Use the Shopify CLI to create a new Hydrogen project. Options include selecting a template, language, and styling. ```bash npx shopify hydrogen init ``` -------------------------------- ### REST API Endpoint for Getting Products Source: https://github.com/henkisdabro/wookstar-claude-plugins/blob/main/plugins/shopify-developer/skills/shopify-developer/references/api-admin.md Example of a GET request to retrieve a list of products using the REST Admin API. Includes query parameters for limiting results and filtering by status. ```javascript GET /admin/api/2026-01/products.json?limit=50&status=active ``` ```javascript // JavaScript const response = await fetch( `https://${store}.myshopify.com/admin/api/2026-01/products.json?limit=50`, { headers: { 'X-Shopify-Access-Token': accessToken, }, } ); const { products } = await response.json(); ``` -------------------------------- ### Installable Triggers Source: https://github.com/henkisdabro/wookstar-claude-plugins/blob/main/plugins/google-apps-script/skills/google-apps-script/references/apps-script-api-reference.md Examples of creating and managing installable triggers for Google Apps Script. This includes time-based triggers (hourly, daily, weekly, minutely) and event-based triggers (on open, on form submit, on edit). ```APIDOC ## Installable Triggers (Require Authorization) ### Time-based triggers: ```javascript function createTimeTriggers() { // Every 6 hours ScriptApp.newTrigger('myFunction') .timeBased() .everyHours(6) .create(); // Every day at 9 AM (randomized within the hour) ScriptApp.newTrigger('myFunction') .timeBased() .atHour(9) .everyDays(1) .create(); // Every Monday at 9 AM ScriptApp.newTrigger('myFunction') .timeBased() .onWeekDay(ScriptApp.WeekDay.MONDAY) .atHour(9) .create(); // Every minute (use sparingly!) ScriptApp.newTrigger('myFunction') .timeBased() .everyMinutes(1) .create(); } ``` ### Event-based triggers: ```javascript function createEventTriggers() { const spreadsheet = SpreadsheetApp.getActiveSpreadsheet(); // On any change in spreadsheet ScriptApp.newTrigger('myFunction') .onOpen(spreadsheet) .create(); // On form submit const form = FormApp.openById('FORM_ID'); ScriptApp.newTrigger('onFormSubmit') .forForm(form) .onFormSubmit() .create(); // On edit in spreadsheet ScriptApp.newTrigger('onEdit') .forSpreadsheet(spreadsheet) .onEdit() .create(); } ``` ### Delete triggers: ```javascript // Delete all triggers for a function const triggers = ScriptApp.getProjectTriggers(); triggers.forEach(trigger => { if (trigger.getHandlerFunction() === 'functionName') { ScriptApp.deleteTrigger(trigger); } }); ``` ### Get all triggers: ```javascript const triggers = ScriptApp.getProjectTriggers(); triggers.forEach(trigger => { Logger.log('Function: ' + trigger.getHandlerFunction()); Logger.log('Type: ' + trigger.getTriggerSource()); }); ``` ``` -------------------------------- ### Install MCP Client with Auto-Accept Source: https://github.com/henkisdabro/wookstar-claude-plugins/blob/main/plugins/developer/skills/devtools/references/troubleshooting.md Use the --yes flag with npx to automatically accept installation prompts when configuring the MCP client. ```bash npx --yes chrome-devtools-mcp@latest ``` -------------------------------- ### Video Tracking Source: https://github.com/henkisdabro/wookstar-claude-plugins/blob/main/plugins/google-analytics/skills/google-analytics/references/gtag.md Examples for tracking video interactions such as start, progress, and completion using gtag.js events. ```APIDOC ## Video Tracking ```javascript // Video start gtag('event', 'video_start', { 'video_title': 'Getting Started Guide', 'video_id': 'VID_001', 'video_duration': 180 }); // Video progress gtag('event', 'video_progress', { 'video_title': 'Getting Started Guide', 'video_id': 'VID_001', 'video_percent': 50 }); // Video complete gtag('event', 'video_complete', { 'video_title': 'Getting Started Guide', 'video_id': 'VID_001' }); ``` ``` -------------------------------- ### Install MCP Currency Conversion Plugin Source: https://github.com/henkisdabro/wookstar-claude-plugins/blob/main/plugins/mcp-currency-conversion/README.md Use this command to install the plugin. No API key is required for configuration as it utilizes a public currency conversion service. ```bash /plugin install mcp-currency-conversion@wookstar-claude-plugins ``` -------------------------------- ### Get Current Time in Timezone Source: https://github.com/henkisdabro/wookstar-claude-plugins/blob/main/plugins/timezone-tools/README.md Query the current time in a specific timezone. Example: 'What time is it in Tokyo?' ```bash # Get current time in a specific timezone "What time is it in Tokyo?" ``` -------------------------------- ### Workspace Management Example Source: https://github.com/henkisdabro/wookstar-claude-plugins/blob/main/plugins/google-tagmanager/skills/google-tagmanager/references/api.md Demonstrates creating a test workspace, making changes, and deleting it if not needed. Recommended for API changes. ```python # Create test workspace test_workspace = service.accounts().containers().workspaces().create( parent=container_path, body={'name': 'API Test', 'description': 'Testing API changes'} ).execute() # Make changes and test # Delete if not needed service.accounts().containers().workspaces().delete( path=test_workspace['path'] ).execute() ``` -------------------------------- ### Get All Ad Groups Source: https://github.com/henkisdabro/wookstar-claude-plugins/blob/main/plugins/google-ads-scripts/skills/google-ads-scripts/references/ads-api-reference.md Retrieves all ad groups within the Google Ads account. This is a starting point for ad group management. ```javascript // All ad groups const adGroups = AdsApp.adGroups().get(); ``` -------------------------------- ### Shopify Functions (Wasm) Examples Source: https://context7.com/henkisdabro/wookstar-claude-plugins/llms.txt Examples for creating discount functions and migrating customizations to checkout UI extensions. ```bash "Create a discount function in JavaScript that applies 10% off orders over $100" ``` ```bash "Migrate this checkout.liquid customisation to a checkout UI extension" ``` -------------------------------- ### Install All LSP Servers Source: https://context7.com/henkisdabro/wookstar-claude-plugins/llms.txt Install all Language Server Protocol (LSP) plugins at once. These plugins are typically used for enhanced code editing features. ```bash # Install all LSP servers at once /plugin install lsp-bash@wookstar-claude-plugins /plugin install lsp-css@wookstar-claude-plugins /plugin install lsp-html@wookstar-claude-plugins /plugin install lsp-json@wookstar-claude-plugins /plugin install lsp-tailwind@wookstar-claude-plugins /plugin install lsp-yaml@wookstar-claude-plugins ``` -------------------------------- ### Vite with vite-plugin-monkey Setup Source: https://github.com/henkisdabro/wookstar-claude-plugins/blob/main/plugins/tampermonkey/skills/tampermonkey/references/typescript.md Set up Vite with vite-plugin-monkey for bundling TypeScript userscripts. This involves installing Vite and the plugin, and configuring vite.config.ts with script metadata. ```bash pnpm add -D vite vite-plugin-monkey ``` ```typescript // vite.config.ts import { defineConfig } from 'vite'; import monkey from 'vite-plugin-monkey'; export default defineConfig({ plugins: [ monkey({ entry: 'src/main.ts', userscript: { name: 'My Script', namespace: 'https://example.com/', match: ['https://example.com/*'], grant: ['GM.getValue', 'GM.setValue'], }, }), ], }); ``` -------------------------------- ### FFmpeg Encoding with AMD VAAPI Source: https://github.com/henkisdabro/wookstar-claude-plugins/blob/main/plugins/ffmpeg/skills/ffmpeg-cli/references/encoding-and-settings.md Example for using AMD's VAAPI for hardware acceleration. Note that setup can be more complex and support is less widespread. ```sh ffmpeg -i input.avi -c:v h264_vaapi output.mp4 ``` -------------------------------- ### Custom Template Example Source: https://github.com/henkisdabro/wookstar-claude-plugins/blob/main/plugins/google-tagmanager/README.md Example prompt for creating a custom Google Tag Manager template to integrate a third-party pixel. ```bash # Custom templates "Create a custom GTM template for a third-party pixel" ``` -------------------------------- ### Shopify Storefront API Examples Source: https://context7.com/henkisdabro/wookstar-claude-plugins/llms.txt Examples for building cart mutations and fetching metafields using the Storefront API. ```bash "Build a cart add-to-cart mutation for the Storefront API" ``` ```bash "Fetch a product's metafields using the Storefront API" ``` -------------------------------- ### Get Gmail Inbox Threads Source: https://github.com/henkisdabro/wookstar-claude-plugins/blob/main/plugins/google-apps-script/skills/google-apps-script/references/apps-script-api-reference.md Retrieves the count of unread threads and fetches a specified number of threads from the inbox. Note that getInboxThreads takes start and count arguments. ```javascript const unreadThreads = GmailApp.getInboxUnreadCount(); const threads = GmailApp.getInboxThreads(0, 10); // Get first 10 ``` -------------------------------- ### Create and Publish Version Source: https://github.com/henkisdabro/wookstar-claude-plugins/blob/main/plugins/google-tagmanager/skills/google-tagmanager/references/api.md Shows how to create a new version of a workspace with a name and notes, and then publish it. ```python version = service.accounts().containers().workspaces().create_version( path=workspace_path, body={ 'name': 'Release 2.3.0', 'notes': 'Added GA4 ecommerce tracking - Purchase event - Product views' } ).execute() ``` -------------------------------- ### Configure Team Settings for Auto-Install Source: https://github.com/henkisdabro/wookstar-claude-plugins/blob/main/README.md Example JSON configuration for `.claude/settings.json` to add a custom marketplace and pre-enable specific plugins for team members. ```json { "extraKnownMarketplaces": { "wookstar": { "source": { "source": "github", "repo": "henkisdabro/wookstar-claude-plugins" } } }, "enabledPlugins": [ "developer@wookstar-claude-plugins", "documents@wookstar-claude-plugins", "google-tagmanager@wookstar-claude-plugins", "google-analytics@wookstar-claude-plugins" ] } ``` -------------------------------- ### Python Implementation: Sending GA4 Events with Requests Source: https://github.com/henkisdabro/wookstar-claude-plugins/blob/main/plugins/google-analytics/skills/google-analytics/references/measurement-protocol.md Example of sending GA4 events (page_view and purchase) using the Python Requests library. Ensure you have the 'requests' library installed. ```Python import requests import json import uuid MEASUREMENT_ID = "G-XXXXXXXXXX" API_SECRET = "your_api_secret" ENDPOINT = f"https://www.google-analytics.com/mp/collect?measurement_id={MEASUREMENT_ID}&api_secret={API_SECRET}" def send_event(client_id, event_name, params=None): payload = { "client_id": client_id, "events": [{ "name": event_name, "params": params or {} }] } response = requests.post( ENDPOINT, headers={"Content-Type": "application/json"}, data=json.dumps(payload) ) return response.status_code == 204 # Send page view send_event( client_id="user_123.session_456", event_name="page_view", params={ "page_location": "https://example.com/page", "page_title": "Example Page" } ) # Send purchase send_event( client_id="user_123.session_456", event_name="purchase", params={ "transaction_id": "T_12345", "value": 99.99, "currency": "USD", "items": [{ "item_id": "SKU_123", "item_name": "Product Name", "price": 99.99, "quantity": 1 }] } ) ``` -------------------------------- ### esbuild Bundler Setup for Userscripts Source: https://github.com/henkisdabro/wookstar-claude-plugins/blob/main/plugins/tampermonkey/skills/tampermonkey/references/typescript.md Configure esbuild for bundling your TypeScript userscripts into a single .user.js file. This includes installing esbuild and setting up build and watch scripts in package.json. ```bash pnpm add -D esbuild ``` ```json // package.json { "scripts": { "build": "esbuild src/index.ts --bundle --outfile=dist/script.user.js --platform=browser", "watch": "esbuild src/index.ts --bundle --outfile=dist/script.user.js --platform=browser --watch" } } ``` -------------------------------- ### Action Examples Source: https://github.com/henkisdabro/wookstar-claude-plugins/blob/main/plugins/tampermonkey/skills/tampermonkey/references/web-requests.md Shows how to specify actions for matched requests, including canceling (blocking) and redirecting to static or pattern-replaced URLs. ```javascript // Cancel (block) the request { action: 'cancel' } ``` ```javascript { action: { cancel: true } } ``` ```javascript // Redirect to static URL { action: { redirect: 'https://example.com/blocked' } } ``` ```javascript // Redirect with pattern replacement { action: { redirect: { from: '([^:]+)://old.com/(.*)', to: '$1://new.com/$2' } } } ``` -------------------------------- ### Parallel Async Operations with Dependencies using better-all Source: https://github.com/henkisdabro/wookstar-claude-plugins/blob/main/plugins/react-best-practices/skills/react-best-practices/references/rules/async-dependencies.md Use `better-all` to automatically start tasks as early as possible, maximizing parallelism. This example demonstrates how `config` and `profile` can run concurrently. ```typescript import { all } from 'better-all' const { user, config, profile } = await all({ async user() { return fetchUser() }, async config() { return fetchConfig() }, async profile() { return fetchProfile((await this.$.user).id) } }) ``` -------------------------------- ### Liquid Iteration and Pagination Examples Source: https://github.com/henkisdabro/wookstar-claude-plugins/blob/main/plugins/shopify-developer/skills/shopify-developer/SKILL.md Shows common Liquid patterns for iterating over collections with a limit and implementing pagination for displaying products. ```liquid {% for product in collection.products limit: 5 %} {% render 'product-card', product: product %} {% endfor %} {% paginate collection.products by 12 %} {% for product in paginate.collection.products %}...{% endfor %} {{ paginate | default_pagination }} {% endpaginate %} ``` -------------------------------- ### Configure Environment Variables Source: https://github.com/henkisdabro/wookstar-claude-plugins/blob/main/plugins/developer/README.md Set up your .env file in the project root with necessary API keys for optional services like Context7 and Firecrawl. ```bash # Context7 (optional) CONTEXT7_API_KEY=your_key_here # Firecrawl (optional) FIRECRAWL_API_KEY=your_key_here ``` -------------------------------- ### Register Shopify Webhooks Source: https://github.com/henkisdabro/wookstar-claude-plugins/blob/main/plugins/shopify-developer/skills/shopify-developer/references/app-development.md Configure webhook subscriptions in your app's setup. This example demonstrates registering HTTP delivery methods for various Shopify events, including app uninstallation and product/order events. ```javascript import "@shopify/shopify-app-remix/adapters/node"; import { ApiVersion, AppDistribution, shopifyApp, DeliveryMethod, } from "@shopify/shopify-app-remix/server"; const shopify = shopifyApp({ apiKey: process.env.SHOPIFY_API_KEY, apiSecretKey: process.env.SHOPIFY_API_SECRET, scopes: process.env.SCOPES?.split(","), appUrl: process.env.SHOPIFY_APP_URL, authPathPrefix: "/auth", sessionStorage: new SQLiteSessionStorage(), distribution: AppDistribution.AppStore, apiVersion: ApiVersion.January26, webhooks: { APP_UNINSTALLED: { deliveryMethod: DeliveryMethod.Http, callbackUrl: "/webhooks", }, PRODUCTS_CREATE: { deliveryMethod: DeliveryMethod.Http, callbackUrl: "/webhooks", }, PRODUCTS_UPDATE: { deliveryMethod: DeliveryMethod.Http, callbackUrl: "/webhooks", }, ORDERS_CREATE: { deliveryMethod: DeliveryMethod.Http, callbackUrl: "/webhooks", }, }, }); export default shopify; export const authenticate = shopify.authenticate; ``` -------------------------------- ### Google Analytics Event Tracking Examples Source: https://context7.com/henkisdabro/wookstar-claude-plugins/llms.txt Examples for setting up custom event tracking for video plays and implementing the GA4 purchase event. ```bash "Set up GA4 custom event tracking for video plays on my Next.js site" ``` ```bash "Implement the GA4 purchase event with all recommended parameters" ``` -------------------------------- ### Service Worker for Advanced Caching Source: https://github.com/henkisdabro/wookstar-claude-plugins/blob/main/plugins/shopify-developer/skills/shopify-developer/references/performance.md Implement a service worker to cache static assets for offline access and faster loading. This example caches CSS, JS, and images on installation and serves them from the cache on fetch events. ```javascript // sw.js - Cache static assets self.addEventListener('install', event => { event.waitUntil( caches.open('v1').then(cache => { return cache.addAll([ '/cdn/.../theme.css', '/cdn/.../theme.js', '/cdn/.../logo.png', ]); }) ); }); self.addEventListener('fetch', event => { event.respondWith( caches.match(event.request).then(response => { return response || fetch(event.request); }) ); }); ``` -------------------------------- ### Quick Commit Message Generation with Mini Model Source: https://github.com/henkisdabro/wookstar-claude-plugins/blob/main/plugins/codex/agents/codex.md This example shows how to generate a concise commit message by providing the cached git diff to a mini model. It uses `git diff --cached` to get the staged changes. ```bash # Quick commit message - mini model DIFF=$(git diff --cached) RESULT=$(cd "$HOME" && timeout -s KILL 60 codex exec "Write a concise commit message: $DIFF" -m gpt-5.4-mini --ephemeral 2>/dev/null) [ $? -eq 0 ] && [ -n "$RESULT" ] && echo "$RESULT" || echo "ERROR: Codex failed" ``` -------------------------------- ### Get Script Help Source: https://github.com/henkisdabro/wookstar-claude-plugins/blob/main/plugins/documents/skills/pdf-processing-pro/references/troubleshooting.md All provided scripts support a --help flag to display usage information and available options. Use this to understand script parameters. ```bash python scripts/analyze_form.py --help ``` ```bash python scripts/extract_tables.py --help ``` -------------------------------- ### Time-Based Trigger Setup for Daily Reports Source: https://github.com/henkisdabro/wookstar-claude-plugins/blob/main/plugins/google-apps-script/skills/google-apps-script/references/examples.md Sets up a daily time-based trigger to execute a specified function (e.g., 'dailyReport') at a particular hour. This example deletes existing triggers for the same function to prevent duplicates and configures a new trigger for 9 AM daily. ```javascript function setupDailyTrigger() { // Delete existing triggers to avoid duplicates const triggers = ScriptApp.getProjectTriggers(); triggers.forEach(trigger => { if (trigger.getHandlerFunction() === 'dailyReport') { ScriptApp.deleteTrigger(trigger); } }); // Create new trigger for 9 AM daily ScriptApp.newTrigger('dailyReport') .timeBased() .atHour(9) .everyDays(1) .create(); Logger.log('Daily trigger configured'); } function dailyReport() { // This function runs daily at 9 AM generateWeeklyReport(); } ``` -------------------------------- ### Complete Google Ads Automation Template Source: https://github.com/henkisdabro/wookstar-claude-plugins/blob/main/plugins/google-ads-scripts/skills/google-ads-scripts/references/ads-api-reference.md This script provides a full template for automating Google Ads tasks. It includes functions for validating account setup, pausing low-quality keywords, optimizing high-performing keywords, checking budget status, logging results, and handling errors. Use this as a starting point for your own automation scripts. ```javascript /** * Main entry point for Google Ads automation */ function main() { try { Logger.log('Starting Ads Script execution: ' + new Date()); // Validate setup validateAccountSetup(); // Execute tasks const results = { paused: pauseLowQualityKeywords(), optimized: optimizeHighPerformingKeywords(), alerts: checkBudgetStatus() }; // Log results logResults(results); Logger.log('Completed successfully'); } catch (error) { handleError(error); } } /** * Validate script setup */ function validateAccountSetup() { const account = AdsApp.currentAccount(); if (!account) { throw new Error('No account access'); } } /** * Pause low quality keywords */ function pauseLowQualityKeywords() { let count = 0; const keywords = AdsApp.keywords() .withCondition('keyword.status = ENABLED') .withCondition('keyword.quality_info.quality_score < 4') .get(); while (keywords.hasNext()) { keywords.next().pause(); count++; } return count; } /** * Optimize high performers */ function optimizeHighPerformingKeywords() { let count = 0; const keywords = AdsApp.keywords() .withCondition('keyword.status = ENABLED') .withCondition('keyword.metrics.cost_per_conversion < 500000') .get(); while (keywords.hasNext()) { const keyword = keywords.next(); const bid = keyword.getMaxCpc(); keyword.setMaxCpc(bid * 1.05); // 5% increase count++; } return count; } /** * Check budget status */ function checkBudgetStatus() { const alerts = []; const campaigns = AdsApp.campaigns() .withCondition('campaign.status = ENABLED') .get(); while (campaigns.hasNext()) { const campaign = campaigns.next(); const stats = campaign.getStatsFor('TODAY'); const budget = campaign.getBudget().getAmount(); const spend = stats.getCost(); if (spend > budget * 0.9) { alerts.push(campaign.getName() + ': 90% of budget consumed'); } } return alerts; } /** * Log results to sheet */ function logResults(results) { const ss = SpreadsheetApp.getActiveSpreadsheet(); const sheet = ss.getSheetByName('Log') || ss.insertSheet('Log'); sheet.appendRow([ new Date(), results.paused + ' keywords paused', results.optimized + ' keywords optimized', results.alerts.length + ' alerts' ]); } /** * Error handler */ function handleError(error) { Logger.log('ERROR: ' + error.message); // Send notification MailApp.sendEmail(Session.getEffectiveUser().getEmail(), 'Ads Script Error', 'Error: ' + error.message + '\n\n' + error.stack); } ``` -------------------------------- ### Install Individual Plugins Source: https://context7.com/henkisdabro/wookstar-claude-plugins/llms.txt Install specific plugins using their name followed by the marketplace identifier. The pattern is always `@wookstar-claude-plugins`. ```bash # Install individual plugins /plugin install developer@wookstar-claude-plugins /plugin install humanise@wookstar-claude-plugins /plugin install mcp-cloudflare@wookstar-claude-plugins ``` -------------------------------- ### Install JSON LSP Plugin Source: https://github.com/henkisdabro/wookstar-claude-plugins/blob/main/plugins/lsp-json/README.md Install the json-lsp plugin for Claude Code using the plugin install command. ```bash /plugin install json-lsp@wookstar-claude-plugins ``` -------------------------------- ### Create a New Git Repository Source: https://github.com/henkisdabro/wookstar-claude-plugins/blob/main/plugins/developer/skills/fifteen-factor-app/references/original-factors.md Initialize a new Git repository, add files, commit them, and push to a remote origin. This is for setting up a new project. ```bash git init git add . git commit -m "Initial commit for the application" git remote add origin https://github.com//fifteen-factor-app.git git push -u origin main ``` -------------------------------- ### Install FFmpeg Plugin Source: https://github.com/henkisdabro/wookstar-claude-plugins/blob/main/plugins/ffmpeg/README.md Use this command to install the FFmpeg plugin. This command is typically run in a plugin management environment. ```bash /plugin install ffmpeg@wookstar-claude-plugins ``` -------------------------------- ### Install bash-lsp Plugin Source: https://github.com/henkisdabro/wookstar-claude-plugins/blob/main/plugins/lsp-bash/README.md Install the bash-lsp plugin for Claude Code using the provided plugin installation command. ```bash /plugin install bash-lsp@wookstar-claude-plugins ``` -------------------------------- ### Install MCP Fetch Plugin Source: https://github.com/henkisdabro/wookstar-claude-plugins/blob/main/plugins/mcp-fetch/README.md Use this command to install the MCP Fetch plugin using the MCP plugin manager. ```bash /plugin install mcp-fetch@wookstar-claude-plugins ``` -------------------------------- ### Verify FFmpeg Installation Source: https://github.com/henkisdabro/wookstar-claude-plugins/blob/main/plugins/ffmpeg/skills/ffmpeg-cli/SKILL.md Check if FFmpeg is installed on the system. If not, provides installation commands for macOS, Ubuntu/Debian, and Windows. ```bash ffmpeg -version ``` ```bash # macOS brew install ffmpeg ``` ```bash # Ubuntu/Debian sudo apt install ffmpeg ``` ```bash # Windows (scoop) scoop install ffmpeg ``` -------------------------------- ### Check MCP Server Help Source: https://github.com/henkisdabro/wookstar-claude-plugins/blob/main/plugins/developer/skills/devtools/references/troubleshooting.md Run this command to see the help output for the MCP server and verify its installation. ```bash npx chrome-devtools-mcp@latest --help ``` -------------------------------- ### Install MCP Gemini Bridge Plugin Source: https://github.com/henkisdabro/wookstar-claude-plugins/blob/main/plugins/mcp-gemini-bridge/README.md Use this command to install the MCP Gemini Bridge plugin. Ensure you have MCP installed and configured. ```bash /plugin install mcp-gemini-bridge@wookstar-claude-plugins ``` -------------------------------- ### Install mcp-cloudflare Plugin Source: https://context7.com/henkisdabro/wookstar-claude-plugins/llms.txt Installs the mcp-cloudflare plugin. Authentication is handled via OAuth browser prompt on first use, and no API key is needed. ```bash /plugin install mcp-cloudflare@wookstar-claude-plugins # No API key needed — OAuth browser authentication on first use ``` -------------------------------- ### Install timezone-tools Plugin Source: https://context7.com/henkisdabro/wookstar-claude-plugins/llms.txt Installs the timezone-tools plugin for local timezone conversions. Requires Python 3.9+ and the `tzlocal` library, which can be installed via pip. ```bash /plugin install timezone-tools@wookstar-claude-plugins pip install tzlocal # one-time dependency ```