Files
opencode-skill/INSTALLATION_REQUIREMENTS.md
2026-03-08 23:03:19 +07:00

8.8 KiB

🚀 SEO Skills - Installation & Requirements Guide

Last Updated: 2026-03-08
Status: All requirements documented


📦 QUICK START

One Command Install:

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):

# 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:

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

# PyThaiNLP data (required for Thai language support)
python3 -c "from pythainlp.corpus import download; download('default')"

Step 3: Verify Installation

# 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

# 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

# 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

# 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

# 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

# Umami Analytics Client

requests>=2.31.0
python-dotenv>=1.0.0

website-creator

File: skills/website-creator/scripts/requirements.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

# Image Skills

requests>=2.31.0
python-dotenv>=1.0.0
Pillow>=10.0.0

🔑 CREDENTIALS SETUP

Unified .env File:

cd /Users/kunthawatgreethong/Gitea/opencode-skill
cp .env.example .env
nano .env  # Edit with your credentials

Required Credentials:

# 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

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

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

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

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

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:

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

pip3 install pythainlp
python3 -c "from pythainlp.corpus import download; download('default')"

Issue: Google Packages Not Found

pip3 install google-analytics-data google-auth google-auth-oauthlib google-api-python-client

Issue: YAML Parser Errors

pip3 install pyyaml

Issue: Credentials Not Loading

# 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! 🎉