Use when content Kingdom Orchestrator — the BRAIN that coordinates all
Scanned 9/8/2026
Install to Claude Code
npx -y skills add oyi77/1ai-skills --skill kingdom --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Kingdom?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/oyi77-kingdom)More formats (shields.io, HTML) on the badges page.
---
name: content-kingdom
description: Use when content Kingdom Orchestrator — the BRAIN that coordinates all
12 content phases. Sequences research → plan → script → create → review → schedule
→ post → engage → analyze → optimize → repurpose → scale.
author: oyi77
license: Apache-2.0
subdomain: content-creation
tags:
- content
- automation
- tiktok
- instagram
- postbridge
- geminigen
- money
domain: content
version: 1.0.0
category: content
---
# Content Kingdom Orchestrator
## Overview
A **lean 12-phase pipeline** that turns raw trends into scheduled, analyzed, and scaled social media content — fully automated, with Paperclip issue tracking.
**SOLID design:**
- Each phase = single responsibility, independently runnable
- New phases: add to `PHASE_REGISTRY` in `orchestrator.py` — no other edits
- All new modules extend `BaseModule` (dependency inversion)
- Public API: 4 methods only (`run_daily_pipeline`, `run_phase`, `get_status`, `create_paperclip_issues`)
**KISS design:**
- Existing scripts called via subprocess — no reimplementation
- Only 2 truly new modules: `comment_manager.py`, `engagement_engine.py`
- Config extends `autopilot_affiliate_engine/config.py` at runtime
---
## File Structure
```
skills/1ai-skills/content/content-kingdom/
├── SKILL.md ← you are here
├── orchestrator.py ← BRAIN: thin coordinator
├── base_module.py ← BaseModule + PhaseResult (DI foundation)
├── config.json ← config (extends engine config at runtime)
├── state.json ← auto-generated: pipeline state
├── modules/
│ ├── __init__.py
│ ├── persona_manager.py ← brand voice + caption generation
│ ├── comment_manager.py ← Phase 8: ENGAGE (new)
│ ├── engagement_engine.py ← Phase 12: SCALE (new)
│ ├── veris_design.py ← v2.0: Veris Design System (prompts + palette)
│ └── geminigen_client.py ← v2.0: GeminiGen API client (images + videos)
├── output/ ← phase outputs (today_plan.json, scripts_*.json, …)
├── logs/ ← daily orchestrator logs
├── templates/ ← caption/storyboard templates
└── tests/ ← unit tests
```
**Symlink:** `skills/content-kingdom → skills/1ai-skills/content/content-kingdom`
---
---
## Veris Design Principles (v2.0)
Extracted from **Veris** (Ads Master, 10+ years) training session. Applied automatically in Phase 4: CREATE.
### Core Rules (NON-NEGOTIABLE)
1. **Pure black background** — `#000000`, no exceptions, ever
2. **High contrast white text** — headlines in `#FFFFFF`, nothing below 60% opacity
3. **Three-zone vertical layout** — every ad must have: Hook / Body / CTA zones
4. **No vibrant colors** — accent palette limited to dark trust/urgency signals
5. **No emoji in visuals** — emoji in captions are OK, never in images
6. **Minimalist premium** — less elements = more premium feel = higher trust
### Color Palette
| Role | Hex | Usage |
|------|-----|-------|
| `bg_primary` | `#000000` | Main background (mandatory) |
| `bg_secondary` | `#000020` | Secondary surfaces |
| `text_primary` | `#FFFFFF` | Headlines, CTA text |
| `text_secondary` | `#808080` | Supporting copy |
| `accent_trust` | `#202040` | Borders, trust badges |
| `accent_urgency` | `#200000` | Scarcity signals |
| `accent_soft` | `#606080` | Decorative elements |
### Three-Zone Layout
```
┌─────────────────────────────┐
│ HOOK ZONE (top 20-30%) │ ← Bold headline, stops the scroll
│ "Bisa Cuan 1 Juta/Hari?" │
├─────────────────────────────┤
│ BODY ZONE (middle 40-50%) │ ← Product detail, builds desire
│ What it is, what it does │
├─────────────────────────────┤
│ CTA ZONE (bottom 20-30%) │ ← Action button, price, frame
│ [Lihat Sekarang → Rp 49K] │
└─────────────────────────────┘
```
### Platform Priority (Veris Approach)
1. **Instagram** — PRIMARY (where ads convert)
2. **Facebook** — SECONDARY (older, higher spend audience)
3. **Threads** — TERTIARY (IG companion, free reach)
4. **TikTok** — QUATERNARY (volume play, lower CPM)
### Formats
| Platform | Width | Height | Ratio |
|----------|-------|--------|-------|
| Instagram Portrait | 1024 | 1280 | 4:5 ← PRIMARY |
| Instagram Feed | 800 | 800 | 1:1 |
| TikTok | 1080 | 1920 | 9:16 |
### Using Veris in Code
```python
from modules.veris_design import build_veris_prompt, veris_prompt_for_platform
from modules.geminigen_client import GeminiGenClient
# Build Veris-style prompt
payload = veris_prompt_for_platform(
product_name="Guru Pintar AI",
hook_text="Bisa Cuan Rp 1 Juta/Hari?",
platform="instagram",
)
# Generate via GeminiGen
client = GeminiGenClient()
resp = client.generate_image(**payload)
url = client.generate_image_sync(**payload) # sync version → returns URL
```
---
## GeminiGen API (v2.0 — Primary Media Provider)
**Base URL:** `https://api.geminigen.ai`
**Auth:** `x-api-key` header
**Key config:** `workspace/config/geminigen_api.json` → `{"api_key": "..."}`
### Supported Operations
| Endpoint | Purpose | Module |
|----------|---------|--------|
| `POST /uapi/v1/generate_image` | Image generation | `GeminiGenClient.generate_image()` |
| `POST /uapi/v1/video-gen/grok` | Video generation (Grok) | `GeminiGenClient.generate_video_grok()` |
| `GET /uapi/v1/history/:uuid` | Poll job status | `GeminiGenClient.get_status()` |
### Status Codes
- `1` = processing (keep polling)
- `2` = completed (extract URL)
- `3` = failed (raise error)
### Phase 4 CREATE Provider Chain (v2.0)
**Images:**
```
GeminiGen (nano-banana-pro + Veris prompt)
↓ on failure
NVIDIA (Flux) via legacy media_generator
↓ on failure
PIL placeholder (last resort — never blocks pipeline)
```
**Videos:**
```
GeminiGen (Grok-3, 480p portrait)
↓ on failure
BytePlus (Seedance T2V)
```
---
## When to Use
**Trigger phrases:**
- "content kingdom"
- "\n Content Kingdom Orchestrator — the BRAIN that coordinates all 12 content pha"
- Running the full daily content pipeline (`--pipeline`)
- Running a specific phase only (`--phase research`, `--phase schedule`, etc.)
- Checking pipeline status after a run (`--status`)
- Creating Paperclip tracking issues for a run (`--paperclip-issues`)
- Debugging a broken phase in isolation
---
## When NOT to Use
- ❌ Direct PostBridge posting → use `autopilot_affiliate_engine/auto_postbridge_robust_v2.py`
- ❌ Generating images only → use `skills/nano-banana-pro/scripts/generate_image.py`
- ❌ Research only → use `autopilot_affiliate_engine/research_agent.py`
- ❌ Revenue tracking only → use `autopilot_affiliate_engine/revenue_tracker.py`
- ❌ Storyboard only → use `content/content-generator/scripts/storyboard.py`
---
## Quick Reference
```bash
# Full daily pipeline (morning run)
python3 orchestrator.py --pipeline
# Single phase (independently runnable)
python3 orchestrator.py --phase research
python3 orchestrator.py --phase plan
python3 orchestrator.py --phase script
python3 orchestrator.py --phase create
python3 orchestrator.py --phase review
python3 orchestrator.py --phase schedule
python3 orchestrator.py --phase post
python3 orchestrator.py --phase engage
python3 orchestrator.py --phase analyze
python3 orchestrator.py --phase optimize
python3 orchestrator.py --phase repurpose
python3 orchestrator.py --phase scale
# Status check
python3 orchestrator.py --status
# Seed Paperclip issues without running pipeline
python3 orchestrator.py --paperclip-issues
# Custom config
python3 orchestrator.py --pipeline --config /path/to/custom_config.json
```
---
## Workflow
Content Kingdom runs a **12-phase daily pipeline**. Each phase is a discrete step that feeds the next:
| Phase | What Happens |
|-------|-------------|
| 1. Research | Scrape trends, competitor content, viral patterns |
| 2. Plan | Select content angles, assign formats per platform |
| 3. Script | Generate platform-optimized scripts (TikTok, IG, YT) |
| 4. Create | Produce media — images, video, audio via GeminiGen |
| 5. Review | Quality gate, brand compliance check |
| 6. Schedule | Queue to PostBridge with optimal timing |
| 7. Post | Auto-publish to TikTok, Instagram, YouTube |
| 8. Engage | Auto-reply to comments, DMs |
| 9. Analyze | Collect views, likes, shares, CTR per post |
| 10. Optimize | Surface winning formats, topics, hooks |
| 11. Repurpose | Spin top content into cross-platform variants |
| 12. Scale | Grow volume, add channels, increase frequency |
**Execution:** One morning run via cron. Each phase delegates to sub-agents through Paperclip issues.
**Failure mode:** Any phase can be re-run independently without restarting the pipeline.
**Scaling:** More channels = more research + create iterations in parallel.
## The 12 Phases
| # | Phase | Delegates To | New Code? |
|---|-------|-------------|-----------|
| 1 | RESEARCH | `autopilot_affiliate_engine/research_agent.py` + `viral_research_system.py` | No |
| 2 | PLAN | Engine weekly plan + config products | Thin logic only |
| 3 | SCRIPT | `content-generator/scripts/storyboard.py` + `modules/persona_manager.py` | No |
| 4 | CREATE | `skills/nano-banana-pro/scripts/generate_image.py` | No |
| 5 | REVIEW | `content-generator/scripts/quality_gate.py` | No |
| 6 | SCHEDULE | `autopilot_affiliate_engine/auto_postbridge_robust_v2.py` | No |
| 7 | POST | PostBridge `/post-results` API + retry via robust_v2 | No |
| 8 | ENGAGE | `modules/comment_manager.py` | **Yes — new** |
| 9 | ANALYZE | `evening_report.py` + `revenue_tracker.py` + PostBridge analytics | No |
| 10 | OPTIMIZE | Engagement rate calc + `revenue_tracker_REAL.py` | Thin logic only |
| 11 | REPURPOSE | `skills/auto-clipper/scripts/auto_clipper.py` | No |
| 12 | SCALE | `modules/engagement_engine.py` | **Yes — new** |
---
## Cron Setup
```bash
# Add to crontab (crontab -e)
# Morning pipeline — 08:00 WIB
0 8 * * * cd /home/openclaw/.openclaw/workspace/skills/content-kingdom && python3 orchestrator.py --pipeline >> logs/cron.log 2>&1
# Evening analysis — 20:00 WIB
0 20 * * * cd /home/openclaw/.openclaw/workspace/skills/content-kingdom && python3 orchestrator.py --phase analyze >> logs/cron.log 2>&1
# Engagement check — every 2 hours
0 */2 * * * cd /home/openclaw/.openclaw/workspace/skills/content-kingdom && python3 orchestrator.py --phase engage >> logs/cron.log 2>&1
```
---
## Configuration
Edit `config.json` to change:
| Key | Purpose | Example |
|-----|---------|---------|
| `products` | Products to promote (hooks, prices) | Add new LYNK product |
| `personas` | Brand voices (e.g., brands, styles) | Add new persona |
| `platforms` | Enable/disable platforms | `"youtube": {"enabled": true}` |
| `schedule` | Posting times per platform | `"tiktok": ["07:00", "19:00"]` |
| `quality_gates` | Review pass/fail thresholds | `"min_caption_length": 80` |
| `scoring_weights` | Engagement scoring for scale phase | `"shares": 10.0` |
| `winner_thresholds` | Min score to be a "winner" | `"tiktok": 2000` |
**Do NOT duplicate** values already in `autopilot_affiliate_engine/config.py` — they're merged at runtime.
---
## Paperclip Integration
Each pipeline run creates:
- 1 parent issue: `Content Kingdom — YYYY-MM-DD`
- 12 sub-issues: one per phase
- Status auto-updates as phases complete (`todo → done` or `blocked`)
Paperclip server must be running at `http://localhost:3100`.
---
## Adding a New Phase
1. Write a `_phase_newphase(cfg, **kwargs) -> dict` function in `orchestrator.py`
2. Add entry to `PHASES` dict: `"newphase": {"fn": _phase_newphase, "label": "Phase 13: NEWPHASE", "deps": [...]}`
3. Done. No other changes needed (Open/Closed principle).
---
## Adding a New Module
If the new phase needs a real class:
```python
# modules/my_new_module.py
from base_module import BaseModule
class MyNewModule(BaseModule):
@property
def name(self) -> str:
return "my_phase"
def _execute(self, **kwargs) -> dict:
# single responsibility: do ONE thing
return {"result": "done"}
```
Instantiate in the phase function, call `module.run()`.
---
## Common Mistakes
| ❌ Wrong | ✅ Right |
|---------|---------|
| Creating new PostBridge wrapper | Import/subprocess `auto_postbridge_robust_v2.py` |
| Duplicating product list in config | Add products only to `config.json`, merge from engine at runtime |
| Running orchestrator as a library import | Use `--phase` CLI or instantiate `ContentKingdomOrchestrator` |
| Editing phase logic inside `run_phase()` | Edit the `_phase_*()` function, not the coordinator |
| Adding config to `orchestrator.py` directly | All config in `config.json` — orchestrator reads it |
---
## Dependencies
**Python stdlib only + requests:**
```bash
pip install requests
```
**External scripts (must exist):**
- `autopilot_affiliate_engine/research_agent.py`
- `autopilot_affiliate_engine/auto_postbridge_robust_v2.py`
- `autopilot_affiliate_engine/evening_report.py`
- `autopilot_affiliate_engine/revenue_tracker.py`
- `content/content-generator/scripts/storyboard.py`
- `content/content-generator/scripts/quality_gate.py`
- `skills/nano-banana-pro/scripts/generate_image.py` *(optional — CREATE fallback chain)*
- `skills/auto-clipper/scripts/auto_clipper.py` *(optional — REPURPOSE phase degrades gracefully)*
**v2.0 additions:**
- `workspace/config/geminigen_api.json` — `{"api_key": "YOUR_KEY"}` *(required for GeminiGen primary provider)*
- `curl` — CLI dependency for GeminiGen API calls (already available system-wide)
---
## Example Output
```json
{
"run_id": "run_20260313_080000",
"date": "2026-03-13",
"phases": {
"research": {"status": "success", "data": {"sources": ["research_agent", "viral_research_system"]}},
"plan": {"status": "success", "data": {"product_focus": "jendralbot_bundle", "platforms": ["tiktok", "instagram"]}},
"script": {"status": "success", "data": {"scripts_generated": 6}},
"schedule": {"status": "success", "data": {"queue_file": "...postbridge_queue_jendralbot.json"}},
"engage": {"status": "success", "data": {"replies_queued": 4, "dm_leads": 2}},
"scale": {"status": "success", "data": {"winners": 3, "top_3": [...]}}
}
}
```
## Money-Making Overview
**Buyer Persona:**
- SME owners (3-50 employees) in Indonesia/US who need daily social media content without hiring a team
- Digital agencies that want to white-label content production under their own brand
- E-commerce brands that need product content across TikTok, Instagram, Facebook with direct attribution
- Solo creators who need to scale output without burning out
**Three Pricing Tiers:**
| Tier | Price | What They Get |
|------|-------|---------------|
| Content Starter | $1,000/mo | 10 posts/week across 2 platforms, template-based visuals, basic captions, weekly report |
| Content Pro | $2,500/mo | 20 posts/week across 4 platforms, custom Veris visuals, storyboard scripts, engagement management, weekly optimization |
| Content Kingdom | $5,000/mo | Full 12-phase pipeline: viral research, daily content, paid ad creative, auto-engagement, analytics, repurposing, monthly strategy session |
**First-Dollar Timeline:**
- Day 1: Onboard client, define personas + products (30-min call)
- Day 3: First 5 posts delivered as proof-of-work
- Day 7: Full pipeline running, first engagement data
- Day 14: First optimization cycle, client sees measurable lift
- Day 30: Renewal conversation backed by performance report
**Target Markets:**
- Indonesia SMEs: Bundle with LYNK affiliate products, Rp 5-15M/mo
- US Agencies: White-label Content Kingdom for $3-7K/mo retainer
- E-commerce Brands: Product-focused content with direct conversion attribution
---
## First Action in 60 Minutes
Copy-paste this to onboard a new client and run their first full pipeline:
```bash
#!/usr/bin/env bash
# Content Kingdom Client Onboarder
# Usage: ./onboard_client.sh "ClientName" "ProductName" "Hook Text" "Rp 49K"
set -e
CLIENT="$1"
PRODUCT="$2"
HOOK="$3"
PRICE="$4"
echo "=== Onboarding $CLIENT ==="
# 1. Create scoped client config
mkdir -p "clients/$CLIENT"
cat > "clients/$CLIENT/config.json" << 'EOF'
{
"products": [{"name": "PLACEHOLDER_PRODUCT", "hook": "PLACEHOLDER_HOOK", "price": "PLACEHOLDER_PRICE"}],
"personas": ["professional", "trendy"],
"platforms": {
"tiktok": {"enabled": true, "schedule": ["07:00", "19:00"]},
"instagram": {"enabled": true, "schedule": ["08:00", "20:00"]},
"facebook": {"enabled": true, "schedule": ["12:00"]}
},
"quality_gates": {"min_caption_length": 80, "min_image_score": 0.6},
"scoring_weights": {"views": 1.0, "likes": 2.0, "shares": 10.0, "comments": 5.0},
"winner_thresholds": {"tiktok": 2000, "instagram": 1500}
}
EOF
sed -i "s/PLACEHOLDER_PRODUCT/$PRODUCT/g" "clients/$CLIENT/config.json"
sed -i "s/PLACEHOLDER_HOOK/$HOOK/g" "clients/$CLIENT/config.json"
sed -i "s/PLACEHOLDER_PRICE/$PRICE/g" "clients/$CLIENT/config.json"
# 2. Run research + plan phases (fast, generates first strategy)
python3 orchestrator.py --phase research --config "clients/$CLIENT/config.json" 2>&1 | tail -5
python3 orchestrator.py --phase plan --config "clients/$CLIENT/config.json" 2>&1 | tail -5
echo ""
echo "=== CLIENT ONBOARDED: $CLIENT ==="
echo "Config: clients/$CLIENT/config.json"
echo "Research: output/research_*.json (review with client)"
echo ""
echo "NEXT: python3 orchestrator.py --phase script --config clients/$CLIENT/config.json"
echo "THEN: python3 orchestrator.py --phase create --config clients/$CLIENT/config.json"
echo "DELIVER: first 5 assets ready after 'create' phase"
```
**What this gets you in 60 minutes:**
- Client-specific config created and filled
- Research phase complete (trending angles + competitor analysis)
- Plan phase complete (posting schedule + content strategy)
- Deliverable preview ready to share with client
---
## Deliverable Format
**Weekly Content Production Report** (deliver every Monday morning):
```text
CONTENT PRODUCTION REPORT
Client: [Name] | Week: 2026-07-20
Pipeline Run ID: run_20260720_080000
=== DELIVERED THIS WEEK ===
Platform | Posts | Format | Status
TikTok | 10 | 9:16 video | Posted
Instagram | 10 | 4:5 image | Posted
Facebook | 5 | 1:1 image | Scheduled
Total: 25 posts across 3 platforms
=== PERFORMANCE ===
Metric | Value | vs Last Week
Engagement Rate | 4.2% | +0.8%
Total Views | 45,200 | +12%
Link Clicks | 1,230 | +5%
Conversions | 28 | +40% <- from optimized CTAs
=== TOP 3 PERFORMERS ===
1. "Bisa Cuan Rp 1 Juta/Hari?" — TikTok — 12,400 views, 5.1% eng.
2. Product demo video — Instagram — 8,200 views, 4.8% eng.
3. Testimonial graphic — Facebook — 5,100 views, 3.9% eng.
=== NEXT WEEK PLAN ===
- 5 A/B test variants for low-performing creatives
- 2 new product angles from viral research
- Repurpose top 3 posts into Shorts/reels
=== INVOICE ===
Service: Content Pro — $2,500
Status: Due upon receipt
```
**Pricing Table for Proposals:**
```text
┌──────────────────────────────────────────────────────────────────────────┐
│ CONTENT KINGDOM PRICING │
├──────────────┬──────────┬───────────┬──────────────┬─────────────────────┤
│ Service │ Starter │ Pro │ Kingdom │ À La Carte │
├──────────────┼──────────┼───────────┼──────────────┼─────────────────────┤
│ Posts/week │ 10 │ 20 │ 35+ │ $50/post │
│ Platforms │ 2 │ 4 │ 6+ │ $100/platform │
│ Visual Type │ Template │ Custom │ Veris Pro │ $200/design │
│ Research │ Basic │ Viral │ Full 12-ph │ $500/research cycle │
│ Engagement │ -- │ Auto-reply│ Full + DM │ $300/mo │
│ Analytics │ Weekly │ Weekly + │ Daily + Opt │ $200/mo │
│ Repurposing │ -- │ -- │ Auto-clip │ $250/mo │
├──────────────┼──────────┼───────────┼──────────────┼─────────────────────┤
│ Price/Month │ $1,000 │ $2,500 │ $5,000 │ Custom │
└──────────────┴──────────┴───────────┴──────────────┴─────────────────────┘
```
**Invoice Line Items** (copy into Stripe/Paddle):
- "Content Kingdom — [Tier] — [Month] — $X,XXX"
- "Content Kingdom — À La Carte — [Qty]x [Service] — $XXX"
- "Content Kingdom — Rush Production — [Posts]x — $XXX"
---
## Anti-Rationalization Table
| Rationalization | Reality |
|---|---|
| "I'll just post manually, automation is overkill" | Manual posting at scale burns 15+ hours/week. Automation pays for itself in 2 weeks of saved labor. |
| "My content is good enough without the full pipeline" | The 12-phase pipeline is why Content Kingdom produces 3x the engagement of random posting. |
| "Clients won't pay $1K+ for content" | Agencies charge $3-7K/mo for managed content. You're underpriced, not overpriced. |
| "I'll optimize after I have more clients" | Optimization is the retention engine. Without it, clients churn at month 2. |
| "Viral research takes too long to set up" | The RESEARCH phase runs in 5 minutes via research_agent.py. Setup is one config edit. |
| "I don't have time to run 12 phases every day" | Cron handles it. You sign clients, the pipeline produces. Your time goes to sales, not keystrokes. |
| "Content is a commodity — hard to charge premium" | Premium is in the system: consistent daily output, data-driven optimization, zero missed days. That's what clients pay for. |Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!