8.3 KiB
📋 SEO Skills - Credentials Setup Guide
Purpose: Set up all API credentials for testing all features
🔑 CREDENTIALS REQUIRED BY FEATURE
Core Features (No Credentials Needed) ✅
These features work without any API credentials:
- ✅ Multi-channel content generation (Facebook, Google Ads, Blog, X)
- ✅ Thai keyword density analysis
- ✅ Thai readability scoring
- ✅ Content quality scoring (0-100)
- ✅ Context file creation
You can test Groups 1-3 immediately without any credentials!
Image Features (Needs Chutes AI) 🎨
Required for: Tests 4.1, 4.3
| Variable | Description | Where to Get |
|---|---|---|
CHUTES_API_TOKEN |
API token for image generation/editing | https://chutes.ai/ |
Setup:
- Sign up at https://chutes.ai/
- Get API token from dashboard
- Add to
.env:CHUTES_API_TOKEN=your_token_here
Analytics Features (Optional) 📊
Required for: Tests 6.2-6.5
Google Analytics 4
| Variable | Description | Where to Get |
|---|---|---|
GA4_PROPERTY_ID |
Your GA4 property ID (e.g., G-123456789) | GA4 Admin → Data Streams |
GA4_CREDENTIALS_PATH |
Path to service account JSON file | Google Cloud Console |
Setup:
- Go to Google Cloud Console
- Create service account
- Download JSON credentials
- Grant service account access to GA4 property
- Add to
.env:GA4_PROPERTY_ID=G-XXXXXXXXXX GA4_CREDENTIALS_PATH=/path/to/ga4-credentials.json
Google Search Console
| Variable | Description | Where to Get |
|---|---|---|
GSC_SITE_URL |
Your verified site URL | GSC dashboard |
GSC_CREDENTIALS_PATH |
Path to service account JSON file | Google Cloud Console |
Setup:
- Use same service account as GA4 (or create new)
- Grant service account access to GSC property
- Add to
.env:GSC_SITE_URL=https://yoursite.com GSC_CREDENTIALS_PATH=/path/to/gsc-credentials.json
DataForSEO
| Variable | Description | Where to Get |
|---|---|---|
DATAFORSEO_LOGIN |
API login | https://dataforseo.com/ dashboard |
DATAFORSEO_PASSWORD |
API password | https://dataforseo.com/ dashboard |
Setup:
- Sign up at https://dataforseo.com/
- Get API credentials from dashboard
- Add to
.env:DATAFORSEO_LOGIN=your_login DATAFORSEO_PASSWORD=your_password
Umami Analytics
| Variable | Description | Where to Get |
|---|---|---|
UMAMI_API_URL |
Your Umami instance URL | Your Umami dashboard |
UMAMI_API_KEY |
API key from Umami | Umami dashboard → Settings |
UMAMI_WEBSITE_ID |
Website ID in Umami | Umami dashboard → Websites |
Setup:
- Self-host Umami or use cloud version
- Get API key from dashboard
- Add to
.env:UMAMI_API_URL=https://analytics.yoursite.com UMAMI_API_KEY=your_api_key UMAMI_WEBSITE_ID=your_website_id
Git/Auto-Publish Features (Optional) 🚀
Required for: Test 5.1 (auto-publish)
| Variable | Description | Where to Get |
|---|---|---|
GIT_USERNAME |
Your Git username | Gitea/GitHub profile |
GIT_EMAIL |
Your Git email | Gitea/GitHub profile |
GIT_TOKEN |
Personal access token | Gitea/GitHub settings |
GIT_URL |
Git server URL | Your Gitea/GitHub instance |
Setup:
- Generate personal access token from Gitea/GitHub
- Add to
.env:GIT_USERNAME=your_username GIT_EMAIL=your@email.com GIT_TOKEN=your_token GIT_URL=https://git.moreminimore.com
📝 SETUP WORKFLOW
Step 1: Copy .env.example
cd /Users/kunthawatgreethong/Gitea/opencode-skill
cp .env.example .env
Step 2: Edit .env
nano .env # or use your preferred editor
Step 3: Add Your Credentials
Minimum for testing core features (nothing required!):
# Leave everything blank - core features still work!
For full testing:
# Images (for Tests 4.1, 4.3)
CHUTES_API_TOKEN=your_chutes_token
# Git (for Test 5.1)
GIT_USERNAME=your_username
GIT_EMAIL=your@email.com
GIT_TOKEN=your_git_token
# Analytics (for Tests 6.2-6.5, skip if you don't have)
GA4_PROPERTY_ID=G-XXXXXXXXXX
GA4_CREDENTIALS_PATH=/path/to/ga4.json
GSC_SITE_URL=https://yoursite.com
GSC_CREDENTIALS_PATH=/path/to/gsc.json
DATAFORSEO_LOGIN=your_login
DATAFORSEO_PASSWORD=your_password
UMAMI_API_URL=https://analytics.yoursite.com
UMAMI_API_KEY=your_key
UMAMI_WEBSITE_ID=your_id
Step 4: Verify Setup
# Check .env exists
ls -la .env
# Check it has your credentials (first 5 chars only)
grep "^CHUTES_API_TOKEN=" .env | cut -c1-20
✅ CREDENTIAL CHECKLIST
Before testing, check which credentials you have:
Core Features (No credentials needed)
- None required! Ready to test Groups 1-3
Image Features
CHUTES_API_TOKEN- Required for Tests 4.1, 4.3- Skip if not available (image features are optional)
Git/Auto-Publish
GIT_USERNAMEGIT_EMAILGIT_TOKEN- Required for Test 5.1
Analytics (All Optional)
GA4_PROPERTY_ID+GA4_CREDENTIALS_PATH- Test 6.2GSC_SITE_URL+GSC_CREDENTIALS_PATH- Test 6.3DATAFORSEO_LOGIN+DATAFORSEO_PASSWORD- Test 6.4UMAMI_API_URL+UMAMI_API_KEY+UMAMI_WEBSITE_ID- Test 6.5
🧪 TESTING STRATEGY
Phase 1: Test Without Credentials (Recommended Start)
Test these features that don't need any credentials:
- ✅ Group 1: Content generation (all 5 channels)
- ✅ Group 2: Thai analysis (keyword, readability, quality)
- ✅ Group 3: Context management
Time: 1 hour
Credentials needed: None!
Phase 2: Add Image Credentials
Add CHUTES_API_TOKEN and test:
- ✅ Group 4: Image generation and editing
Time: 30 minutes
Credentials needed: Chutes AI token only
Phase 3: Add Git Credentials
Add Git credentials and test:
- ✅ Group 5: Auto-publish to Astro
Time: 20 minutes
Credentials needed: Git token + Chutes (optional)
Phase 4: Add Analytics Credentials (Optional)
Add analytics credentials if you have them:
- ✅ Group 6: Analytics integrations
Time: 30 minutes
Credentials needed: GA4/GSC/DataForSEO/Umami (any you have)
🔒 SECURITY NOTES
- NEVER commit .env - It's in .gitignore for a reason!
- Use separate service accounts for each service when possible
- Limit service account permissions to read-only where possible
- Rotate tokens regularly for security
- Use environment variables in production instead of .env file
📞 TROUBLESHOOTING
Issue: Credentials Not Being Read
Check:
# Verify .env file exists
ls -la .env
# Check it's being loaded (add to your script)
python3 -c "from dotenv import load_dotenv; load_dotenv(); import os; print(os.getenv('CHUTES_API_TOKEN', 'Not set'))"
Issue: GA4/GSC Authentication Failed
Common causes:
- Service account doesn't have access to GA4/GSC property
- Wrong credentials path
- JSON file corrupted
Fix:
- In GA4 Admin → Add user with service account email
- Grant "Viewer" or "Analyst" role
- Verify credentials path is absolute path
Issue: Git Push Fails
Common causes:
- Token doesn't have write permissions
- Wrong Git URL
- Repository doesn't exist
Fix:
- Generate new token with
repoorwritescope - Verify Git URL is correct
- Create repository first if it doesn't exist
📖 QUICK REFERENCE
| Feature | Credentials | Test | Status |
|---|---|---|---|
| Content Generation | None | 1.1-1.3 | ✅ Ready |
| Thai Analysis | None | 2.1-2.3 | ✅ Ready |
| Context Management | None | 3.1-3.2 | ✅ Ready |
| Image Generation | CHUTES_API_TOKEN | 4.1, 4.3 | ⏳ Optional |
| Image Editing | CHUTES_API_TOKEN | 4.2, 4.3 | ⏳ Optional |
| Auto-Publish | GIT_* | 5.1 | ⏳ Optional |
| GA4 | GA4_* | 6.2 | ⏳ Optional |
| GSC | GSC_* | 6.3 | ⏳ Optional |
| DataForSEO | DATAFORSEO_* | 6.4 | ⏳ Optional |
| Umami | UMAMI_* | 6.5 | ⏳ Optional |
Ready to test! Start with Phase 1 (no credentials needed). 🚀