# 🚀 SEO Skills - Installation & Requirements Guide **Last Updated:** 2026-03-08 **Status:** ✅ All requirements documented --- ## 📦 QUICK START ### **One Command Install:** ```bash cd /Users/kunthawatgreethong/Gitea/opencode-skill ./scripts/install-skills.sh ``` This will: 1. Install all skills to `~/.config/opencode/skills/` 2. Copy unified `.env` with your credentials 3. Install all Python dependencies 4. Configure all skills --- ## 🔧 MANUAL INSTALLATION (If Needed) ### **Step 1: Install Python Dependencies** #### **Core Dependencies (All Skills):** ```bash # Navigate to skills directory cd /Users/kunthawatgreethong/Gitea/opencode-skill/skills # Install all requirements at once pip3 install -r seo-multi-channel/scripts/requirements.txt pip3 install -r seo-analyzers/scripts/requirements.txt pip3 install -r seo-data/scripts/requirements.txt pip3 install -r umami/scripts/requirements.txt pip3 install -r website-creator/scripts/requirements.txt pip3 install -r image-generation/scripts/requirements.txt pip3 install -r image-edit/scripts/requirements.txt pip3 install -r image-analyze/scripts/requirements.txt ``` #### **All Dependencies in One Command:** ```bash cd /Users/kunthawatgreethong/Gitea/opencode-skill/skills pip3 install \ pythainlp \ pyyaml \ python-dotenv \ pandas \ aiohttp \ tqdm \ rich \ markdown \ python-frontmatter \ GitPython \ Pillow \ requests \ google-analytics-data \ google-auth \ google-auth-oauthlib \ google-api-python-client ``` --- ### **Step 2: Install Thai Language Data** ```bash # PyThaiNLP data (required for Thai language support) python3 -c "from pythainlp.corpus import download; download('default')" ``` --- ### **Step 3: Verify Installation** ```bash # Test PyThaiNLP python3 -c "from pythainlp import word_tokenize; print(word_tokenize('ทดสอบภาษาไทย'))" # Expected: ['ทดสอบ', 'ภาษาไทย'] # Test Google packages python3 -c "from google.analytics.data_v1beta import BetaAnalyticsDataClient; print('GA4 OK')" python3 -c "from googleapiclient.discovery import build; print('GSC OK')" # Test YAML python3 -c "import yaml; print('YAML OK')" # Test requests python3 -c "import requests; print('Requests OK')" ``` --- ## 📋 REQUIREMENTS BY SKILL ### **seo-multi-channel** **File:** `skills/seo-multi-channel/scripts/requirements.txt` ```txt # Thai language processing pythainlp>=3.2.0 # HTTP and API requests requests>=2.31.0 aiohttp>=3.9.0 # Configuration and environment python-dotenv>=1.0.0 # YAML parsing for templates pyyaml>=6.0.1 # Data handling pandas>=2.1.0 # Date/time handling python-dateutil>=2.8.2 # Image processing (for image generation/edit integration) Pillow>=10.0.0 # Markdown processing (for blog posts) markdown>=3.5.0 python-frontmatter>=1.0.0 # Git operations (for auto-publish) GitPython>=3.1.40 # Utilities tqdm>=4.66.0 # Progress bars rich>=13.7.0 # Beautiful console output ``` --- ### **seo-analyzers** **File:** `skills/seo-analyzers/scripts/requirements.txt` ```txt # Thai language processing (REQUIRED) pythainlp>=3.2.0 # Data handling pandas>=2.1.0 # Utilities tqdm>=4.66.0 rich>=13.7.0 ``` --- ### **seo-data** **File:** `skills/seo-data/scripts/requirements.txt` ```txt # Google APIs google-analytics-data>=0.18.0 google-auth>=2.23.0 google-auth-oauthlib>=1.1.0 google-auth-httplib2>=0.1.1 google-api-python-client>=2.100.0 # HTTP and API requests requests>=2.31.0 aiohttp>=3.9.0 # Data handling pandas>=2.1.0 # Configuration and environment python-dotenv>=1.0.0 # Caching diskcache>=5.6.0 # Date/time handling python-dateutil>=2.8.2 ``` --- ### **seo-context** **File:** `skills/seo-context/scripts/requirements.txt` ```txt # No external dependencies required # Pure Python with standard library only # Optional: For advanced content analysis # pythainlp>=3.2.0 # pandas>=2.1.0 ``` --- ### **umami** **File:** `skills/umami/scripts/requirements.txt` ```txt # Umami Analytics Client requests>=2.31.0 python-dotenv>=1.0.0 ``` --- ### **website-creator** **File:** `skills/website-creator/scripts/requirements.txt` ```txt # Website Creator & Auto-Deploy requests>=2.31.0 python-dotenv>=1.0.0 GitPython>=3.1.40 pyyaml>=6.0.1 ``` --- ### **image-generation / image-edit / image-analyze** **File:** `skills/image-*/scripts/requirements.txt` ```txt # Image Skills requests>=2.31.0 python-dotenv>=1.0.0 Pillow>=10.0.0 ``` --- ## 🔑 CREDENTIALS SETUP ### **Unified .env File:** ```bash cd /Users/kunthawatgreethong/Gitea/opencode-skill cp .env.example .env nano .env # Edit with your credentials ``` ### **Required Credentials:** ```bash # Image Generation (Chutes AI) CHUTES_API_TOKEN=your_token_here # Umami Analytics (Self-Hosted) UMAMI_URL=https://analytics.yoursite.com UMAMI_USERNAME=your_username UMAMI_PASSWORD=your_password # Google Analytics 4 (Optional) GA4_PROPERTY_ID=G-XXXXXXXXXX GA4_CREDENTIALS_PATH=/path/to/ga4-credentials.json # Google Search Console (Optional) GSC_SITE_URL=https://yoursite.com GSC_CREDENTIALS_PATH=/path/to/gsc-credentials.json # DataForSEO (Optional) DATAFORSEO_LOGIN=your_login DATAFORSEO_PASSWORD=your_password # Git/Gitea (Optional, for auto-publish) GIT_USERNAME=your_username GIT_TOKEN=your_token GIT_URL=https://git.moreminimore.com # Gitea (Optional, for repo sync) GITEA_API_TOKEN=your_token GITEA_USERNAME=your_username GITEA_URL=https://git.moreminimore.com # Easypanel (Optional, for deployment) EASYPANEL_USERNAME=your_username EASYPANEL_PASSWORD=your_password EASYPANEL_URL=https://panelwebsite.moreminimore.com ``` --- ## 🧪 VERIFICATION TESTS ### **Test 1: Core SEO Features** ```bash cd /Users/kunthawatgreethong/Gitea/opencode-skill/skills/seo-multi-channel/scripts python3 generate_content.py \ --topic "test" \ --channels facebook \ --language th ``` **Expected:** 5 Facebook variations generated --- ### **Test 2: Thai Analysis** ```bash cd /Users/kunthawatgreethong/Gitea/opencode-skill/skills/seo-analyzers/scripts python3 thai_keyword_analyzer.py \ --text "บทความเกี่ยวกับบริการ podcast" \ --keyword "บริการ podcast" \ --language th ``` **Expected:** Thai keyword density analysis --- ### **Test 3: Umami Integration** ```bash cd /Users/kunthawatgreethong/Gitea/opencode-skill/skills/umami/scripts python3 umami_client.py \ --action create-website \ --umami-url "$UMAMI_URL" \ --username "$UMAMI_USERNAME" \ --password "$UMAMI_PASSWORD" \ --website-name "Test Site" \ --website-domain "test.example.com" ``` **Expected:** Umami website created --- ### **Test 4: Google Analytics** ```bash cd /Users/kunthawatgreethong/Gitea/opencode-skill/skills/seo-data/scripts python3 ga4_connector.py \ --property-id "$GA4_PROPERTY_ID" \ --credentials "$GA4_CREDENTIALS_PATH" \ --url "/test-page" \ --days 30 ``` **Expected:** GA4 analytics data --- ### **Test 5: DataForSEO** ```bash cd /Users/kunthawatgreethong/Gitea/opencode-skill/skills/seo-data/scripts python3 dataforseo_client.py \ --login "$DATAFORSEO_LOGIN" \ --password "$DATAFORSEO_PASSWORD" \ --keyword "podcast" \ --location "Thailand" \ --language "Thai" ``` **Expected:** Keyword suggestions with search volume --- ## 🗑️ OUTDATED DOCUMENTATION TO REMOVE The following files are outdated and should be deleted: ```bash cd /Users/kunthawatgreethong/Gitea/opencode-skill # Outdated SEO skill docs (replaced by this guide) rm -f skills/SEO_SKILLS_IMPLEMENTATION_STATUS.md rm -f skills/SEO_SKILLS_COMPLETE.md rm -f skills/BUG_FIXES_2026-03-08.md rm -f skills/FINAL_BUG_FIX_STATUS.md # Outdated test results (use TESTING_GUIDE.md instead) rm -f TEST_RESULTS_2026-03-08.md rm -f REAL_DATA_TEST_RESULTS.md rm -f COMPREHENSIVE_TEST_RESULTS.md # Outdated implementation status (all complete now) rm -f skills/seo-*/IMPLEMENTATION*.md rm -f skills/seo-*/SPECIFICATION*.md ``` --- ## 📖 CURRENT DOCUMENTATION **Active Documentation:** - ✅ `AGENTS.md` - Main project knowledge base - ✅ `SEO_SKILLS_INSTALLATION_GUIDE.md` - Installation guide - ✅ `SINGLE_TESTING_GUIDE.md` - Comprehensive testing guide - ✅ `ALL_SERVICES_WORKING_FINAL.md` - Final status (100% complete) - ✅ `skills/*/SKILL.md` - Individual skill documentation --- ## 🆘 TROUBLESHOOTING ### **Issue: PyThaiNLP Not Found** ```bash pip3 install pythainlp python3 -c "from pythainlp.corpus import download; download('default')" ``` --- ### **Issue: Google Packages Not Found** ```bash pip3 install google-analytics-data google-auth google-auth-oauthlib google-api-python-client ``` --- ### **Issue: YAML Parser Errors** ```bash pip3 install pyyaml ``` --- ### **Issue: Credentials Not Loading** ```bash # Check .env file exists ls -la .env # Verify it has credentials grep "^UMAMI_URL=" .env grep "^CHUTES_API_TOKEN=" .env ``` --- **All requirements documented and tested!** 🎉