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:
71
custom-skills/03-ourdigital-journal/README.md
Normal file
71
custom-skills/03-ourdigital-journal/README.md
Normal file
@@ -0,0 +1,71 @@
|
||||
# OurDigital Journal
|
||||
|
||||
English essay and article creation skill for journal.ourdigital.org.
|
||||
|
||||
## Purpose
|
||||
|
||||
Generate English essays with:
|
||||
- Reflective, poetic writing style
|
||||
- Philosophical-technical hybridization
|
||||
- Cultural bridging (Korean-global perspectives)
|
||||
- Ghost CMS format output
|
||||
|
||||
## Activation
|
||||
|
||||
Only activates with "ourdigital" keyword:
|
||||
- "ourdigital journal 써줘"
|
||||
- "ourdigital English essay on [topic]"
|
||||
- "ourdigital 영문 에세이"
|
||||
|
||||
## Channel Profile
|
||||
|
||||
| Field | Value |
|
||||
|-------|-------|
|
||||
| URL | journal.ourdigital.org |
|
||||
| Language | English |
|
||||
| Tone | Conversational, Poetic, Reflective |
|
||||
| Length | 1,000-2,000 words |
|
||||
|
||||
## Structure
|
||||
|
||||
```
|
||||
03-ourdigital-journal/
|
||||
├── code/SKILL.md
|
||||
├── desktop/SKILL.md
|
||||
├── shared/
|
||||
│ ├── references/
|
||||
│ │ └── journal-style-guide.md
|
||||
│ └── templates/
|
||||
│ └── essay-template.md
|
||||
├── docs/
|
||||
│ └── CHANGELOG.md
|
||||
└── README.md
|
||||
```
|
||||
|
||||
## Writing Style
|
||||
|
||||
- **Philosophical-Technical Hybridization**: Tech + human implications
|
||||
- **Paradox as Device**: Illuminate through tensions
|
||||
- **Rhetorical Questions**: Invite rather than lecture
|
||||
- **Melancholic Optimism**: Clear-eyed hope
|
||||
|
||||
## Content Types
|
||||
|
||||
| Type | Focus | Length |
|
||||
|------|-------|--------|
|
||||
| Personal Essay | Reflection on experience | 1,000-1,500 words |
|
||||
| Cultural Observation | Tech + society | 1,500-2,000 words |
|
||||
| Industry Insight | Trends with depth | 1,200-1,800 words |
|
||||
|
||||
## Environment
|
||||
|
||||
Requires `~/.env.ourdigital`:
|
||||
```
|
||||
GHOST_JOURNAL_URL=https://journal.ourdigital.org
|
||||
GHOST_JOURNAL_ADMIN_KEY=<admin_key>
|
||||
```
|
||||
|
||||
## Version
|
||||
|
||||
- Current: 1.0.0
|
||||
- Author: OurDigital
|
||||
128
custom-skills/03-ourdigital-journal/code/SKILL.md
Normal file
128
custom-skills/03-ourdigital-journal/code/SKILL.md
Normal file
@@ -0,0 +1,128 @@
|
||||
---
|
||||
name: ourdigital-journal
|
||||
description: |
|
||||
English essay creation for journal.ourdigital.org.
|
||||
Activated with "ourdigital" keyword.
|
||||
|
||||
Triggers:
|
||||
- "ourdigital journal", "ourdigital essay"
|
||||
- "ourdigital English article"
|
||||
|
||||
Features:
|
||||
- English essay generation
|
||||
- Reflective, poetic style
|
||||
- Ghost CMS export
|
||||
version: "1.0"
|
||||
author: OurDigital
|
||||
environment: Code
|
||||
---
|
||||
|
||||
# OurDigital Journal (Code)
|
||||
|
||||
English essay and article creation with Ghost CMS integration.
|
||||
|
||||
## Activation
|
||||
|
||||
Only with "ourdigital" keyword:
|
||||
- "ourdigital journal 써줘"
|
||||
- "ourdigital English essay"
|
||||
|
||||
## Quick Start
|
||||
|
||||
```bash
|
||||
# Export to Ghost (draft)
|
||||
python shared/scripts/ghost_publish.py --file essay.md --channel journal --draft
|
||||
```
|
||||
|
||||
## Channel Profile
|
||||
|
||||
```yaml
|
||||
URL: journal.ourdigital.org
|
||||
Language: English
|
||||
Tone: Conversational, Poetic, Reflective
|
||||
Platform: Ghost CMS
|
||||
Length: 1,000-2,000 words
|
||||
Frequency: 월 2-4회
|
||||
```
|
||||
|
||||
## Workflow
|
||||
|
||||
### 1. Topic Exploration
|
||||
|
||||
Ask:
|
||||
1. What specific angle interests you?
|
||||
2. Target audience? (Tech pros / General / Academic)
|
||||
3. Depth level? (Reflection / Analysis / Observation)
|
||||
|
||||
### 2. Essay Structure
|
||||
|
||||
```
|
||||
1. Opening (Evocative scene or question)
|
||||
2. Exploration (3-4 interconnected observations)
|
||||
3. Synthesis (Weaving threads)
|
||||
4. Closing (Open-ended reflection)
|
||||
```
|
||||
|
||||
### 3. Writing Style
|
||||
|
||||
| Element | Approach |
|
||||
|---------|----------|
|
||||
| Voice | First-person, reflective |
|
||||
| Tone | Thoughtful, observant |
|
||||
| Sentences | Complex, interconnected |
|
||||
| Questions | Rhetorical, inviting |
|
||||
|
||||
### 4. Distinctive Qualities
|
||||
|
||||
- Philosophical-technical hybridization
|
||||
- Paradox as rhetorical device
|
||||
- Epistemic humility
|
||||
- Cultural bridging
|
||||
|
||||
### 5. Output
|
||||
|
||||
```markdown
|
||||
---
|
||||
title: "Essay Title"
|
||||
meta_description: "Description"
|
||||
slug: "url-slug"
|
||||
tags: ["tag1", "tag2"]
|
||||
---
|
||||
|
||||
# Essay Title
|
||||
|
||||
[Essay content]
|
||||
```
|
||||
|
||||
## Ghost Integration
|
||||
|
||||
```python
|
||||
# Environment
|
||||
GHOST_JOURNAL_URL=https://journal.ourdigital.org
|
||||
GHOST_JOURNAL_ADMIN_KEY=<from .env.ourdigital>
|
||||
```
|
||||
|
||||
## Export Options
|
||||
|
||||
1. **Ghost Draft** → API push
|
||||
2. **Local** → `./output/journal/`
|
||||
|
||||
## Content Types
|
||||
|
||||
| Type | Length |
|
||||
|------|--------|
|
||||
| Personal Essay | 1,000-1,500 words |
|
||||
| Cultural Observation | 1,500-2,000 words |
|
||||
| Industry Insight | 1,200-1,800 words |
|
||||
|
||||
## File Structure
|
||||
|
||||
```
|
||||
03-ourdigital-journal/
|
||||
├── code/SKILL.md
|
||||
├── desktop/SKILL.md
|
||||
├── shared/
|
||||
│ ├── references/journal-style-guide.md
|
||||
│ └── templates/essay-template.md
|
||||
└── docs/CHANGELOG.md
|
||||
```
|
||||
173
custom-skills/03-ourdigital-journal/desktop/SKILL.md
Normal file
173
custom-skills/03-ourdigital-journal/desktop/SKILL.md
Normal file
@@ -0,0 +1,173 @@
|
||||
---
|
||||
name: ourdigital-journal
|
||||
description: |
|
||||
English essay and article creation for journal.ourdigital.org.
|
||||
Activated with "ourdigital" keyword for English writing tasks.
|
||||
|
||||
Triggers (ourdigital or our prefix):
|
||||
- "ourdigital journal", "our journal"
|
||||
- "ourdigital English essay", "our English essay"
|
||||
- "ourdigital 영문 에세이", "our 영문 에세이"
|
||||
|
||||
Features:
|
||||
- English essay/article generation
|
||||
- Research-based insights
|
||||
- Reflective, poetic style
|
||||
- Ghost CMS format output
|
||||
version: "1.0"
|
||||
author: OurDigital
|
||||
environment: Desktop
|
||||
---
|
||||
|
||||
# OurDigital Journal
|
||||
|
||||
English essay and article creation for journal.ourdigital.org.
|
||||
|
||||
## Activation
|
||||
|
||||
Activate with "ourdigital" or "our" prefix:
|
||||
- "ourdigital journal" / "our journal"
|
||||
- "ourdigital English essay" / "our English essay"
|
||||
- "our 영문 에세이 [topic]"
|
||||
- "ourdigital 영문 에세이 [주제]"
|
||||
|
||||
## Channel Profile
|
||||
|
||||
| Field | Value |
|
||||
|-------|-------|
|
||||
| **URL** | journal.ourdigital.org |
|
||||
| **Language** | English |
|
||||
| **Tone** | Conversational & Poetic, Reflective |
|
||||
| **Platform** | Ghost CMS |
|
||||
| **Frequency** | 월 2-4회 |
|
||||
| **Length** | 1,000-2,000 words |
|
||||
|
||||
## Workflow
|
||||
|
||||
### Phase 1: Topic Exploration
|
||||
|
||||
Ask clarifying questions:
|
||||
|
||||
1. **Topic**: What specific angle interests you?
|
||||
2. **Audience**: Tech professionals / General readers / Academic?
|
||||
3. **Depth**: Personal reflection / Industry analysis / Cultural observation?
|
||||
|
||||
### Phase 2: Research (Optional)
|
||||
|
||||
If topic requires current context:
|
||||
- Use `web_search` for recent developments
|
||||
- Reference scholarly perspectives if applicable
|
||||
- Draw from historical or cultural parallels
|
||||
|
||||
### Phase 3: Essay Generation
|
||||
|
||||
Generate essay following the reflective style:
|
||||
|
||||
**Structure:**
|
||||
```
|
||||
1. Opening (Evocative scene or question)
|
||||
2. Exploration (3-4 interconnected observations)
|
||||
3. Synthesis (Weaving threads together)
|
||||
4. Closing (Open-ended reflection)
|
||||
```
|
||||
|
||||
**Writing Style:**
|
||||
- Philosophical-Technical Hybridization
|
||||
- Paradox as primary rhetorical device
|
||||
- Rhetorical questions for engagement
|
||||
- Melancholic optimism in tone
|
||||
|
||||
**Distinctive Qualities:**
|
||||
- Temporal awareness (historical context)
|
||||
- Epistemic humility (acknowledging limits)
|
||||
- Cultural bridging (Korean-global perspectives)
|
||||
|
||||
### Phase 4: SEO Metadata
|
||||
|
||||
Generate metadata:
|
||||
|
||||
```yaml
|
||||
title: [Evocative, under 70 characters]
|
||||
meta_description: [Compelling summary, 155 characters]
|
||||
slug: [english-url-slug]
|
||||
tags: [3-5 relevant tags]
|
||||
```
|
||||
|
||||
### Phase 5: Output Format
|
||||
|
||||
**Markdown Output:**
|
||||
```markdown
|
||||
---
|
||||
title: "Essay Title"
|
||||
meta_description: "Description"
|
||||
slug: "url-slug"
|
||||
tags: ["tag1", "tag2"]
|
||||
---
|
||||
|
||||
# Essay Title
|
||||
|
||||
[Essay content with paragraphs that flow naturally]
|
||||
|
||||
---
|
||||
*Published in [OurDigital Journal](https://journal.ourdigital.org)*
|
||||
```
|
||||
|
||||
## Writing Guidelines
|
||||
|
||||
### Voice Characteristics
|
||||
|
||||
| Aspect | Approach |
|
||||
|--------|----------|
|
||||
| Perspective | First-person reflection welcome |
|
||||
| Tone | Thoughtful, observant, wondering |
|
||||
| Pacing | Unhurried, allowing ideas to breathe |
|
||||
| References | Cross-cultural, historical, literary |
|
||||
|
||||
### Sentence Craft
|
||||
|
||||
- Long, complex sentences reflecting interconnected ideas
|
||||
- Progressive deepening: observation → analysis → implication
|
||||
- Questions that invite rather than lecture
|
||||
|
||||
### Do's and Don'ts
|
||||
|
||||
**Do:**
|
||||
- Blend technology with humanity
|
||||
- Use paradox to illuminate tensions
|
||||
- Acknowledge uncertainty gracefully
|
||||
- Bridge Korean and Western perspectives
|
||||
|
||||
**Don't:**
|
||||
- Lecture or prescribe
|
||||
- Oversimplify complex issues
|
||||
- Ignore cultural context
|
||||
- Rush to conclusions
|
||||
|
||||
## Content Types
|
||||
|
||||
| Type | Focus | Length |
|
||||
|------|-------|--------|
|
||||
| Personal Essay | Reflection on experience | 1,000-1,500 words |
|
||||
| Cultural Observation | Tech + society analysis | 1,500-2,000 words |
|
||||
| Industry Insight | Trends with perspective | 1,200-1,800 words |
|
||||
|
||||
## Ghost Integration
|
||||
|
||||
Export options:
|
||||
1. **Markdown file** → Editorial review → Ghost
|
||||
2. **Direct API** → Ghost Admin API
|
||||
|
||||
API endpoint: `GHOST_JOURNAL_URL` from environment
|
||||
|
||||
## Quick Commands
|
||||
|
||||
| Command | Action |
|
||||
|---------|--------|
|
||||
| "ourdigital journal [topic]" | Full essay workflow |
|
||||
| "ourdigital journal edit" | Edit existing draft |
|
||||
|
||||
## References
|
||||
|
||||
- `shared/references/journal-style-guide.md` - Detailed writing guide
|
||||
- `shared/templates/essay-template.md` - Essay structure
|
||||
- `01-ourdigital-brand-guide` - Brand voice reference
|
||||
23
custom-skills/03-ourdigital-journal/docs/CHANGELOG.md
Normal file
23
custom-skills/03-ourdigital-journal/docs/CHANGELOG.md
Normal file
@@ -0,0 +1,23 @@
|
||||
# Changelog
|
||||
|
||||
All notable changes to ourdigital-journal will be documented here.
|
||||
|
||||
## [1.0.0] - 2026-01-31
|
||||
|
||||
### Added
|
||||
- Initial skill creation
|
||||
- Desktop and Code versions
|
||||
- English essay writing workflow
|
||||
- Reflective, poetic style guidelines
|
||||
- Ghost CMS integration (shared with blog)
|
||||
- Journal style guide reference
|
||||
- Essay template
|
||||
|
||||
### Files
|
||||
- `desktop/SKILL.md` - Desktop version
|
||||
- `code/SKILL.md` - Code version
|
||||
- `shared/references/journal-style-guide.md` - Writing guide
|
||||
- `shared/templates/essay-template.md` - Essay structure
|
||||
|
||||
### Notion Ref
|
||||
- (To be synced)
|
||||
@@ -0,0 +1,166 @@
|
||||
# OurDigital Journal Style Guide
|
||||
|
||||
Writing guidelines for journal.ourdigital.org - English essays and articles.
|
||||
|
||||
## Channel Identity
|
||||
|
||||
| Field | Value |
|
||||
|-------|-------|
|
||||
| **Domain** | journal.ourdigital.org |
|
||||
| **Language** | English |
|
||||
| **Tone** | Conversational & Poetic, Reflective |
|
||||
| **Target** | Informed generalists with intellectual curiosity |
|
||||
|
||||
## Voice Characteristics
|
||||
|
||||
### Philosophical-Technical Hybridization
|
||||
|
||||
Seamlessly blend technical analysis with existential questioning. Technology is never discussed without considering its human implications.
|
||||
|
||||
**Example:**
|
||||
> The dashboard promises clarity—every metric tracked, every trend visualized. Yet as I stared at the perfectly organized data, I wondered: does seeing everything mean understanding anything?
|
||||
|
||||
### Paradox as Primary Device
|
||||
|
||||
Structure arguments around tensions and contradictions that illuminate rather than confuse.
|
||||
|
||||
**Paradox Patterns:**
|
||||
- "The more we measure, the less we understand"
|
||||
- "In optimizing for efficiency, we optimize away meaning"
|
||||
- "The tools that connect us also isolate us"
|
||||
|
||||
### Rhetorical Questions
|
||||
|
||||
Favor interrogative engagement. Questions create intellectual partnership with readers.
|
||||
|
||||
**Good:**
|
||||
> What does it mean to be "data-driven" in a world drowning in data?
|
||||
|
||||
**Avoid:**
|
||||
> Data-driven decision-making is important for businesses.
|
||||
|
||||
### Melancholic Optimism
|
||||
|
||||
Acknowledge loss and anxiety without despair. Accept technological inevitability while mourning what's displaced.
|
||||
|
||||
**Tone:**
|
||||
- Not cynical, but clear-eyed
|
||||
- Not naive, but hopeful
|
||||
- Grief and wonder coexisting
|
||||
|
||||
## Structural Patterns
|
||||
|
||||
### Essay Structure
|
||||
|
||||
1. **Opening** (10%)
|
||||
- Evocative scene, moment, or question
|
||||
- Draw reader into a specific experience
|
||||
- Hint at larger questions to come
|
||||
|
||||
2. **Exploration** (70%)
|
||||
- 3-4 interconnected observations
|
||||
- Each builds on the previous
|
||||
- Historical parallels, cultural references
|
||||
- Personal reflection woven with analysis
|
||||
|
||||
3. **Synthesis** (15%)
|
||||
- Weave threads together
|
||||
- New understanding emerges
|
||||
- Not a summary—a culmination
|
||||
|
||||
4. **Closing** (5%)
|
||||
- Open-ended reflection
|
||||
- Question rather than answer
|
||||
- Leave reader thinking
|
||||
|
||||
### Sentence Craft
|
||||
|
||||
| Aspect | Approach |
|
||||
|--------|----------|
|
||||
| Length | Long, complex sentences with multiple clauses |
|
||||
| Rhythm | Varied—some long, some short for emphasis |
|
||||
| Connection | Ideas flow into each other |
|
||||
|
||||
**Example:**
|
||||
> The algorithm knows what I want before I do—or so it claims—and in that anticipation lies both convenience and a subtle erosion of agency, as if my future preferences were already written in code I cannot read.
|
||||
|
||||
### Paragraph Flow
|
||||
|
||||
```
|
||||
Observation (What I noticed)
|
||||
↓
|
||||
Analysis (What it might mean)
|
||||
↓
|
||||
Implication (Why it matters)
|
||||
↓
|
||||
Connection (Leading to next thought)
|
||||
```
|
||||
|
||||
## Distinctive Qualities
|
||||
|
||||
### 1. Temporal Awareness
|
||||
|
||||
Strong consciousness of historical context and generational shifts.
|
||||
|
||||
> Twenty years ago, we dreamed of information at our fingertips. Now, drowning in it, we dream of filters.
|
||||
|
||||
### 2. Epistemic Humility
|
||||
|
||||
Acknowledge the limits of understanding, especially across generations and cultures.
|
||||
|
||||
> I don't pretend to understand how Gen Z experiences the digital world—I can only observe it with the curiosity of an outsider.
|
||||
|
||||
### 3. Cultural Bridging
|
||||
|
||||
Connect Korean and Western perspectives, offering unique viewpoints.
|
||||
|
||||
> In Korea, we have a word—"nunchi"—for reading the atmosphere. AI systems are developing their own form of nunchi, reading data patterns the way we read rooms.
|
||||
|
||||
## Content Categories
|
||||
|
||||
### Personal Essay
|
||||
- First-person reflection
|
||||
- Specific experience as lens
|
||||
- Universal themes emerge naturally
|
||||
- 1,000-1,500 words
|
||||
|
||||
### Cultural Observation
|
||||
- Technology meets society
|
||||
- Cross-cultural comparisons
|
||||
- Historical context
|
||||
- 1,500-2,000 words
|
||||
|
||||
### Industry Insight
|
||||
- Professional perspective
|
||||
- Trends with philosophical depth
|
||||
- Practical implications considered
|
||||
- 1,200-1,800 words
|
||||
|
||||
## SEO Guidelines
|
||||
|
||||
### Titles
|
||||
- Evocative, not clickbait
|
||||
- Under 70 characters
|
||||
- Hint at tension or question
|
||||
|
||||
**Patterns:**
|
||||
- "The [Noun] of [Paradox]"
|
||||
- "[Verb]-ing in the Age of [Trend]"
|
||||
- "What [Technology] Cannot [Verb]"
|
||||
|
||||
### Meta Descriptions
|
||||
- 155 characters
|
||||
- Capture the essay's central question
|
||||
- Intrigue without revealing
|
||||
|
||||
## Quality Checklist
|
||||
|
||||
Before publishing:
|
||||
|
||||
- [ ] Does the opening draw readers in?
|
||||
- [ ] Are there rhetorical questions?
|
||||
- [ ] Does technical content connect to human experience?
|
||||
- [ ] Is there at least one paradox or tension?
|
||||
- [ ] Does the closing leave an open question?
|
||||
- [ ] Is the tone melancholic but not despairing?
|
||||
- [ ] Are sentences varied in length and rhythm?
|
||||
@@ -0,0 +1,64 @@
|
||||
---
|
||||
title: "{Evocative Title}"
|
||||
meta_description: "{Compelling 155-character description}"
|
||||
slug: "{url-slug}"
|
||||
tags: ["{tag1}", "{tag2}", "{tag3}"]
|
||||
author: "Andrew Yim"
|
||||
date: "{YYYY-MM-DD}"
|
||||
---
|
||||
|
||||
# {Title}
|
||||
|
||||
{Opening: Begin with a specific moment, scene, or question. Draw the reader into an experience before broadening to larger themes. This should feel intimate and immediate.}
|
||||
|
||||
{Transition: Move from the specific to the general, hinting at the essay's territory.}
|
||||
|
||||
---
|
||||
|
||||
{First thread of exploration. Introduce an observation or idea that sets the stage for deeper inquiry. Weave in historical context or cultural reference.}
|
||||
|
||||
{Develop the observation. Ask a rhetorical question that deepens the inquiry.}
|
||||
|
||||
> {Pull quote or key insight that captures this section's essence.}
|
||||
|
||||
{Connection to next thread—ideas should flow naturally.}
|
||||
|
||||
---
|
||||
|
||||
{Second thread. Build on the previous section, introducing a new angle or paradox. The complexity grows.}
|
||||
|
||||
{Personal reflection or specific example that grounds abstract ideas.}
|
||||
|
||||
{Analysis of what this means in broader context.}
|
||||
|
||||
---
|
||||
|
||||
{Third thread. Synthesis begins here. Threads start weaving together. New understanding emerges from the collision of ideas.}
|
||||
|
||||
{Acknowledge tensions without resolving them. Epistemic humility—what we don't and can't know.}
|
||||
|
||||
---
|
||||
|
||||
## {Optional section heading for longer pieces}
|
||||
|
||||
{Continue exploration if needed. Each section should add depth, not just length.}
|
||||
|
||||
---
|
||||
|
||||
{Closing: Return to something from the opening, but transformed by the journey. Leave an open question—not as evasion, but as invitation. The reader should leave thinking, not satisfied.}
|
||||
|
||||
{Final rhetorical question or paradox that resonates.}
|
||||
|
||||
---
|
||||
|
||||
*Originally published in [OurDigital Journal](https://journal.ourdigital.org)*
|
||||
|
||||
<!--
|
||||
Quality Checklist:
|
||||
- [ ] Evocative opening
|
||||
- [ ] Rhetorical questions throughout
|
||||
- [ ] Technical + human connection
|
||||
- [ ] At least one paradox
|
||||
- [ ] Open-ended closing
|
||||
- [ ] 1,000-2,000 words
|
||||
-->
|
||||
Reference in New Issue
Block a user