Fix SEO skills 19-34, add global slash commands, update installer (#4)

* Fix SEO skill 34 bugs, Korean labels, and transition Ahrefs refs to our-seo-agent

P0: Fix report_aggregator.py — wrong SKILL_REGISTRY[33] mapping, missing
CATEGORY_WEIGHTS for 7 categories, and break bug in health score parsing
that exited loop even on parse failure.

P1: Remove VIEW tab references from skill 20, expand skill 32 docs,
replace Ahrefs MCP references across all 16 skills (19-28, 31-34)
with our-seo-agent CLI data source references.

P2: Fix Korean labels in executive_report.py and dashboard_generator.py,
add tenacity to base requirements, sync skill 34 base_client.py with
canonical version from skill 12.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* Add Claude Code slash commands for SEO skills 19-34 and fix stale paths

Create 14 new slash command files for skills 19-28, 31-34 so they
appear as /seo-* commands in Claude Code. Also fix stale directory
paths in 8 existing commands (skills 12-18, 29-30) that referenced
pre-renumbering skill directories.

Update .gitignore to track .claude/commands/ while keeping other
.claude/ files ignored.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* Add 8 slash commands, enhance reference-curator with depth/output options

- Add slash commands: ourdigital-brand-guide, notion-writer, notebooklm-agent,
  notebooklm-automation, notebooklm-studio, notebooklm-research,
  reference-curator, multi-agent-guide
- Add --depth (light/standard/deep/full) with Firecrawl parameter mapping
- Add --output with ~/Documents/reference-library/ default and user confirmation
- Increase --max-sources default from 10 to 100
- Rename /reference-curator-pipeline to /reference-curator
- Simplify web-crawler-orchestrator label to web-crawler in docs

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* Convert slash command script paths to absolute for global availability

Symlinked all 39 project commands to ~/.claude/commands/ so they work
from any project directory. Converted 126 relative custom-skills/ paths
to absolute /Users/ourdigital/Projects/our-claude-skills/custom-skills/.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* Update installer to support global slash command installation

Add symlink-based global command setup so all 39 custom skills work from
any project directory. New --commands flag for quick re-sync, updated
--validate/--update/--uninstall to handle symlinks, and expanded skill
listing to cover all 7 domains.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* Add user guides in English and Korean for all 52 custom skills

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Andrew Yim
2026-02-24 14:37:54 +09:00
committed by GitHub
parent 397fa2aa5d
commit 2aa9d098cb
41 changed files with 2948 additions and 160 deletions

View File

@@ -20,11 +20,11 @@ Lightweight Google Tag Manager audit tool.
```bash ```bash
# Audit GTM container # Audit GTM container
python custom-skills/20-gtm-audit/code/scripts/gtm_audit.py \ python /Users/ourdigital/Projects/our-claude-skills/custom-skills/20-gtm-audit/code/scripts/gtm_audit.py \
--url https://example.com --url https://example.com
# With detailed dataLayer check # With detailed dataLayer check
python custom-skills/20-gtm-audit/code/scripts/gtm_audit.py \ python /Users/ourdigital/Projects/our-claude-skills/custom-skills/20-gtm-audit/code/scripts/gtm_audit.py \
--url https://example.com --check-datalayer --output report.json --url https://example.com --check-datalayer --output report.json
``` ```

View File

@@ -20,15 +20,15 @@ Full GTM management with dataLayer injection and tag generation.
```bash ```bash
# Full GTM management # Full GTM management
python custom-skills/21-gtm-manager/code/scripts/gtm_manager.py \ python /Users/ourdigital/Projects/our-claude-skills/custom-skills/21-gtm-manager/code/scripts/gtm_manager.py \
--url https://example.com --full-audit --url https://example.com --full-audit
# Generate dataLayer tag # Generate dataLayer tag
python custom-skills/21-gtm-manager/code/scripts/gtm_manager.py \ python /Users/ourdigital/Projects/our-claude-skills/custom-skills/21-gtm-manager/code/scripts/gtm_manager.py \
--generate-tag purchase --output purchase_tag.html --generate-tag purchase --output purchase_tag.html
# Export to Notion # Export to Notion
python custom-skills/21-gtm-manager/code/scripts/gtm_manager.py \ python /Users/ourdigital/Projects/our-claude-skills/custom-skills/21-gtm-manager/code/scripts/gtm_manager.py \
--url https://example.com --notion-export --database DATABASE_ID --url https://example.com --notion-export --database DATABASE_ID
``` ```

View File

@@ -21,15 +21,15 @@ Jamie Clinic content **generation** toolkit.
```bash ```bash
# Check content compliance # Check content compliance
python custom-skills/40-jamie-brand-editor/code/scripts/compliance_checker.py \ python /Users/ourdigital/Projects/our-claude-skills/custom-skills/40-jamie-brand-editor/code/scripts/compliance_checker.py \
--input draft.md --input draft.md
# With detailed report # With detailed report
python custom-skills/40-jamie-brand-editor/code/scripts/compliance_checker.py \ python /Users/ourdigital/Projects/our-claude-skills/custom-skills/40-jamie-brand-editor/code/scripts/compliance_checker.py \
--input draft.md --verbose --output report.json --input draft.md --verbose --output report.json
# Batch check # Batch check
python custom-skills/40-jamie-brand-editor/code/scripts/compliance_checker.py \ python /Users/ourdigital/Projects/our-claude-skills/custom-skills/40-jamie-brand-editor/code/scripts/compliance_checker.py \
--dir ./drafts --output compliance_report.json --dir ./drafts --output compliance_report.json
``` ```

View File

@@ -67,5 +67,5 @@ Examples:
3. Install pre-commit hooks: `pre-commit install` (optional) 3. Install pre-commit hooks: `pre-commit install` (optional)
## Source ## Source
Full details: `custom-skills/91-multi-agent-guide/README.md` Full details: `/Users/ourdigital/Projects/our-claude-skills/custom-skills/91-multi-agent-guide/README.md`
Related commands: `custom-skills/91-multi-agent-guide/commands/` Related commands: `/Users/ourdigital/Projects/our-claude-skills/custom-skills/91-multi-agent-guide/commands/`

View File

@@ -59,4 +59,4 @@ notebooklm ask "Compare" -s source1 -s source2
| Auth error | `notebooklm login` | | Auth error | `notebooklm login` |
## Source ## Source
Full details: `custom-skills/50-notebooklm-agent/code/CLAUDE.md` Full details: `/Users/ourdigital/Projects/our-claude-skills/custom-skills/50-notebooklm-agent/code/CLAUDE.md`

View File

@@ -54,4 +54,4 @@ notebooklm artifact delete <id>
**Ask first:** `delete`, `rename` **Ask first:** `delete`, `rename`
## Source ## Source
Full details: `custom-skills/51-notebooklm-automation/code/CLAUDE.md` Full details: `/Users/ourdigital/Projects/our-claude-skills/custom-skills/51-notebooklm-automation/code/CLAUDE.md`

View File

@@ -63,4 +63,4 @@ Task(
**Ask first:** `source add-research`, `research wait --import-all` **Ask first:** `source add-research`, `research wait --import-all`
## Source ## Source
Full details: `custom-skills/53-notebooklm-research/code/CLAUDE.md` Full details: `/Users/ourdigital/Projects/our-claude-skills/custom-skills/53-notebooklm-research/code/CLAUDE.md`

View File

@@ -70,4 +70,4 @@ notebooklm download mind-map ./mindmap.json
**Ask first:** `generate *`, `download *` **Ask first:** `generate *`, `download *`
## Source ## Source
Full details: `custom-skills/52-notebooklm-studio/code/CLAUDE.md` Full details: `/Users/ourdigital/Projects/our-claude-skills/custom-skills/52-notebooklm-studio/code/CLAUDE.md`

View File

@@ -20,15 +20,15 @@ Notion workspace management agent for organizing, restructuring, and maintaining
```bash ```bash
# Analyze database schema # Analyze database schema
python custom-skills/01-notion-organizer/code/scripts/schema_migrator.py \ python /Users/ourdigital/Projects/our-claude-skills/custom-skills/01-notion-organizer/code/scripts/schema_migrator.py \
--source-db DATABASE_ID --analyze --source-db DATABASE_ID --analyze
# Migrate with mapping # Migrate with mapping
python custom-skills/01-notion-organizer/code/scripts/schema_migrator.py \ python /Users/ourdigital/Projects/our-claude-skills/custom-skills/01-notion-organizer/code/scripts/schema_migrator.py \
--source-db SOURCE_ID --target-db TARGET_ID --mapping mapping.json --source-db SOURCE_ID --target-db TARGET_ID --mapping mapping.json
# Async bulk operations # Async bulk operations
python custom-skills/01-notion-organizer/code/scripts/async_organizer.py \ python /Users/ourdigital/Projects/our-claude-skills/custom-skills/01-notion-organizer/code/scripts/async_organizer.py \
--database DATABASE_ID --operation archive --filter "Status=Done" --database DATABASE_ID --operation archive --filter "Status=Done"
``` ```

View File

@@ -60,4 +60,4 @@ Headings, bulleted/numbered lists, to-do items, quotes, code blocks (with langua
The script automatically batches large content. The script automatically batches large content.
## Source ## Source
Full details: `custom-skills/32-notion-writer/code/CLAUDE.md` Full details: `/Users/ourdigital/Projects/our-claude-skills/custom-skills/32-notion-writer/code/CLAUDE.md`

View File

@@ -66,4 +66,4 @@ Reference skill for OurDigital brand standards, writing style, and visual identi
5. **Visual Consistency**: Uses approved color palette? 5. **Visual Consistency**: Uses approved color palette?
## Source ## Source
Full details: `custom-skills/01-ourdigital-brand-guide/desktop/SKILL.md` Full details: `/Users/ourdigital/Projects/our-claude-skills/custom-skills/01-ourdigital-brand-guide/desktop/SKILL.md`

View File

@@ -20,15 +20,15 @@ Visual storytelling toolkit for blog featured images.
```bash ```bash
# Generate image prompt # Generate image prompt
python custom-skills/30-ourdigital-designer/code/scripts/generate_prompt.py \ python /Users/ourdigital/Projects/our-claude-skills/custom-skills/30-ourdigital-designer/code/scripts/generate_prompt.py \
--topic "AI identity" --mood "contemplative" --topic "AI identity" --mood "contemplative"
# From essay text # From essay text
python custom-skills/30-ourdigital-designer/code/scripts/generate_prompt.py \ python /Users/ourdigital/Projects/our-claude-skills/custom-skills/30-ourdigital-designer/code/scripts/generate_prompt.py \
--input essay.txt --auto-extract --input essay.txt --auto-extract
# Calibrate mood # Calibrate mood
python custom-skills/30-ourdigital-designer/code/scripts/mood_calibrator.py \ python /Users/ourdigital/Projects/our-claude-skills/custom-skills/30-ourdigital-designer/code/scripts/mood_calibrator.py \
--input "essay excerpt" --style "minimalist" --input "essay excerpt" --style "minimalist"
``` ```

View File

@@ -20,13 +20,13 @@ Notion-to-presentation workflow for branded slides.
```bash ```bash
# Full automated workflow # Full automated workflow
python custom-skills/32-ourdigital-presentation/code/scripts/run_workflow.py \ python /Users/ourdigital/Projects/our-claude-skills/custom-skills/32-ourdigital-presentation/code/scripts/run_workflow.py \
--notion-url [NOTION_URL] --output presentation.pptx --notion-url [NOTION_URL] --output presentation.pptx
# Step-by-step # Step-by-step
python custom-skills/32-ourdigital-presentation/code/scripts/extract_notion.py [URL] > research.json python /Users/ourdigital/Projects/our-claude-skills/custom-skills/32-ourdigital-presentation/code/scripts/extract_notion.py [URL] > research.json
python custom-skills/32-ourdigital-presentation/code/scripts/synthesize_content.py research.json > synthesis.json python /Users/ourdigital/Projects/our-claude-skills/custom-skills/32-ourdigital-presentation/code/scripts/synthesize_content.py research.json > synthesis.json
python custom-skills/32-ourdigital-presentation/code/scripts/apply_brand.py synthesis.json --output presentation.pptx python /Users/ourdigital/Projects/our-claude-skills/custom-skills/32-ourdigital-presentation/code/scripts/apply_brand.py synthesis.json --output presentation.pptx
``` ```
## Pipeline ## Pipeline

View File

@@ -20,17 +20,17 @@ Research-to-publication workflow for OurDigital blogs.
```bash ```bash
# Export to Ulysses # Export to Ulysses
python custom-skills/31-ourdigital-research/code/scripts/export_to_ulysses.py \ python /Users/ourdigital/Projects/our-claude-skills/custom-skills/31-ourdigital-research/code/scripts/export_to_ulysses.py \
--input research.md --group "Blog Drafts" --input research.md --group "Blog Drafts"
# With tags # With tags
python custom-skills/31-ourdigital-research/code/scripts/export_to_ulysses.py \ python /Users/ourdigital/Projects/our-claude-skills/custom-skills/31-ourdigital-research/code/scripts/export_to_ulysses.py \
--input research.md \ --input research.md \
--group "Blog Drafts" \ --group "Blog Drafts" \
--tags "AI,research,draft" --tags "AI,research,draft"
# From Notion export # From Notion export
python custom-skills/31-ourdigital-research/code/scripts/export_to_ulysses.py \ python /Users/ourdigital/Projects/our-claude-skills/custom-skills/31-ourdigital-research/code/scripts/export_to_ulysses.py \
--notion-export notion_export.zip \ --notion-export notion_export.zip \
--group "From Notion" --group "From Notion"
``` ```

View File

@@ -225,9 +225,9 @@ firecrawl_crawl:
## Related Sub-commands ## Related Sub-commands
Individual stages available at: `custom-skills/90-reference-curator/commands/` Individual stages available at: `/Users/ourdigital/Projects/our-claude-skills/custom-skills/90-reference-curator/commands/`
- `/reference-discovery`, `/web-crawler`, `/content-repository` - `/reference-discovery`, `/web-crawler`, `/content-repository`
- `/content-distiller`, `/quality-reviewer`, `/markdown-exporter` - `/content-distiller`, `/quality-reviewer`, `/markdown-exporter`
## Source ## Source
Full details: `custom-skills/90-reference-curator/README.md` Full details: `/Users/ourdigital/Projects/our-claude-skills/custom-skills/90-reference-curator/README.md`

View File

@@ -22,35 +22,35 @@ Track brand visibility in AI-generated search answers with citation analysis and
```bash ```bash
# AI visibility overview # AI visibility overview
python custom-skills/27-seo-ai-visibility/code/scripts/ai_visibility_tracker.py \ python /Users/ourdigital/Projects/our-claude-skills/custom-skills/27-seo-ai-visibility/code/scripts/ai_visibility_tracker.py \
--target example.com --json --target example.com --json
# With competitor comparison # With competitor comparison
python custom-skills/27-seo-ai-visibility/code/scripts/ai_visibility_tracker.py \ python /Users/ourdigital/Projects/our-claude-skills/custom-skills/27-seo-ai-visibility/code/scripts/ai_visibility_tracker.py \
--target example.com --competitor comp1.com --competitor comp2.com --json --target example.com --competitor comp1.com --competitor comp2.com --json
# Historical trend (impressions/mentions) # Historical trend (impressions/mentions)
python custom-skills/27-seo-ai-visibility/code/scripts/ai_visibility_tracker.py \ python /Users/ourdigital/Projects/our-claude-skills/custom-skills/27-seo-ai-visibility/code/scripts/ai_visibility_tracker.py \
--target example.com --history --json --target example.com --history --json
# Share of voice analysis # Share of voice analysis
python custom-skills/27-seo-ai-visibility/code/scripts/ai_visibility_tracker.py \ python /Users/ourdigital/Projects/our-claude-skills/custom-skills/27-seo-ai-visibility/code/scripts/ai_visibility_tracker.py \
--target example.com --sov --json --target example.com --sov --json
# AI citation analysis # AI citation analysis
python custom-skills/27-seo-ai-visibility/code/scripts/ai_citation_analyzer.py \ python /Users/ourdigital/Projects/our-claude-skills/custom-skills/27-seo-ai-visibility/code/scripts/ai_citation_analyzer.py \
--target example.com --json --target example.com --json
# Cited domains analysis # Cited domains analysis
python custom-skills/27-seo-ai-visibility/code/scripts/ai_citation_analyzer.py \ python /Users/ourdigital/Projects/our-claude-skills/custom-skills/27-seo-ai-visibility/code/scripts/ai_citation_analyzer.py \
--target example.com --cited-domains --json --target example.com --cited-domains --json
# Cited pages analysis # Cited pages analysis
python custom-skills/27-seo-ai-visibility/code/scripts/ai_citation_analyzer.py \ python /Users/ourdigital/Projects/our-claude-skills/custom-skills/27-seo-ai-visibility/code/scripts/ai_citation_analyzer.py \
--target example.com --cited-pages --json --target example.com --cited-pages --json
# AI response content analysis # AI response content analysis
python custom-skills/27-seo-ai-visibility/code/scripts/ai_citation_analyzer.py \ python /Users/ourdigital/Projects/our-claude-skills/custom-skills/27-seo-ai-visibility/code/scripts/ai_citation_analyzer.py \
--target example.com --responses --json --target example.com --responses --json
``` ```

View File

@@ -23,23 +23,23 @@ Competitor profiling, benchmarking, and threat scoring for comprehensive SEO com
```bash ```bash
# Auto-discover and profile competitors # Auto-discover and profile competitors
python custom-skills/31-seo-competitor-intel/code/scripts/competitor_profiler.py \ python /Users/ourdigital/Projects/our-claude-skills/custom-skills/31-seo-competitor-intel/code/scripts/competitor_profiler.py \
--target https://example.com --json --target https://example.com --json
# Specify competitors manually # Specify competitors manually
python custom-skills/31-seo-competitor-intel/code/scripts/competitor_profiler.py \ python /Users/ourdigital/Projects/our-claude-skills/custom-skills/31-seo-competitor-intel/code/scripts/competitor_profiler.py \
--target https://example.com --competitor https://comp1.com --competitor https://comp2.com --json --target https://example.com --competitor https://comp1.com --competitor https://comp2.com --json
# Include Korean market analysis # Include Korean market analysis
python custom-skills/31-seo-competitor-intel/code/scripts/competitor_profiler.py \ python /Users/ourdigital/Projects/our-claude-skills/custom-skills/31-seo-competitor-intel/code/scripts/competitor_profiler.py \
--target https://example.com --korean-market --json --target https://example.com --korean-market --json
# 30-day competitive monitoring # 30-day competitive monitoring
python custom-skills/31-seo-competitor-intel/code/scripts/competitive_monitor.py \ python /Users/ourdigital/Projects/our-claude-skills/custom-skills/31-seo-competitor-intel/code/scripts/competitive_monitor.py \
--target https://example.com --period 30 --json --target https://example.com --period 30 --json
# Traffic trend comparison (90 days) # Traffic trend comparison (90 days)
python custom-skills/31-seo-competitor-intel/code/scripts/competitive_monitor.py \ python /Users/ourdigital/Projects/our-claude-skills/custom-skills/31-seo-competitor-intel/code/scripts/competitive_monitor.py \
--target https://example.com --scope traffic --period 90 --json --target https://example.com --scope traffic --period 90 --json
``` ```

View File

@@ -23,27 +23,27 @@ Content inventory, performance scoring, decay detection, topic gap analysis, clu
```bash ```bash
# Full content audit # Full content audit
python custom-skills/23-seo-content-strategy/code/scripts/content_auditor.py \ python /Users/ourdigital/Projects/our-claude-skills/custom-skills/23-seo-content-strategy/code/scripts/content_auditor.py \
--url https://example.com --json --url https://example.com --json
# Detect decaying content # Detect decaying content
python custom-skills/23-seo-content-strategy/code/scripts/content_auditor.py \ python /Users/ourdigital/Projects/our-claude-skills/custom-skills/23-seo-content-strategy/code/scripts/content_auditor.py \
--url https://example.com --decay --json --url https://example.com --decay --json
# Filter by content type # Filter by content type
python custom-skills/23-seo-content-strategy/code/scripts/content_auditor.py \ python /Users/ourdigital/Projects/our-claude-skills/custom-skills/23-seo-content-strategy/code/scripts/content_auditor.py \
--url https://example.com --type blog --json --url https://example.com --type blog --json
# Content gap analysis with topic clusters # Content gap analysis with topic clusters
python custom-skills/23-seo-content-strategy/code/scripts/content_gap_analyzer.py \ python /Users/ourdigital/Projects/our-claude-skills/custom-skills/23-seo-content-strategy/code/scripts/content_gap_analyzer.py \
--target https://example.com --competitor https://comp1.com --clusters --json --target https://example.com --competitor https://comp1.com --clusters --json
# Generate content brief for keyword # Generate content brief for keyword
python custom-skills/23-seo-content-strategy/code/scripts/content_brief_generator.py \ python /Users/ourdigital/Projects/our-claude-skills/custom-skills/23-seo-content-strategy/code/scripts/content_brief_generator.py \
--keyword "치과 임플란트 비용" --url https://example.com --json --keyword "치과 임플란트 비용" --url https://example.com --json
# Brief with competitor analysis # Brief with competitor analysis
python custom-skills/23-seo-content-strategy/code/scripts/content_brief_generator.py \ python /Users/ourdigital/Projects/our-claude-skills/custom-skills/23-seo-content-strategy/code/scripts/content_brief_generator.py \
--keyword "dental implant cost" --url https://example.com --competitors 5 --json --keyword "dental implant cost" --url https://example.com --competitors 5 --json
``` ```

View File

@@ -22,27 +22,27 @@ Server access log analysis, bot profiling, and crawl budget waste identification
```bash ```bash
# Parse Nginx access log # Parse Nginx access log
python custom-skills/32-seo-crawl-budget/code/scripts/log_parser.py \ python /Users/ourdigital/Projects/our-claude-skills/custom-skills/32-seo-crawl-budget/code/scripts/log_parser.py \
--log-file /var/log/nginx/access.log --json --log-file /var/log/nginx/access.log --json
# Parse Apache log, filter by Googlebot # Parse Apache log, filter by Googlebot
python custom-skills/32-seo-crawl-budget/code/scripts/log_parser.py \ python /Users/ourdigital/Projects/our-claude-skills/custom-skills/32-seo-crawl-budget/code/scripts/log_parser.py \
--log-file /var/log/apache2/access.log --format apache --bot googlebot --json --log-file /var/log/apache2/access.log --format apache --bot googlebot --json
# Parse gzipped log in streaming mode # Parse gzipped log in streaming mode
python custom-skills/32-seo-crawl-budget/code/scripts/log_parser.py \ python /Users/ourdigital/Projects/our-claude-skills/custom-skills/32-seo-crawl-budget/code/scripts/log_parser.py \
--log-file access.log.gz --streaming --json --log-file access.log.gz --streaming --json
# Full crawl budget analysis with sitemap comparison # Full crawl budget analysis with sitemap comparison
python custom-skills/32-seo-crawl-budget/code/scripts/crawl_budget_analyzer.py \ python /Users/ourdigital/Projects/our-claude-skills/custom-skills/32-seo-crawl-budget/code/scripts/crawl_budget_analyzer.py \
--log-file access.log --sitemap https://example.com/sitemap.xml --json --log-file access.log --sitemap https://example.com/sitemap.xml --json
# Waste identification only # Waste identification only
python custom-skills/32-seo-crawl-budget/code/scripts/crawl_budget_analyzer.py \ python /Users/ourdigital/Projects/our-claude-skills/custom-skills/32-seo-crawl-budget/code/scripts/crawl_budget_analyzer.py \
--log-file access.log --scope waste --json --log-file access.log --scope waste --json
# Orphan page detection # Orphan page detection
python custom-skills/32-seo-crawl-budget/code/scripts/crawl_budget_analyzer.py \ python /Users/ourdigital/Projects/our-claude-skills/custom-skills/32-seo-crawl-budget/code/scripts/crawl_budget_analyzer.py \
--log-file access.log --sitemap https://example.com/sitemap.xml --scope orphans --json --log-file access.log --sitemap https://example.com/sitemap.xml --scope orphans --json
``` ```

View File

@@ -23,27 +23,27 @@ Product page SEO audit, product schema validation, category taxonomy analysis, a
```bash ```bash
# Full e-commerce SEO audit # Full e-commerce SEO audit
python custom-skills/24-seo-ecommerce/code/scripts/ecommerce_auditor.py \ python /Users/ourdigital/Projects/our-claude-skills/custom-skills/24-seo-ecommerce/code/scripts/ecommerce_auditor.py \
--url https://example.com --json --url https://example.com --json
# Product page audit only # Product page audit only
python custom-skills/24-seo-ecommerce/code/scripts/ecommerce_auditor.py \ python /Users/ourdigital/Projects/our-claude-skills/custom-skills/24-seo-ecommerce/code/scripts/ecommerce_auditor.py \
--url https://example.com --scope products --json --url https://example.com --scope products --json
# Category taxonomy analysis # Category taxonomy analysis
python custom-skills/24-seo-ecommerce/code/scripts/ecommerce_auditor.py \ python /Users/ourdigital/Projects/our-claude-skills/custom-skills/24-seo-ecommerce/code/scripts/ecommerce_auditor.py \
--url https://example.com --scope categories --json --url https://example.com --scope categories --json
# Korean marketplace presence check # Korean marketplace presence check
python custom-skills/24-seo-ecommerce/code/scripts/ecommerce_auditor.py \ python /Users/ourdigital/Projects/our-claude-skills/custom-skills/24-seo-ecommerce/code/scripts/ecommerce_auditor.py \
--url https://example.com --korean-marketplaces --json --url https://example.com --korean-marketplaces --json
# Validate product schema on single page # Validate product schema on single page
python custom-skills/24-seo-ecommerce/code/scripts/product_schema_checker.py \ python /Users/ourdigital/Projects/our-claude-skills/custom-skills/24-seo-ecommerce/code/scripts/product_schema_checker.py \
--url https://example.com/product/123 --json --url https://example.com/product/123 --json
# Batch validate from sitemap (sample 50 pages) # Batch validate from sitemap (sample 50 pages)
python custom-skills/24-seo-ecommerce/code/scripts/product_schema_checker.py \ python /Users/ourdigital/Projects/our-claude-skills/custom-skills/24-seo-ecommerce/code/scripts/product_schema_checker.py \
--sitemap https://example.com/product-sitemap.xml --sample 50 --json --sitemap https://example.com/product-sitemap.xml --sample 50 --json
``` ```

View File

@@ -20,11 +20,11 @@ Keyword strategy and content architecture for gateway pages.
```bash ```bash
# Analyze keyword # Analyze keyword
python custom-skills/29-seo-gateway-architect/code/scripts/keyword_analyzer.py \ python /Users/ourdigital/Projects/our-claude-skills/custom-skills/29-seo-gateway-architect/code/scripts/keyword_analyzer.py \
--topic "눈 성형" --topic "눈 성형"
# With location targeting # With location targeting
python custom-skills/29-seo-gateway-architect/code/scripts/keyword_analyzer.py \ python /Users/ourdigital/Projects/our-claude-skills/custom-skills/29-seo-gateway-architect/code/scripts/keyword_analyzer.py \
--topic "눈 성형" --market "강남" --output strategy.json --topic "눈 성형" --market "강남" --output strategy.json
``` ```

View File

@@ -20,10 +20,10 @@ Generate SEO-optimized gateway pages from templates.
```bash ```bash
# Generate with sample data # Generate with sample data
python custom-skills/30-seo-gateway-builder/code/scripts/generate_pages.py python /Users/ourdigital/Projects/our-claude-skills/custom-skills/30-seo-gateway-builder/code/scripts/generate_pages.py
# Custom configuration # Custom configuration
python custom-skills/30-seo-gateway-builder/code/scripts/generate_pages.py \ python /Users/ourdigital/Projects/our-claude-skills/custom-skills/30-seo-gateway-builder/code/scripts/generate_pages.py \
--config config/services.json \ --config config/services.json \
--locations config/locations.json \ --locations config/locations.json \
--output ./pages --output ./pages

View File

@@ -20,15 +20,15 @@ Google Search Console data retrieval and analysis.
```bash ```bash
# Get search performance # Get search performance
python custom-skills/15-seo-search-console/code/scripts/gsc_client.py \ python /Users/ourdigital/Projects/our-claude-skills/custom-skills/15-seo-search-console/code/scripts/gsc_client.py \
--site https://example.com --days 28 --site https://example.com --days 28
# Query analysis # Query analysis
python custom-skills/15-seo-search-console/code/scripts/gsc_client.py \ python /Users/ourdigital/Projects/our-claude-skills/custom-skills/15-seo-search-console/code/scripts/gsc_client.py \
--site https://example.com --report queries --limit 100 --site https://example.com --report queries --limit 100
# Page performance # Page performance
python custom-skills/15-seo-search-console/code/scripts/gsc_client.py \ python /Users/ourdigital/Projects/our-claude-skills/custom-skills/15-seo-search-console/code/scripts/gsc_client.py \
--site https://example.com --report pages --output pages_report.json --site https://example.com --report pages --output pages_report.json
``` ```

View File

@@ -22,31 +22,31 @@ Multi-language and multi-region SEO audit with hreflang validation and content p
```bash ```bash
# Hreflang validation # Hreflang validation
python custom-skills/26-seo-international/code/scripts/hreflang_validator.py \ python /Users/ourdigital/Projects/our-claude-skills/custom-skills/26-seo-international/code/scripts/hreflang_validator.py \
--url https://example.com --json --url https://example.com --json
# With sitemap-based discovery # With sitemap-based discovery
python custom-skills/26-seo-international/code/scripts/hreflang_validator.py \ python /Users/ourdigital/Projects/our-claude-skills/custom-skills/26-seo-international/code/scripts/hreflang_validator.py \
--url https://example.com --sitemap https://example.com/sitemap.xml --json --url https://example.com --sitemap https://example.com/sitemap.xml --json
# Check specific pages from file # Check specific pages from file
python custom-skills/26-seo-international/code/scripts/hreflang_validator.py \ python /Users/ourdigital/Projects/our-claude-skills/custom-skills/26-seo-international/code/scripts/hreflang_validator.py \
--urls-file pages.txt --json --urls-file pages.txt --json
# Full international audit # Full international audit
python custom-skills/26-seo-international/code/scripts/international_auditor.py \ python /Users/ourdigital/Projects/our-claude-skills/custom-skills/26-seo-international/code/scripts/international_auditor.py \
--url https://example.com --json --url https://example.com --json
# URL structure analysis only # URL structure analysis only
python custom-skills/26-seo-international/code/scripts/international_auditor.py \ python /Users/ourdigital/Projects/our-claude-skills/custom-skills/26-seo-international/code/scripts/international_auditor.py \
--url https://example.com --scope structure --json --url https://example.com --scope structure --json
# Content parity check only # Content parity check only
python custom-skills/26-seo-international/code/scripts/international_auditor.py \ python /Users/ourdigital/Projects/our-claude-skills/custom-skills/26-seo-international/code/scripts/international_auditor.py \
--url https://example.com --scope parity --json --url https://example.com --scope parity --json
# Korean expansion focus # Korean expansion focus
python custom-skills/26-seo-international/code/scripts/international_auditor.py \ python /Users/ourdigital/Projects/our-claude-skills/custom-skills/26-seo-international/code/scripts/international_auditor.py \
--url https://example.com --korean-expansion --json --url https://example.com --korean-expansion --json
``` ```

View File

@@ -22,23 +22,23 @@ Keyword expansion, intent classification, clustering, and competitor gap analysi
```bash ```bash
# Basic keyword research # Basic keyword research
python custom-skills/19-seo-keyword-strategy/code/scripts/keyword_researcher.py \ python /Users/ourdigital/Projects/our-claude-skills/custom-skills/19-seo-keyword-strategy/code/scripts/keyword_researcher.py \
--keyword "치과 임플란트" --country kr --json --keyword "치과 임플란트" --country kr --json
# Korean market with suffix expansion # Korean market with suffix expansion
python custom-skills/19-seo-keyword-strategy/code/scripts/keyword_researcher.py \ python /Users/ourdigital/Projects/our-claude-skills/custom-skills/19-seo-keyword-strategy/code/scripts/keyword_researcher.py \
--keyword "치과 임플란트" --country kr --korean-suffixes --json --keyword "치과 임플란트" --country kr --korean-suffixes --json
# Volume comparison Korea vs global # Volume comparison Korea vs global
python custom-skills/19-seo-keyword-strategy/code/scripts/keyword_researcher.py \ python /Users/ourdigital/Projects/our-claude-skills/custom-skills/19-seo-keyword-strategy/code/scripts/keyword_researcher.py \
--keyword "dental implant" --country kr --compare-global --json --keyword "dental implant" --country kr --compare-global --json
# Keyword gap vs competitor # Keyword gap vs competitor
python custom-skills/19-seo-keyword-strategy/code/scripts/keyword_gap_analyzer.py \ python /Users/ourdigital/Projects/our-claude-skills/custom-skills/19-seo-keyword-strategy/code/scripts/keyword_gap_analyzer.py \
--target https://example.com --competitor https://competitor.com --json --target https://example.com --competitor https://competitor.com --json
# Multiple competitors with minimum volume filter # Multiple competitors with minimum volume filter
python custom-skills/19-seo-keyword-strategy/code/scripts/keyword_gap_analyzer.py \ python /Users/ourdigital/Projects/our-claude-skills/custom-skills/19-seo-keyword-strategy/code/scripts/keyword_gap_analyzer.py \
--target https://example.com --competitor https://comp1.com \ --target https://example.com --competitor https://comp1.com \
--competitor https://comp2.com --min-volume 100 --json --competitor https://comp2.com --min-volume 100 --json
``` ```

View File

@@ -23,27 +23,27 @@ Entity SEO analysis for Knowledge Panel presence, People Also Ask monitoring, an
```bash ```bash
# Knowledge Graph analysis # Knowledge Graph analysis
python custom-skills/28-seo-knowledge-graph/code/scripts/knowledge_graph_analyzer.py \ python /Users/ourdigital/Projects/our-claude-skills/custom-skills/28-seo-knowledge-graph/code/scripts/knowledge_graph_analyzer.py \
--entity "Samsung Electronics" --json --entity "Samsung Electronics" --json
# Korean entity check # Korean entity check
python custom-skills/28-seo-knowledge-graph/code/scripts/knowledge_graph_analyzer.py \ python /Users/ourdigital/Projects/our-claude-skills/custom-skills/28-seo-knowledge-graph/code/scripts/knowledge_graph_analyzer.py \
--entity "삼성전자" --language ko --json --entity "삼성전자" --language ko --json
# Include Wikipedia/Wikidata check # Include Wikipedia/Wikidata check
python custom-skills/28-seo-knowledge-graph/code/scripts/knowledge_graph_analyzer.py \ python /Users/ourdigital/Projects/our-claude-skills/custom-skills/28-seo-knowledge-graph/code/scripts/knowledge_graph_analyzer.py \
--entity "Samsung" --wiki --json --entity "Samsung" --wiki --json
# Full entity SEO audit # Full entity SEO audit
python custom-skills/28-seo-knowledge-graph/code/scripts/entity_auditor.py \ python /Users/ourdigital/Projects/our-claude-skills/custom-skills/28-seo-knowledge-graph/code/scripts/entity_auditor.py \
--url https://example.com --entity "Brand Name" --json --url https://example.com --entity "Brand Name" --json
# PAA monitoring # PAA monitoring
python custom-skills/28-seo-knowledge-graph/code/scripts/entity_auditor.py \ python /Users/ourdigital/Projects/our-claude-skills/custom-skills/28-seo-knowledge-graph/code/scripts/entity_auditor.py \
--url https://example.com --entity "Brand Name" --paa --json --url https://example.com --entity "Brand Name" --paa --json
# FAQ rich result tracking # FAQ rich result tracking
python custom-skills/28-seo-knowledge-graph/code/scripts/entity_auditor.py \ python /Users/ourdigital/Projects/our-claude-skills/custom-skills/28-seo-knowledge-graph/code/scripts/entity_auditor.py \
--url https://example.com --entity "Brand Name" --faq --json --url https://example.com --entity "Brand Name" --faq --json
``` ```

View File

@@ -22,35 +22,35 @@ Unified KPI aggregation across all SEO dimensions with health scores, baselines,
```bash ```bash
# Aggregate KPIs # Aggregate KPIs
python custom-skills/25-seo-kpi-framework/code/scripts/kpi_aggregator.py \ python /Users/ourdigital/Projects/our-claude-skills/custom-skills/25-seo-kpi-framework/code/scripts/kpi_aggregator.py \
--url https://example.com --json --url https://example.com --json
# Set baseline # Set baseline
python custom-skills/25-seo-kpi-framework/code/scripts/kpi_aggregator.py \ python /Users/ourdigital/Projects/our-claude-skills/custom-skills/25-seo-kpi-framework/code/scripts/kpi_aggregator.py \
--url https://example.com --set-baseline --json --url https://example.com --set-baseline --json
# Compare against baseline # Compare against baseline
python custom-skills/25-seo-kpi-framework/code/scripts/kpi_aggregator.py \ python /Users/ourdigital/Projects/our-claude-skills/custom-skills/25-seo-kpi-framework/code/scripts/kpi_aggregator.py \
--url https://example.com --baseline baseline.json --json --url https://example.com --baseline baseline.json --json
# With ROI estimation # With ROI estimation
python custom-skills/25-seo-kpi-framework/code/scripts/kpi_aggregator.py \ python /Users/ourdigital/Projects/our-claude-skills/custom-skills/25-seo-kpi-framework/code/scripts/kpi_aggregator.py \
--url https://example.com --roi --json --url https://example.com --roi --json
# Monthly performance report # Monthly performance report
python custom-skills/25-seo-kpi-framework/code/scripts/performance_reporter.py \ python /Users/ourdigital/Projects/our-claude-skills/custom-skills/25-seo-kpi-framework/code/scripts/performance_reporter.py \
--url https://example.com --period monthly --json --url https://example.com --period monthly --json
# Quarterly report # Quarterly report
python custom-skills/25-seo-kpi-framework/code/scripts/performance_reporter.py \ python /Users/ourdigital/Projects/our-claude-skills/custom-skills/25-seo-kpi-framework/code/scripts/performance_reporter.py \
--url https://example.com --period quarterly --json --url https://example.com --period quarterly --json
# Custom date range # Custom date range
python custom-skills/25-seo-kpi-framework/code/scripts/performance_reporter.py \ python /Users/ourdigital/Projects/our-claude-skills/custom-skills/25-seo-kpi-framework/code/scripts/performance_reporter.py \
--url https://example.com --from 2025-01-01 --to 2025-03-31 --json --url https://example.com --from 2025-01-01 --to 2025-03-31 --json
# Executive summary only # Executive summary only
python custom-skills/25-seo-kpi-framework/code/scripts/performance_reporter.py \ python /Users/ourdigital/Projects/our-claude-skills/custom-skills/25-seo-kpi-framework/code/scripts/performance_reporter.py \
--url https://example.com --period monthly --executive --json --url https://example.com --period monthly --executive --json
``` ```

View File

@@ -23,27 +23,27 @@ Backlink profile analysis, toxic link detection, competitor link gap identificat
```bash ```bash
# Full backlink audit # Full backlink audit
python custom-skills/22-seo-link-building/code/scripts/backlink_auditor.py \ python /Users/ourdigital/Projects/our-claude-skills/custom-skills/22-seo-link-building/code/scripts/backlink_auditor.py \
--url https://example.com --json --url https://example.com --json
# Check link velocity # Check link velocity
python custom-skills/22-seo-link-building/code/scripts/backlink_auditor.py \ python /Users/ourdigital/Projects/our-claude-skills/custom-skills/22-seo-link-building/code/scripts/backlink_auditor.py \
--url https://example.com --velocity --json --url https://example.com --velocity --json
# Find broken backlinks for recovery # Find broken backlinks for recovery
python custom-skills/22-seo-link-building/code/scripts/backlink_auditor.py \ python /Users/ourdigital/Projects/our-claude-skills/custom-skills/22-seo-link-building/code/scripts/backlink_auditor.py \
--url https://example.com --broken --json --url https://example.com --broken --json
# Korean platform link analysis # Korean platform link analysis
python custom-skills/22-seo-link-building/code/scripts/backlink_auditor.py \ python /Users/ourdigital/Projects/our-claude-skills/custom-skills/22-seo-link-building/code/scripts/backlink_auditor.py \
--url https://example.com --korean-platforms --json --url https://example.com --korean-platforms --json
# Link gap vs competitor # Link gap vs competitor
python custom-skills/22-seo-link-building/code/scripts/link_gap_finder.py \ python /Users/ourdigital/Projects/our-claude-skills/custom-skills/22-seo-link-building/code/scripts/link_gap_finder.py \
--target https://example.com --competitor https://comp1.com --json --target https://example.com --competitor https://comp1.com --json
# Multiple competitors with minimum DR filter # Multiple competitors with minimum DR filter
python custom-skills/22-seo-link-building/code/scripts/link_gap_finder.py \ python /Users/ourdigital/Projects/our-claude-skills/custom-skills/22-seo-link-building/code/scripts/link_gap_finder.py \
--target https://example.com --competitor https://comp1.com \ --target https://example.com --competitor https://comp1.com \
--competitor https://comp2.com --min-dr 30 --json --competitor https://comp2.com --min-dr 30 --json
``` ```

View File

@@ -23,27 +23,27 @@ Pre-migration risk assessment, redirect mapping, and post-migration traffic/inde
```bash ```bash
# Domain move planning # Domain move planning
python custom-skills/33-seo-migration-planner/code/scripts/migration_planner.py \ python /Users/ourdigital/Projects/our-claude-skills/custom-skills/33-seo-migration-planner/code/scripts/migration_planner.py \
--domain https://example.com --type domain-move --new-domain https://new-example.com --json --domain https://example.com --type domain-move --new-domain https://new-example.com --json
# Platform migration (e.g., WordPress to headless) # Platform migration (e.g., WordPress to headless)
python custom-skills/33-seo-migration-planner/code/scripts/migration_planner.py \ python /Users/ourdigital/Projects/our-claude-skills/custom-skills/33-seo-migration-planner/code/scripts/migration_planner.py \
--domain https://example.com --type platform --json --domain https://example.com --type platform --json
# URL restructuring # URL restructuring
python custom-skills/33-seo-migration-planner/code/scripts/migration_planner.py \ python /Users/ourdigital/Projects/our-claude-skills/custom-skills/33-seo-migration-planner/code/scripts/migration_planner.py \
--domain https://example.com --type url-restructure --json --domain https://example.com --type url-restructure --json
# HTTPS migration # HTTPS migration
python custom-skills/33-seo-migration-planner/code/scripts/migration_planner.py \ python /Users/ourdigital/Projects/our-claude-skills/custom-skills/33-seo-migration-planner/code/scripts/migration_planner.py \
--domain http://example.com --type https --json --domain http://example.com --type https --json
# Post-launch traffic comparison # Post-launch traffic comparison
python custom-skills/33-seo-migration-planner/code/scripts/migration_monitor.py \ python /Users/ourdigital/Projects/our-claude-skills/custom-skills/33-seo-migration-planner/code/scripts/migration_monitor.py \
--domain https://new-example.com --migration-date 2025-01-15 --baseline baseline.json --json --domain https://new-example.com --migration-date 2025-01-15 --baseline baseline.json --json
# Quick redirect health check # Quick redirect health check
python custom-skills/33-seo-migration-planner/code/scripts/migration_monitor.py \ python /Users/ourdigital/Projects/our-claude-skills/custom-skills/33-seo-migration-planner/code/scripts/migration_monitor.py \
--domain https://new-example.com --migration-date 2025-01-15 --json --domain https://new-example.com --migration-date 2025-01-15 --json
``` ```

View File

@@ -20,11 +20,11 @@ On-page SEO analysis for meta tags, headings, content, and links.
```bash ```bash
# Full page analysis # Full page analysis
python custom-skills/13-seo-on-page-audit/code/scripts/page_analyzer.py \ python /Users/ourdigital/Projects/our-claude-skills/custom-skills/13-seo-on-page-audit/code/scripts/page_analyzer.py \
--url https://example.com/page --url https://example.com/page
# Multiple pages # Multiple pages
python custom-skills/13-seo-on-page-audit/code/scripts/page_analyzer.py \ python /Users/ourdigital/Projects/our-claude-skills/custom-skills/13-seo-on-page-audit/code/scripts/page_analyzer.py \
--urls urls.txt --output report.json --urls urls.txt --output report.json
``` ```

View File

@@ -22,27 +22,27 @@ Monitor keyword rankings, detect position changes with threshold alerts, and cal
```bash ```bash
# Get current positions # Get current positions
python custom-skills/21-seo-position-tracking/code/scripts/position_tracker.py \ python /Users/ourdigital/Projects/our-claude-skills/custom-skills/21-seo-position-tracking/code/scripts/position_tracker.py \
--target https://example.com --json --target https://example.com --json
# With change threshold alerts (flag moves of +-5 or more) # With change threshold alerts (flag moves of +-5 or more)
python custom-skills/21-seo-position-tracking/code/scripts/position_tracker.py \ python /Users/ourdigital/Projects/our-claude-skills/custom-skills/21-seo-position-tracking/code/scripts/position_tracker.py \
--target https://example.com --threshold 5 --json --target https://example.com --threshold 5 --json
# Filter by brand segment # Filter by brand segment
python custom-skills/21-seo-position-tracking/code/scripts/position_tracker.py \ python /Users/ourdigital/Projects/our-claude-skills/custom-skills/21-seo-position-tracking/code/scripts/position_tracker.py \
--target https://example.com --segment brand --json --target https://example.com --segment brand --json
# Compare with competitor # Compare with competitor
python custom-skills/21-seo-position-tracking/code/scripts/position_tracker.py \ python /Users/ourdigital/Projects/our-claude-skills/custom-skills/21-seo-position-tracking/code/scripts/position_tracker.py \
--target https://example.com --competitor https://comp1.com --json --target https://example.com --competitor https://comp1.com --json
# 30-day ranking report # 30-day ranking report
python custom-skills/21-seo-position-tracking/code/scripts/ranking_reporter.py \ python /Users/ourdigital/Projects/our-claude-skills/custom-skills/21-seo-position-tracking/code/scripts/ranking_reporter.py \
--target https://example.com --period 30 --json --target https://example.com --period 30 --json
# Quarterly report with competitor comparison # Quarterly report with competitor comparison
python custom-skills/21-seo-position-tracking/code/scripts/ranking_reporter.py \ python /Users/ourdigital/Projects/our-claude-skills/custom-skills/21-seo-position-tracking/code/scripts/ranking_reporter.py \
--target https://example.com --competitor https://comp1.com --period 90 --json --target https://example.com --competitor https://comp1.com --period 90 --json
``` ```

View File

@@ -22,27 +22,27 @@ Aggregate all SEO skill outputs into executive reports and interactive HTML dash
```bash ```bash
# Aggregate all skill outputs for a domain # Aggregate all skill outputs for a domain
python custom-skills/34-seo-reporting-dashboard/code/scripts/report_aggregator.py \ python /Users/ourdigital/Projects/our-claude-skills/custom-skills/34-seo-reporting-dashboard/code/scripts/report_aggregator.py \
--domain https://example.com --json --domain https://example.com --json
# Aggregate with date range filter # Aggregate with date range filter
python custom-skills/34-seo-reporting-dashboard/code/scripts/report_aggregator.py \ python /Users/ourdigital/Projects/our-claude-skills/custom-skills/34-seo-reporting-dashboard/code/scripts/report_aggregator.py \
--domain https://example.com --from 2025-01-01 --to 2025-03-31 --json --domain https://example.com --from 2025-01-01 --to 2025-03-31 --json
# Generate HTML dashboard # Generate HTML dashboard
python custom-skills/34-seo-reporting-dashboard/code/scripts/dashboard_generator.py \ python /Users/ourdigital/Projects/our-claude-skills/custom-skills/34-seo-reporting-dashboard/code/scripts/dashboard_generator.py \
--report aggregated_report.json --output dashboard.html --report aggregated_report.json --output dashboard.html
# C-level executive summary (Korean) # C-level executive summary (Korean)
python custom-skills/34-seo-reporting-dashboard/code/scripts/executive_report.py \ python /Users/ourdigital/Projects/our-claude-skills/custom-skills/34-seo-reporting-dashboard/code/scripts/executive_report.py \
--report aggregated_report.json --audience c-level --output report.md --report aggregated_report.json --audience c-level --output report.md
# Marketing team report # Marketing team report
python custom-skills/34-seo-reporting-dashboard/code/scripts/executive_report.py \ python /Users/ourdigital/Projects/our-claude-skills/custom-skills/34-seo-reporting-dashboard/code/scripts/executive_report.py \
--report aggregated_report.json --audience marketing --output report.md --report aggregated_report.json --audience marketing --output report.md
# Technical team report # Technical team report
python custom-skills/34-seo-reporting-dashboard/code/scripts/executive_report.py \ python /Users/ourdigital/Projects/our-claude-skills/custom-skills/34-seo-reporting-dashboard/code/scripts/executive_report.py \
--report aggregated_report.json --audience technical --output report.md --report aggregated_report.json --audience technical --output report.md
``` ```

View File

@@ -19,11 +19,11 @@ Generate JSON-LD structured data markup from templates.
```bash ```bash
# Generate from template # Generate from template
python custom-skills/17-seo-schema-generator/code/scripts/schema_generator.py \ python /Users/ourdigital/Projects/our-claude-skills/custom-skills/17-seo-schema-generator/code/scripts/schema_generator.py \
--type LocalBusiness --output schema.json --type LocalBusiness --output schema.json
# With custom data # With custom data
python custom-skills/17-seo-schema-generator/code/scripts/schema_generator.py \ python /Users/ourdigital/Projects/our-claude-skills/custom-skills/17-seo-schema-generator/code/scripts/schema_generator.py \
--type Article \ --type Article \
--data '{"headline": "My Article", "author": "John Doe"}' \ --data '{"headline": "My Article", "author": "John Doe"}' \
--output article-schema.json --output article-schema.json

View File

@@ -20,15 +20,15 @@ JSON-LD structured data validation and analysis.
```bash ```bash
# Validate page schema # Validate page schema
python custom-skills/16-seo-schema-validator/code/scripts/schema_validator.py \ python /Users/ourdigital/Projects/our-claude-skills/custom-skills/16-seo-schema-validator/code/scripts/schema_validator.py \
--url https://example.com --url https://example.com
# Validate local file # Validate local file
python custom-skills/16-seo-schema-validator/code/scripts/schema_validator.py \ python /Users/ourdigital/Projects/our-claude-skills/custom-skills/16-seo-schema-validator/code/scripts/schema_validator.py \
--file schema.json --file schema.json
# Batch validation # Batch validation
python custom-skills/16-seo-schema-validator/code/scripts/schema_validator.py \ python /Users/ourdigital/Projects/our-claude-skills/custom-skills/16-seo-schema-validator/code/scripts/schema_validator.py \
--urls urls.txt --output validation_report.json --urls urls.txt --output validation_report.json
``` ```

View File

@@ -22,19 +22,19 @@ Detect SERP features, map competitor positions, and score feature opportunities
```bash ```bash
# Google SERP analysis # Google SERP analysis
python custom-skills/20-seo-serp-analysis/code/scripts/serp_analyzer.py \ python /Users/ourdigital/Projects/our-claude-skills/custom-skills/20-seo-serp-analysis/code/scripts/serp_analyzer.py \
--keyword "치과 임플란트" --country kr --json --keyword "치과 임플란트" --country kr --json
# Multiple keywords from file # Multiple keywords from file
python custom-skills/20-seo-serp-analysis/code/scripts/serp_analyzer.py \ python /Users/ourdigital/Projects/our-claude-skills/custom-skills/20-seo-serp-analysis/code/scripts/serp_analyzer.py \
--keywords-file keywords.txt --country kr --json --keywords-file keywords.txt --country kr --json
# Naver SERP analysis # Naver SERP analysis
python custom-skills/20-seo-serp-analysis/code/scripts/naver_serp_analyzer.py \ python /Users/ourdigital/Projects/our-claude-skills/custom-skills/20-seo-serp-analysis/code/scripts/naver_serp_analyzer.py \
--keyword "치과 임플란트" --json --keyword "치과 임플란트" --json
# Naver multiple keywords # Naver multiple keywords
python custom-skills/20-seo-serp-analysis/code/scripts/naver_serp_analyzer.py \ python /Users/ourdigital/Projects/our-claude-skills/custom-skills/20-seo-serp-analysis/code/scripts/naver_serp_analyzer.py \
--keywords-file keywords.txt --json --keywords-file keywords.txt --json
``` ```

View File

@@ -19,15 +19,15 @@ Technical SEO audit for robots.txt and sitemap validation.
```bash ```bash
# Check robots.txt # Check robots.txt
python custom-skills/12-seo-technical-audit/code/scripts/robots_checker.py \ python /Users/ourdigital/Projects/our-claude-skills/custom-skills/12-seo-technical-audit/code/scripts/robots_checker.py \
--url https://example.com --url https://example.com
# Validate sitemap # Validate sitemap
python custom-skills/12-seo-technical-audit/code/scripts/sitemap_validator.py \ python /Users/ourdigital/Projects/our-claude-skills/custom-skills/12-seo-technical-audit/code/scripts/sitemap_validator.py \
--url https://example.com/sitemap.xml --url https://example.com/sitemap.xml
# Crawl sitemap URLs # Crawl sitemap URLs
python custom-skills/12-seo-technical-audit/code/scripts/sitemap_crawler.py \ python /Users/ourdigital/Projects/our-claude-skills/custom-skills/12-seo-technical-audit/code/scripts/sitemap_crawler.py \
--sitemap https://example.com/sitemap.xml --output report.json --sitemap https://example.com/sitemap.xml --output report.json
``` ```

View File

@@ -20,15 +20,15 @@ Google PageSpeed Insights and Core Web Vitals analysis.
```bash ```bash
# Analyze single URL # Analyze single URL
python custom-skills/14-seo-core-web-vitals/code/scripts/pagespeed_client.py \ python /Users/ourdigital/Projects/our-claude-skills/custom-skills/14-seo-core-web-vitals/code/scripts/pagespeed_client.py \
--url https://example.com --url https://example.com
# Mobile and desktop # Mobile and desktop
python custom-skills/14-seo-core-web-vitals/code/scripts/pagespeed_client.py \ python /Users/ourdigital/Projects/our-claude-skills/custom-skills/14-seo-core-web-vitals/code/scripts/pagespeed_client.py \
--url https://example.com --strategy both --url https://example.com --strategy both
# Batch analysis # Batch analysis
python custom-skills/14-seo-core-web-vitals/code/scripts/pagespeed_client.py \ python /Users/ourdigital/Projects/our-claude-skills/custom-skills/14-seo-core-web-vitals/code/scripts/pagespeed_client.py \
--urls urls.txt --output vitals_report.json --urls urls.txt --output vitals_report.json
``` ```

View File

@@ -20,6 +20,7 @@ cd our-claude-skills/custom-skills/_ourdigital-shared
./install.sh --update # Update existing installation ./install.sh --update # Update existing installation
./install.sh --uninstall # Remove installation ./install.sh --uninstall # Remove installation
./install.sh --validate # Check installation status ./install.sh --validate # Check installation status
./install.sh --commands # Only install/update global slash commands
./install.sh --skip-creds # Skip credentials setup ./install.sh --skip-creds # Skip credentials setup
./install.sh --skip-venv # Skip virtual environment ./install.sh --skip-venv # Skip virtual environment
./install.sh --help # Show all options ./install.sh --help # Show all options
@@ -29,13 +30,52 @@ cd our-claude-skills/custom-skills/_ourdigital-shared
| Component | Location | Description | | Component | Location | Description |
|-----------|----------|-------------| |-----------|----------|-------------|
| Global slash commands | `~/.claude/commands/` | Symlinks to repo commands (work from any project) |
| Environment file | `~/.env.ourdigital` | API keys and secrets | | Environment file | `~/.env.ourdigital` | API keys and secrets |
| Config directory | `~/.ourdigital/` | Configuration and credentials | | Config directory | `~/.ourdigital/` | Configuration and credentials |
| Virtual environment | `.venv-ourdigital/` | Python dependencies | | Virtual environment | `.venv-ourdigital/` | Python dependencies |
## Global Slash Commands
All custom skills are installed as **global slash commands** via symlinks. This means you can use them from any project directory in Claude Code:
```bash
# These work from ANY project, not just our-claude-skills/
/seo-technical https://example.com
/reference-curator "Claude Code best practices"
/ourdigital-research "topic"
/notebooklm-agent
/gtm-audit https://example.com
```
### How It Works
The installer symlinks all `.md` files from `.claude/commands/` in the repo to `~/.claude/commands/`:
```
~/.claude/commands/
├── lint.md # Original global command
├── test.md # Original global command
├── seo-technical.md -> /path/to/our-claude-skills/.claude/commands/seo-technical.md
├── seo-keyword-strategy.md -> ...
├── reference-curator.md -> ...
└── ... # ~40 symlinked commands
```
Since they're symlinks, pulling repo updates automatically refreshes the commands.
### Updating Commands
After pulling new changes or adding new commands:
```bash
./install.sh --commands # Re-scan and symlink any new commands
```
## Directory Structure ## Directory Structure
``` ```
~/.claude/commands/ # Global slash commands (symlinks)
~/.ourdigital/ ~/.ourdigital/
├── config.yaml # Global configuration ├── config.yaml # Global configuration
├── credentials/ # Service account JSONs ├── credentials/ # Service account JSONs
@@ -53,21 +93,27 @@ If you prefer manual setup:
```bash ```bash
mkdir -p ~/.ourdigital/credentials mkdir -p ~/.ourdigital/credentials
chmod 700 ~/.ourdigital ~/.ourdigital/credentials chmod 700 ~/.ourdigital ~/.ourdigital/credentials
mkdir -p ~/.claude/commands
``` ```
### 2. Copy environment template ### 2. Symlink global commands
```bash
ln -s /path/to/our-claude-skills/.claude/commands/*.md ~/.claude/commands/
```
### 3. Copy environment template
```bash ```bash
cp .env.ourdigital.template ~/.env.ourdigital cp .env.ourdigital.template ~/.env.ourdigital
chmod 600 ~/.env.ourdigital chmod 600 ~/.env.ourdigital
``` ```
### 3. Edit credentials ### 4. Edit credentials
```bash ```bash
nano ~/.env.ourdigital nano ~/.env.ourdigital
# Add your API keys # Add your API keys
``` ```
### 4. Create virtual environment ### 5. Create virtual environment
```bash ```bash
python3 -m venv .venv-ourdigital python3 -m venv .venv-ourdigital
source .venv-ourdigital/bin/activate source .venv-ourdigital/bin/activate
@@ -79,8 +125,8 @@ pip install -r requirements/base.txt
| Service | Variable | How to Get | | Service | Variable | How to Get |
|---------|----------|------------| |---------|----------|------------|
| Notion | `NOTION_API_TOKEN` | [Notion Integrations](https://www.notion.so/my-integrations) | | Notion | `NOTION_API_TOKEN` | [Notion Integrations](https://www.notion.so/my-integrations) |
| Ghost Blog | `GHOST_BLOG_ADMIN_KEY` | Ghost Admin Integrations | | Ghost Blog | `GHOST_BLOG_ADMIN_KEY` | Ghost Admin > Integrations |
| Ghost Journal | `GHOST_JOURNAL_ADMIN_KEY` | Ghost Admin Integrations | | Ghost Journal | `GHOST_JOURNAL_ADMIN_KEY` | Ghost Admin > Integrations |
| Figma | `FIGMA_ACCESS_TOKEN` | [Figma Settings](https://www.figma.com/developers/api#access-tokens) | | Figma | `FIGMA_ACCESS_TOKEN` | [Figma Settings](https://www.figma.com/developers/api#access-tokens) |
### Using 1Password CLI ### Using 1Password CLI
@@ -143,6 +189,15 @@ pyenv local 3.11
python scripts/validate_install.py --verbose python scripts/validate_install.py --verbose
``` ```
### Commands not showing in Claude Code
```bash
# Check symlinks are intact
ls -la ~/.claude/commands/
# Re-install commands
./install.sh --commands
```
## File Reference ## File Reference
| File | Purpose | | File | Purpose |

View File

@@ -7,6 +7,7 @@
# ./install.sh # Interactive install # ./install.sh # Interactive install
# ./install.sh --update # Update existing installation # ./install.sh --update # Update existing installation
# ./install.sh --uninstall # Remove installation # ./install.sh --uninstall # Remove installation
# ./install.sh --commands # Only install/update global slash commands
# ./install.sh --help # Show help # ./install.sh --help # Show help
# #
@@ -23,9 +24,12 @@ NC='\033[0m' # No Color
# Configuration # Configuration
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
SKILLS_DIR="$(dirname "$SCRIPT_DIR")" SKILLS_DIR="$(dirname "$SCRIPT_DIR")"
REPO_DIR="$(dirname "$SKILLS_DIR")"
ENV_FILE="$HOME/.env.ourdigital" ENV_FILE="$HOME/.env.ourdigital"
CONFIG_DIR="$HOME/.ourdigital" CONFIG_DIR="$HOME/.ourdigital"
VENV_DIR="$SKILLS_DIR/.venv-ourdigital" VENV_DIR="$SKILLS_DIR/.venv-ourdigital"
CLAUDE_COMMANDS_DIR="$HOME/.claude/commands"
REPO_COMMANDS_DIR="$REPO_DIR/.claude/commands"
# Print banner # Print banner
print_banner() { print_banner() {
@@ -70,6 +74,13 @@ check_prerequisites() {
missing+=("git") missing+=("git")
fi fi
# Check Claude Code CLI
if command -v claude &> /dev/null; then
success "Claude Code CLI available"
else
warn "Claude Code CLI not found (slash commands require it)"
fi
# Check 1Password CLI (optional) # Check 1Password CLI (optional)
if command -v op &> /dev/null; then if command -v op &> /dev/null; then
success "1Password CLI available" success "1Password CLI available"
@@ -101,6 +112,92 @@ setup_directories() {
mkdir -p "$CONFIG_DIR/logs" mkdir -p "$CONFIG_DIR/logs"
success "Created $CONFIG_DIR/logs/" success "Created $CONFIG_DIR/logs/"
# Create Claude commands directory
mkdir -p "$CLAUDE_COMMANDS_DIR"
success "Created $CLAUDE_COMMANDS_DIR/"
echo ""
}
# Install global slash commands via symlinks
setup_global_commands() {
info "Setting up global slash commands..."
if [[ ! -d "$REPO_COMMANDS_DIR" ]]; then
error "Commands directory not found: $REPO_COMMANDS_DIR"
echo " Make sure you're running from the our-claude-skills repository."
return 1
fi
mkdir -p "$CLAUDE_COMMANDS_DIR"
local linked=0
local skipped=0
local updated=0
for cmd_file in "$REPO_COMMANDS_DIR"/*.md; do
[[ -f "$cmd_file" ]] || continue
local filename
filename=$(basename "$cmd_file")
local target="$CLAUDE_COMMANDS_DIR/$filename"
if [[ -L "$target" ]]; then
local current_link
current_link=$(readlink "$target")
if [[ "$current_link" == "$cmd_file" ]]; then
((skipped++))
else
rm "$target"
ln -s "$cmd_file" "$target"
((updated++))
fi
elif [[ -f "$target" ]]; then
warn "Skipping $filename (non-symlink file exists at $target)"
((skipped++))
else
ln -s "$cmd_file" "$target"
((linked++))
fi
done
[[ $linked -gt 0 ]] && success "Linked $linked new commands"
[[ $updated -gt 0 ]] && success "Updated $updated existing symlinks"
[[ $skipped -gt 0 ]] && info "Skipped $skipped (already current)"
# Count total symlinks pointing to our repo
local total
total=$(find "$CLAUDE_COMMANDS_DIR" -maxdepth 1 -type l -lname "$REPO_COMMANDS_DIR/*" 2>/dev/null | wc -l | tr -d ' ')
success "Total global commands from this repo: $total"
echo ""
}
# Remove global slash command symlinks
remove_global_commands() {
info "Removing global slash command symlinks..."
if [[ ! -d "$CLAUDE_COMMANDS_DIR" ]]; then
info "No commands directory found, nothing to remove"
return
fi
local removed=0
for link in "$CLAUDE_COMMANDS_DIR"/*.md; do
[[ -L "$link" ]] || continue
local link_target
link_target=$(readlink "$link")
if [[ "$link_target" == "$REPO_COMMANDS_DIR/"* ]]; then
rm "$link"
((removed++))
fi
done
if [[ $removed -gt 0 ]]; then
success "Removed $removed command symlinks"
else
info "No symlinks from this repo found"
fi
echo "" echo ""
} }
@@ -239,7 +336,7 @@ validate_installation() {
info "Validating installation..." info "Validating installation..."
local checks_passed=0 local checks_passed=0
local checks_total=6 local checks_total=7
# Check directories # Check directories
[[ -d "$CONFIG_DIR" ]] && ((checks_passed++)) && success "Config directory exists" || warn "Config directory missing" [[ -d "$CONFIG_DIR" ]] && ((checks_passed++)) && success "Config directory exists" || warn "Config directory missing"
@@ -255,6 +352,16 @@ validate_installation() {
# Check skills directory # Check skills directory
[[ -d "$SKILLS_DIR/01-ourdigital-brand-guide" ]] && ((checks_passed++)) && success "Skills directory valid" || warn "Skills not found" [[ -d "$SKILLS_DIR/01-ourdigital-brand-guide" ]] && ((checks_passed++)) && success "Skills directory valid" || warn "Skills not found"
# Check global commands
local cmd_count
cmd_count=$(find "$CLAUDE_COMMANDS_DIR" -maxdepth 1 -type l -lname "$REPO_COMMANDS_DIR/*" 2>/dev/null | wc -l | tr -d ' ')
if [[ $cmd_count -gt 0 ]]; then
((checks_passed++))
success "Global slash commands installed ($cmd_count commands)"
else
warn "No global slash commands found (run with --commands to install)"
fi
echo "" echo ""
echo -e "${CYAN}Validation: $checks_passed/$checks_total checks passed${NC}" echo -e "${CYAN}Validation: $checks_passed/$checks_total checks passed${NC}"
echo "" echo ""
@@ -262,17 +369,97 @@ validate_installation() {
# Show installed skills # Show installed skills
show_skills() { show_skills() {
info "Installed OurDigital Skills:" info "Installed Skills:"
echo "" echo ""
for dir in "$SKILLS_DIR"/0{1,2,3,4,5,6,7,8,9}-ourdigital-* "$SKILLS_DIR"/10-ourdigital-*; do local categories=(
"OurDigital Core:0{1,2,3,4,5,6,7,8,9}-ourdigital-*,10-ourdigital-*"
"SEO Tools:1{1,2,3,4,5,6,7,8,9}-seo-*,2{0,1,2,3,4,5,6,7,8,9}-seo-*,3{0,1,2,3,4}-seo-*"
"Jamie Clinic:4{0,1,2,3,4,5}-jamie-*"
"NotebookLM:5{0,1,2,3}-notebooklm-*"
"GTM/GA:6{0,1,2}-gtm-*"
"Notion:3{1,2}-notion-*"
"Reference & Multi-Agent:9{0,1}-*"
)
for category in "${categories[@]}"; do
IFS=':' read -r label patterns <<< "$category"
local count=0
local names=()
IFS=',' read -ra pattern_arr <<< "$patterns"
for pattern in "${pattern_arr[@]}"; do
for dir in "$SKILLS_DIR"/$pattern; do
if [[ -d "$dir" ]]; then if [[ -d "$dir" ]]; then
name=$(basename "$dir") ((count++))
desc=$(grep -m1 "^name:" "$dir/desktop/SKILL.md" 2>/dev/null | cut -d':' -f2 | xargs || echo "") names+=("$(basename "$dir")")
fi
done
done
if [[ $count -gt 0 ]]; then
echo -e " ${CYAN}$label${NC} ($count skills)"
for name in "${names[@]}"; do
echo -e " ${GREEN}${NC} $name" echo -e " ${GREEN}${NC} $name"
done
echo ""
fi
done
}
# Show global command summary
show_global_commands() {
info "Global Slash Commands (available from any project):"
echo ""
if [[ ! -d "$CLAUDE_COMMANDS_DIR" ]]; then
warn "No commands directory found"
return
fi
local cmd_count=0
local categories=()
for link in "$CLAUDE_COMMANDS_DIR"/*.md; do
[[ -L "$link" ]] || continue
local link_target
link_target=$(readlink "$link")
if [[ "$link_target" == "$REPO_COMMANDS_DIR/"* ]]; then
((cmd_count++))
local name
name=$(basename "$link" .md)
categories+=("$name")
fi fi
done done
if [[ $cmd_count -eq 0 ]]; then
warn "No commands symlinked from this repo"
return
fi
# Group by prefix
local seo=0 gtm=0 jamie=0 notebooklm=0 notion=0 ourdigital=0 other=0
for name in "${categories[@]}"; do
case "$name" in
seo-*) ((seo++)) ;;
gtm-*) ((gtm++)) ;;
jamie-*) ((jamie++)) ;;
notebooklm-*) ((notebooklm++)) ;;
notion-*) ((notion++)) ;;
ourdigital-*) ((ourdigital++)) ;;
*) ((other++)) ;;
esac
done
[[ $seo -gt 0 ]] && echo -e " ${GREEN}SEO${NC}: $seo commands (/seo-technical, /seo-keyword-strategy, ...)"
[[ $gtm -gt 0 ]] && echo -e " ${GREEN}GTM${NC}: $gtm commands (/gtm-audit, /gtm-manager)"
[[ $jamie -gt 0 ]] && echo -e " ${GREEN}Jamie${NC}: $jamie commands (/jamie-editor, /jamie-audit)"
[[ $notebooklm -gt 0 ]] && echo -e " ${GREEN}NotebookLM${NC}: $notebooklm commands (/notebooklm-agent, ...)"
[[ $notion -gt 0 ]] && echo -e " ${GREEN}Notion${NC}: $notion commands (/notion-writer, /notion-organizer)"
[[ $ourdigital -gt 0 ]] && echo -e " ${GREEN}OurDigital${NC}: $ourdigital commands (/ourdigital-research, ...)"
[[ $other -gt 0 ]] && echo -e " ${GREEN}Other${NC}: $other commands"
echo ""
echo -e " ${CYAN}Total: $cmd_count global commands${NC}"
echo "" echo ""
} }
@@ -286,19 +473,20 @@ print_usage() {
echo "2. Edit credentials if needed:" echo "2. Edit credentials if needed:"
echo " nano $ENV_FILE" echo " nano $ENV_FILE"
echo "" echo ""
echo "3. Use skills with 'our' or 'ourdigital' prefix:" echo "3. Use slash commands from any project (globally installed):"
echo " - our blog [topic]" echo " /seo-technical https://example.com"
echo " - our research [topic]" echo " /reference-curator \"Claude Code best practices\""
echo " - our 견적서" echo " /ourdigital-research \"topic\""
echo " /notebooklm-agent"
echo "" echo ""
echo "4. Documentation:" echo "4. Update commands after pulling repo changes:"
echo " $SKILLS_DIR/OUR_SKILL_PROJECT_PLAN_v1.1.md" echo " ./install.sh --commands"
echo "" echo ""
} }
# Uninstall # Uninstall
uninstall() { uninstall() {
warn "This will remove OurDigital configuration (not skills)." warn "This will remove OurDigital configuration and global commands (not skill source files)."
read -p "Continue? (y/N): " -n 1 -r read -p "Continue? (y/N): " -n 1 -r
echo echo
@@ -307,6 +495,9 @@ uninstall() {
exit 0 exit 0
fi fi
# Remove global command symlinks
remove_global_commands
# Backup before removing # Backup before removing
if [[ -f "$ENV_FILE" ]]; then if [[ -f "$ENV_FILE" ]]; then
cp "$ENV_FILE" "$ENV_FILE.uninstall.backup" cp "$ENV_FILE" "$ENV_FILE.uninstall.backup"
@@ -334,16 +525,22 @@ show_help() {
echo "Options:" echo "Options:"
echo " --help, -h Show this help message" echo " --help, -h Show this help message"
echo " --update, -u Update existing installation" echo " --update, -u Update existing installation"
echo " --uninstall Remove installation (preserves skills)" echo " --uninstall Remove installation (preserves skill source files)"
echo " --validate Only run validation checks" echo " --validate Only run validation checks"
echo " --commands Only install/update global slash commands"
echo " --skip-creds Skip credentials setup" echo " --skip-creds Skip credentials setup"
echo " --skip-venv Skip virtual environment setup" echo " --skip-venv Skip virtual environment setup"
echo "" echo ""
echo "Examples:" echo "Examples:"
echo " ./install.sh # Full interactive install" echo " ./install.sh # Full interactive install"
echo " ./install.sh --update # Update existing setup" echo " ./install.sh --update # Update existing setup"
echo " ./install.sh --commands # Just install/refresh global commands"
echo " ./install.sh --skip-creds # Install without credentials" echo " ./install.sh --skip-creds # Install without credentials"
echo "" echo ""
echo "Global Commands:"
echo " Slash commands are symlinked to ~/.claude/commands/ so they"
echo " work from any project directory in Claude Code."
echo ""
} }
# Main installation flow # Main installation flow
@@ -351,6 +548,7 @@ main_install() {
print_banner print_banner
check_prerequisites check_prerequisites
setup_directories setup_directories
setup_global_commands
setup_environment setup_environment
if [[ "$SKIP_CREDS" != true ]]; then if [[ "$SKIP_CREDS" != true ]]; then
@@ -364,6 +562,7 @@ main_install() {
setup_config setup_config
validate_installation validate_installation
show_skills show_skills
show_global_commands
print_usage print_usage
echo -e "${GREEN}╔═══════════════════════════════════════════════════════════╗${NC}" echo -e "${GREEN}╔═══════════════════════════════════════════════════════════╗${NC}"
@@ -387,12 +586,21 @@ while [[ $# -gt 0 ]]; do
;; ;;
--validate) --validate)
validate_installation validate_installation
show_global_commands
exit 0
;;
--commands)
info "Installing/updating global slash commands..."
setup_global_commands
show_global_commands
exit 0 exit 0
;; ;;
--update|-u) --update|-u)
info "Updating installation..." info "Updating installation..."
setup_global_commands
setup_python_env setup_python_env
validate_installation validate_installation
show_global_commands
exit 0 exit 0
;; ;;
--skip-creds) --skip-creds)

1236
docs/USER-GUIDE-KO.md Normal file

File diff suppressed because it is too large Load Diff

1289
docs/USER-GUIDE.md Normal file

File diff suppressed because it is too large Load Diff