# OurDigital Skills - Shared Environment Shared configuration, dependencies, and environment setup for all OurDigital Claude Skills. ## Quick Setup ### 1. Create Virtual Environment ```bash cd /path/to/our-claude-skills/custom-skills python -m venv .venv-ourdigital source .venv-ourdigital/bin/activate # macOS/Linux ``` ### 2. Install Dependencies ```bash # For Claude Code environment pip install -r _ourdigital-shared/requirements/code.txt # For Claude Desktop environment pip install -r _ourdigital-shared/requirements/desktop.txt # Or install as package pip install -e _ourdigital-shared/ ``` ### 3. Configure Environment Variables ```bash # Copy template cp _ourdigital-shared/.env.ourdigital.template ~/.env.ourdigital # Edit with your credentials nano ~/.env.ourdigital ``` ### 4. Set Up Credentials Directory ```bash mkdir -p ~/.ourdigital/credentials # Add your credential files: # - ~/.ourdigital/credentials/notion.json # - ~/.ourdigital/credentials/ghost.json # - ~/.ourdigital/credentials/google.json ``` ## Directory Structure ``` _ourdigital-shared/ ├── pyproject.toml # Package configuration ├── .env.ourdigital.template # Environment variables template ├── requirements/ │ ├── base.txt # Common dependencies │ ├── desktop.txt # Desktop-specific │ └── code.txt # Code-specific ├── config/ │ └── ourdigital.yaml # Global configuration └── README.md # This file ``` ## Configuration ### Environment Variables Key variables in `.env.ourdigital`: | Variable | Description | |----------|-------------| | `OURDIGITAL_ENV` | Environment (development/production) | | `NOTION_API_TOKEN` | Notion integration token | | `NOTION_WORKING_WITH_AI_DB` | Primary Notion database ID | | `GHOST_BLOG_ADMIN_KEY` | Ghost CMS admin API key | ### Config File `config/ourdigital.yaml` contains: - Brand settings (name, tagline, values) - Channel configurations - Color palette - Typography settings - Skill numbering conventions - Export paths ## Usage in Skills ### Loading Configuration ```python import yaml from pathlib import Path def load_config(): config_path = Path(__file__).parent.parent / "_ourdigital-shared/config/ourdigital.yaml" with open(config_path) as f: return yaml.safe_load(f) config = load_config() print(config['brand']['tagline']) ``` ### Loading Environment ```python from dotenv import load_dotenv import os load_dotenv(os.path.expanduser("~/.env.ourdigital")) notion_token = os.getenv("NOTION_API_TOKEN") ``` ## Skill Numbering | Range | Category | |-------|----------| | 01-09 | OurDigital Core (brand, blog, journal, research, etc.) | | 10 | Meta (skill-creator) | | 11-19 | SEO Tools | | 20-29 | GTM/Analytics Tools | | 31-39 | Notion Tools | | 40-49 | Jamie Clinic Tools | ## Version - Package Version: 1.0.0 - Python Requirement: >= 3.11 - Author: OurDigital (Andrew Yim)