### Validate Installation Source: https://github.com/avalonreset/gemini-seo/blob/main/extensions/banana/docs/BANANA-SETUP.md Run the provided Python script to verify the extension setup. ```bash python3 ~/.claude/skills/seo-image-gen/scripts/validate_setup.py ``` -------------------------------- ### Clone and install project Source: https://github.com/avalonreset/gemini-seo/blob/main/CONTRIBUTING.md Commands to clone the repository and run the installation script. ```bash git clone https://github.com/YOUR_USERNAME/gemini-seo.git cd gemini-seo bash install.sh ``` -------------------------------- ### Install Gemini SEO on Unix/macOS/Linux Source: https://github.com/avalonreset/gemini-seo/blob/main/docs/INSTALLATION.md Clones the repository and executes the shell installation script. ```bash git clone --depth 1 https://github.com/avalonreset/gemini-seo.git bash gemini-seo/install.sh ``` -------------------------------- ### Install DataForSEO Extension on Windows Source: https://github.com/avalonreset/gemini-seo/blob/main/extensions/dataforseo/README.md Use these commands to clone the repository and run the installation script on Windows systems. ```powershell git clone https://github.com/avalonreset/gemini-seo.git cd gemini-seo .\extensions\dataforseo\install.ps1 ``` -------------------------------- ### Install DataForSEO Extension on Unix/macOS/Linux Source: https://github.com/avalonreset/gemini-seo/blob/main/extensions/dataforseo/README.md Use these commands to clone the repository and run the installation script on Unix-based systems. ```bash git clone https://github.com/avalonreset/gemini-seo.git cd gemini-seo ./extensions/dataforseo/install.sh ``` -------------------------------- ### Install Gemini SEO Skill Source: https://github.com/avalonreset/gemini-seo/blob/main/GEMINI.md Use this command to install the packaged skill into the user scope. ```bash gemini skills install path/to/gemini-seo.skill --scope user ``` -------------------------------- ### Install DataForSEO Extension Source: https://github.com/avalonreset/gemini-seo/blob/main/agents/seo-backlinks.md Execute the installation script if all free data sources fail to return results. ```bash ./extensions/dataforseo/install.sh ``` -------------------------------- ### Install ImageMagick Source: https://github.com/avalonreset/gemini-seo/blob/main/extensions/banana/docs/BANANA-SETUP.md Commands to install and verify ImageMagick for post-processing tasks. ```bash # Ubuntu/Pop!_OS sudo apt install imagemagick # Verify magick --version ``` -------------------------------- ### Install Gemini SEO on Windows Source: https://github.com/avalonreset/gemini-seo/blob/main/docs/INSTALLATION.md Clones the repository and executes the PowerShell installation script with bypass execution policy. ```powershell git clone --depth 1 https://github.com/avalonreset/gemini-seo.git powershell -ExecutionPolicy Bypass -File gemini-seo\install.ps1 ``` -------------------------------- ### Install Banana Extension Source: https://github.com/avalonreset/gemini-seo/blob/main/extensions/banana/README.md Executes the installation script to configure the SEO image generation skill and MCP server. ```bash ./extensions/banana/install.sh ``` -------------------------------- ### Verify Skill Installation Source: https://github.com/avalonreset/gemini-seo/blob/main/docs/TROUBLESHOOTING.md Check for the existence of the skill and its frontmatter configuration. ```bash ls ~/.gemini/skills/seo/SKILL.md ``` ```bash head -5 ~/.gemini/skills/seo/SKILL.md ``` -------------------------------- ### Install Google Ads Python Library Source: https://github.com/avalonreset/gemini-seo/blob/main/skills/seo-google/references/keyword-planner-api.md Install the required Python library to interact with the Google Ads API. ```bash pip install google-ads ``` -------------------------------- ### Verify Authentication Setup Source: https://github.com/avalonreset/gemini-seo/blob/main/skills/seo-google/references/auth-setup.md Runs the verification script to check API access and credential tiers. ```bash python scripts/google_auth.py --check ``` -------------------------------- ### Install Firecrawl Extension Source: https://github.com/avalonreset/gemini-seo/blob/main/extensions/firecrawl/README.md Use the appropriate installation script for your operating system to configure the MCP server. ```bash ./extensions/firecrawl/install.sh ``` ```powershell .\extensions\firecrawl\install.ps1 ``` -------------------------------- ### Pin Release Tag for Installation Source: https://github.com/avalonreset/gemini-seo/blob/main/docs/INSTALLATION.md Specifies a particular release tag during the installation process. ```bash GEMINI_SEO_TAG=v1.9.9 bash gemini-seo/install.sh ``` -------------------------------- ### Install Dependencies Manually Source: https://github.com/avalonreset/gemini-seo/blob/main/docs/INSTALLATION.md Installs required Python packages from the requirements file. ```bash python -m pip install -r requirements.txt ``` -------------------------------- ### Run the Firecrawl Installer Source: https://github.com/avalonreset/gemini-seo/blob/main/extensions/firecrawl/docs/FIRECRAWL-SETUP.md Executes the automated installation script which prompts for an API key and configures the MCP server. ```bash ./extensions/firecrawl/install.sh ``` -------------------------------- ### Install Playwright Dependencies Source: https://github.com/avalonreset/gemini-seo/blob/main/agents/seo-visual.md Install the necessary Playwright library and Chromium browser binary. ```bash pip install playwright && playwright install chromium ``` -------------------------------- ### Manual MCP Configuration Source: https://github.com/avalonreset/gemini-seo/blob/main/extensions/firecrawl/docs/FIRECRAWL-SETUP.md Add this configuration to ~/.claude/settings.json if the automated installer fails. ```json { "mcpServers": { "firecrawl-mcp": { "command": "npx", "args": ["-y", "firecrawl-mcp"], "env": { "FIRECRAWL_API_KEY": "fc-your-api-key-here" } } } } ``` -------------------------------- ### Verify Installation Source: https://github.com/avalonreset/gemini-seo/blob/main/docs/INSTALLATION.md Checks for the existence of the skill orchestrator and runs an audit command. ```bash ls ~/.gemini/skills/seo/SKILL.md ``` ```text /seo audit https://example.com ``` -------------------------------- ### Verify Firecrawl Installation Source: https://github.com/avalonreset/gemini-seo/blob/main/extensions/firecrawl/docs/FIRECRAWL-SETUP.md Run this command in the agent CLI to confirm the tool is correctly installed and functional. ```bash /seo firecrawl map https://example.com ``` -------------------------------- ### Install Playwright Chromium Source: https://github.com/avalonreset/gemini-seo/blob/main/docs/TROUBLESHOOTING.md Required for visual analysis and screenshot functionality. ```bash python -m playwright install chromium ``` -------------------------------- ### Check Tool Availability Source: https://github.com/avalonreset/gemini-seo/blob/main/extensions/banana/references/post-processing.md Verify that ImageMagick and FFmpeg are installed and accessible in the system path. ```bash which magick # ImageMagick 7 (preferred) which convert # ImageMagick 6 (fallback) which ffmpeg # For video/animation ``` -------------------------------- ### Verify DataForSEO Installation Source: https://github.com/avalonreset/gemini-seo/blob/main/extensions/dataforseo/docs/DATAFORSEO-SETUP.md Run this command within the Claude Code interface to confirm the extension is correctly configured and returning data. ```bash /seo dataforseo serp test query ``` -------------------------------- ### Configure and Execute Image Generation Source: https://github.com/avalonreset/gemini-seo/blob/main/skills/seo-image-gen/SKILL.md Commands for installing necessary extensions and executing image generation with specific parameters. ```bash ./extensions/banana/install.sh ``` ```bash python3 scripts/generate.py --prompt "..." --aspect-ratio "16:9" ``` -------------------------------- ### Check for claude-blog Installation Source: https://github.com/avalonreset/gemini-seo/blob/main/skills/seo-cluster/SKILL.md A test to verify the presence of the claude-blog skill before executing the workflow. ```text Test: Does ~/.claude/skills/blog/SKILL.md exist? ``` -------------------------------- ### Extension Directory Structure Source: https://github.com/avalonreset/gemini-seo/blob/main/docs/ARCHITECTURE.md The standard file layout for extensions, including installation scripts, configuration, and MCP integration files. ```text extensions/ ├── dataforseo/ # DataForSEO MCP integration │ ├── README.md │ ├── install.sh │ ├── install.ps1 │ ├── uninstall.sh │ ├── uninstall.ps1 │ ├── field-config.json │ ├── skills/seo-dataforseo/SKILL.md │ ├── agents/seo-dataforseo.md │ └── docs/DATAFORSEO-SETUP.md │ ├── banana/ # AI image generation via Gemini │ ├── README.md │ ├── install.sh │ ├── uninstall.sh │ ├── skills/seo-image-gen/SKILL.md │ ├── agents/seo-image-gen.md │ ├── scripts/ # Python fallback scripts (stdlib only) │ ├── references/ # 7 reference files (prompt engineering, models, presets) │ └── docs/BANANA-SETUP.md │ └── firecrawl/ # Firecrawl MCP for full-site crawling ├── README.md ├── install.sh ├── install.ps1 ├── uninstall.sh ├── uninstall.ps1 └── skills/seo-firecrawl/SKILL.md ``` -------------------------------- ### Disable Automatic Dependency Installation Source: https://github.com/avalonreset/gemini-seo/blob/main/docs/INSTALLATION.md Prevents the installer from automatically installing Python dependencies. ```bash GEMINI_SEO_INSTALL_DEPS=0 bash gemini-seo/install.sh ``` -------------------------------- ### Manage Presets via CLI Source: https://github.com/avalonreset/gemini-seo/blob/main/extensions/banana/references/presets.md Commands for listing, showing, creating, and deleting presets using the presets.py utility. ```bash # List presets presets.py list # Show details presets.py show tech-saas # Create interactively (Claude fills in details from conversation) presets.py create NAME --colors "#hex,#hex" --style "..." --mood "..." # Delete presets.py delete NAME --confirm ``` -------------------------------- ### Configure DataForSEO MCP Server Source: https://github.com/avalonreset/gemini-seo/blob/main/extensions/dataforseo/docs/DATAFORSEO-SETUP.md Add this configuration to your ~/.claude/settings.json file if the automated installer fails. Ensure you replace the placeholder credentials and file paths with your specific account details. ```json { "mcpServers": { "dataforseo": { "command": "npx", "args": ["-y", "dataforseo-mcp-server"], "env": { "DATAFORSEO_USERNAME": "your-email@example.com", "DATAFORSEO_PASSWORD": "your-api-password", "ENABLED_MODULES": "SERP,KEYWORDS_DATA,ONPAGE,DATAFORSEO_LABS,BACKLINKS,DOMAIN_ANALYTICS,BUSINESS_DATA,CONTENT_ANALYSIS,AI_OPTIMIZATION", "FIELD_CONFIG_PATH": "/home/youruser/.claude/skills/seo/dataforseo-field-config.json" } } } } ``` -------------------------------- ### Create Configuration Directory Source: https://github.com/avalonreset/gemini-seo/blob/main/skills/seo-google/references/auth-setup.md Creates the directory structure for storing Google API configuration files. ```bash mkdir -p ~/.config/gemini-seo ``` -------------------------------- ### Create Custom Preset Source: https://github.com/avalonreset/gemini-seo/blob/main/extensions/banana/references/seo-image-presets.md Command to generate a new custom preset file in the user's configuration directory. ```bash python3 ~/.claude/skills/seo-image-gen/scripts/presets.py create my-brand ``` -------------------------------- ### Implement Product Schema Markup Source: https://github.com/avalonreset/gemini-seo/blob/main/skills/seo-plan/assets/ecommerce.md A JSON-LD example for a product page, including brand, offer, and rating information. Ensure this is included in the initial server-rendered HTML for Google Merchant Center eligibility. ```json { "@context": "https://schema.org", "@type": "Product", "name": "Product Name", "image": ["https://example.com/product.jpg"], "description": "Product description", "sku": "SKU123", "brand": { "@type": "Brand", "name": "Brand Name" }, "offers": { "@type": "Offer", "price": "99.99", "priceCurrency": "USD", "availability": "https://schema.org/InStock", "url": "https://example.com/product" }, "aggregateRating": { "@type": "AggregateRating", "ratingValue": "4.5", "reviewCount": "42" } } ``` -------------------------------- ### Configure Budget Presets Source: https://github.com/avalonreset/gemini-seo/blob/main/skills/seo-dataforseo/references/cost-tiers.md Use this command to set the daily budget limit and threshold mode for API calls. ```bash python scripts/dataforseo_costs.py config --mode threshold --threshold 0.50 --daily-limit 10.00 ``` -------------------------------- ### GET https://indexing.googleapis.com/v3/urlNotifications/metadata Source: https://github.com/avalonreset/gemini-seo/blob/main/skills/seo-google/references/indexing-api.md Retrieves the latest notification metadata for a specific URL. ```APIDOC ## GET https://indexing.googleapis.com/v3/urlNotifications/metadata ### Description Returns the latestUpdate and latestRemove timestamps for a given URL. ### Method GET ### Endpoint https://indexing.googleapis.com/v3/urlNotifications/metadata?url={ENCODED_URL} ### Parameters #### Query Parameters - **url** (string) - Required - The URL to query (must be encoded) ``` -------------------------------- ### Pre/Post Deployment Check Source: https://github.com/avalonreset/gemini-seo/blob/main/skills/seo-drift/SKILL.md Capture a baseline before deployment and compare against it after deployment to identify changes. ```bash /seo drift baseline https://example.com # Before deploy # ... deploy happens ... /seo drift compare https://example.com # After deploy ``` -------------------------------- ### Verify Files and Configuration Source: https://github.com/avalonreset/gemini-seo/blob/main/extensions/banana/docs/BANANA-SETUP.md Manual commands to check for the existence of skill and agent files and verify MCP configuration. ```bash ls ~/.claude/skills/seo-image-gen/SKILL.md ls ~/.claude/agents/seo-image-gen.md grep nanobanana ~/.claude/settings.json ``` -------------------------------- ### List SEO Presets Source: https://github.com/avalonreset/gemini-seo/blob/main/extensions/banana/skills/seo-image-gen/SKILL.md Use this command to list available brand or SEO presets before generating an image. ```bash python3 scripts/presets.py list ``` -------------------------------- ### Verify Companion Agent Notes Source: https://github.com/avalonreset/gemini-seo/blob/main/docs/TROUBLESHOOTING.md Check for the presence of installed agent markdown files. ```bash ls ~/.gemini/agents/seo-*.md ``` -------------------------------- ### Uninstall Gemini SEO Source: https://github.com/avalonreset/gemini-seo/blob/main/docs/INSTALLATION.md Removes the installed skill using the provided uninstall scripts. ```bash bash gemini-seo/uninstall.sh ``` ```powershell powershell -ExecutionPolicy Bypass -File gemini-seo\uninstall.ps1 ``` -------------------------------- ### /seo dataforseo volume Source: https://github.com/avalonreset/gemini-seo/blob/main/extensions/dataforseo/skills/seo-dataforseo/SKILL.md Get search volume and metrics for a list of keywords. ```APIDOC ## /seo dataforseo volume ### Description Get search volume and metrics for a list of keywords. ### Parameters #### Path Parameters - **keywords** (array) - Required - Comma-separated list of keywords. #### Query Parameters - **location_code** (integer) - Optional - **language_code** (string) - Optional ### Response - **Keyword** (string) - The keyword - **monthly search volume** (integer) - Search volume - **CPC** (float) - Cost per click - **competition** (string) - Competition level - **monthly trend data** (array) - Trend metrics ``` -------------------------------- ### Batch Request Format Source: https://github.com/avalonreset/gemini-seo/blob/main/skills/seo-google/references/indexing-api.md Example of a multipart/mixed batch request containing multiple URL notifications. ```http POST /batch HTTP/1.1 Content-Type: multipart/mixed; boundary=batch_boundary --batch_boundary Content-Type: application/http Content-ID: POST /v3/urlNotifications:publish HTTP/1.1 Content-Type: application/json {"url": "https://example.com/jobs/1", "type": "URL_UPDATED"} --batch_boundary Content-Type: application/http Content-ID: POST /v3/urlNotifications:publish HTTP/1.1 Content-Type: application/json {"url": "https://example.com/jobs/2", "type": "URL_UPDATED"} --batch_boundary-- ``` -------------------------------- ### Knowledge Graph Search API Response Source: https://github.com/avalonreset/gemini-seo/blob/main/skills/seo-google/references/supplementary-apis.md Example JSON response structure for an entity search query. ```json { "itemListElement": [{ "result": { "@id": "kg:/m/0d6lp", "name": "Google", "@type": ["Organization", "Corporation"], "description": "Technology company", "detailedDescription": { "articleBody": "Google LLC is an American...", "url": "https://en.wikipedia.org/wiki/Google" }, "image": { "url": "..." }, "url": "https://www.google.com" }, "resultScore": 4892.5 }] } ``` -------------------------------- ### Manage Cost Tracking via CLI Source: https://github.com/avalonreset/gemini-seo/blob/main/extensions/banana/references/cost-tracking.md Use these commands to log generations, view usage summaries, estimate batch costs, and reset the local ledger. ```bash # Log a generation cost_tracker.py log --model gemini-3.1-flash-image-preview --resolution 1K --prompt "coffee shop hero" # View summary (total + last 7 days) cost_tracker.py summary # Today's usage cost_tracker.py today # Estimate before batch cost_tracker.py estimate --model gemini-3.1-flash-image-preview --resolution 1K --count 10 # Reset ledger cost_tracker.py reset --confirm ``` -------------------------------- ### Edit image with gemini_edit_image Source: https://github.com/avalonreset/gemini-seo/blob/main/extensions/banana/references/mcp-tools.md Example usage of the image editing tool within the Claude Code environment. ```text User: "Remove the background from ~/Documents/photo.png" → Claude calls gemini_edit_image with path and instruction ``` -------------------------------- ### Generate image with gemini_generate_image Source: https://github.com/avalonreset/gemini-seo/blob/main/extensions/banana/references/mcp-tools.md Example usage of the image generation tool within the Claude Code environment. ```text User: "Generate a sunset over mountains in watercolor style" → Claude calls gemini_generate_image with prompt → Returns image path and description ``` -------------------------------- ### Manage Cost Configuration Source: https://github.com/avalonreset/gemini-seo/blob/main/skills/seo-dataforseo/SKILL.md Commands for viewing spending history and configuring cost management thresholds. ```bash /seo dataforseo costs today /seo dataforseo costs summary /seo dataforseo costs config --mode threshold --threshold 0.50 ``` -------------------------------- ### firecrawl_crawl Source: https://github.com/avalonreset/gemini-seo/blob/main/extensions/firecrawl/skills/seo-firecrawl/SKILL.md Crawl an entire website starting from the given URL to retrieve page content, metadata, and links. ```APIDOC ## firecrawl_crawl ### Description Crawl an entire website starting from the given URL. Returns page content, metadata, and links for all discovered pages. ### Parameters - **url** (string) - Required - Starting URL to crawl - **limit** (integer) - Optional - Max pages to crawl (default: 100, max: 500) - **maxDepth** (integer) - Optional - Max link depth from start URL (default: 3) - **includePaths** (array) - Optional - Array of glob patterns to include - **excludePaths** (array) - Optional - Array of glob patterns to exclude - **scrapeOptions.formats** (array) - Optional - Output formats: ["markdown", "html", "links"] ``` -------------------------------- ### Define Skill Metadata Source: https://github.com/avalonreset/gemini-seo/blob/main/docs/ARCHITECTURE.md Use this YAML frontmatter format to define capabilities and activation instructions for a skill. ```yaml --- name: skill-name description: > When to use this skill. Include activation keywords and concrete use cases. --- # Skill Title Instructions and documentation... ``` -------------------------------- ### GET https://customsearch.googleapis.com/customsearch/v1 Source: https://github.com/avalonreset/gemini-seo/blob/main/skills/seo-google/references/supplementary-apis.md Retrieve programmatic Google search results using a Programmable Search Engine ID. ```APIDOC ## GET https://customsearch.googleapis.com/customsearch/v1 ### Description Programmatic Google search results (limited). ### Method GET ### Endpoint https://customsearch.googleapis.com/customsearch/v1 ### Parameters #### Query Parameters - **key** (string) - Required - API key - **cx** (string) - Required - Programmable Search Engine ID - **q** (string) - Optional - Search query - **num** (integer) - Optional - Results per page (1-10) - **start** (integer) - Optional - Start index (max 91) - **dateRestrict** (string) - Optional - Date restriction (e.g., d30 for 30 days) - **gl** (string) - Optional - Country (e.g., us) - **lr** (string) - Optional - Language restriction - **searchType** (string) - Optional - image for image search - **siteSearch** (string) - Optional - Restrict to a domain ```