feat: Add OurDigital custom skills package (10 skills)
Complete implementation of OurDigital skills with dual-platform support (Claude Desktop + Claude Code) following standardized structure. Skills created: - 01-ourdigital-brand-guide: Brand reference & style guidelines - 02-ourdigital-blog: Korean blog drafts (blog.ourdigital.org) - 03-ourdigital-journal: English essays (journal.ourdigital.org) - 04-ourdigital-research: Research prompts & workflows - 05-ourdigital-document: Notion-to-presentation pipeline - 06-ourdigital-designer: Visual/image prompt generation - 07-ourdigital-ad-manager: Ad copywriting & keyword research - 08-ourdigital-trainer: Training materials & workshop planning - 09-ourdigital-backoffice: Quotes, proposals, cost analysis - 10-ourdigital-skill-creator: Meta skill for creating new skills Features: - YAML frontmatter with "ourdigital" or "our" prefix triggers - Standardized directory structure (code/, desktop/, shared/, docs/) - Shared environment setup (_ourdigital-shared/) - Comprehensive reference documentation - Cross-skill integration support Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
129
custom-skills/_ourdigital-shared/README.md
Normal file
129
custom-skills/_ourdigital-shared/README.md
Normal file
@@ -0,0 +1,129 @@
|
||||
# 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)
|
||||
Reference in New Issue
Block a user