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