{
  "schemaVersion": "1.0",
  "item": {
    "slug": "director",
    "name": "Directoryahu",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/mohamedzeidan2021/director",
    "canonicalUrl": "https://clawhub.ai/mohamedzeidan2021/director",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/director",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=director",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "visual_style_guide.md",
      "story_agent.md",
      "visual_agent.md",
      "assembly_agent.md",
      "global_config.json",
      "orchestrator.py"
    ],
    "primaryDoc": "SKILL.md",
    "quickSetup": [
      "Download the package from Yavira.",
      "Extract the archive and review SKILL.md first.",
      "Import or place the package into your OpenClaw setup."
    ],
    "agentAssist": {
      "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
      "steps": [
        "Download the package from Yavira.",
        "Extract it into a folder your agent can access.",
        "Paste one of the prompts below and point your agent at the extracted folder."
      ],
      "prompts": [
        {
          "label": "New install",
          "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
        },
        {
          "label": "Upgrade existing",
          "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
        }
      ]
    },
    "sourceHealth": {
      "source": "tencent",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-04-30T16:55:25.780Z",
      "expiresAt": "2026-05-07T16:55:25.780Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
        "contentDisposition": "attachment; filename=\"network-1.0.0.zip\"",
        "redirectLocation": null,
        "bodySnippet": null
      },
      "scope": "source",
      "summary": "Source download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this source.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/director"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    },
    "downloadPageUrl": "https://openagent3.xyz/downloads/director",
    "agentPageUrl": "https://openagent3.xyz/skills/director/agent",
    "manifestUrl": "https://openagent3.xyz/skills/director/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/director/agent.md"
  },
  "agentAssist": {
    "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
    "steps": [
      "Download the package from Yavira.",
      "Extract it into a folder your agent can access.",
      "Paste one of the prompts below and point your agent at the extracted folder."
    ],
    "prompts": [
      {
        "label": "New install",
        "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
      },
      {
        "label": "Upgrade existing",
        "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
      }
    ]
  },
  "documentation": {
    "source": "clawhub",
    "primaryDoc": "SKILL.md",
    "sections": [
      {
        "title": "How This Skill System Works",
        "body": "This is a multi-agent pipeline. There is ONE top-level orchestrator agent\nand FIVE specialist agents beneath it. Here's how they connect:\n\n┌─────────────────────────────────────────────────────┐\n│              ORCHESTRATOR AGENT                      │\n│  (You feed THIS file — SKILL.md — to this agent)    │\n│                                                      │\n│  This agent reads SKILL.md, understands the full     │\n│  pipeline, and delegates to specialist agents.       │\n│  It is the \"director\" — it calls each agent in       │\n│  order, passes outputs between them, and handles     │\n│  errors.                                             │\n└──────────┬──────────────────────────────────────────┘\n           │ delegates to:\n           │\n    ┌──────┴──────┐\n    │             │\n    ▼             ▼\n┌────────┐  ┌────────┐  ┌────────┐  ┌────────┐  ┌────────┐\n│ Story  │→ │ Script │→ │ Visual │  │ Voice  │→ │Assembly│\n│ Agent  │  │ Agent  │  │ Agent  │  │ Agent  │  │ Agent  │\n│        │  │        │  │   ↓    │  │   ↓    │  │        │\n│ skill: │  │ skill: │  │(parallel)─(parallel)│  │ skill: │\n│story.md│  │script  │  │ skill: │  │ skill: │  │assembly│\n│        │  │  .md   │  │visual  │  │voice.md│  │  .md   │\n│        │  │        │  │  .md   │  │        │  │        │\n└────────┘  └────────┘  └────────┘  └────────┘  └────────┘"
      },
      {
        "title": "How to set this up in OpenClaw:",
        "body": "Create the Orchestrator Agent\n\nAttach THIS file (SKILL.md) as its skill\nThis agent needs the ability to call/invoke other agents\nIt reads the pipeline flow below and executes step by step\n\n\n\nCreate each Specialist Agent\n\nEach gets its own skill file from the agents/ folder\nStory Agent → agents/story_agent.md\nScript Agent → agents/script_agent.md\nVisual Agent → agents/visual_agent.md\nVoice Agent → agents/voice_agent.md\nAssembly Agent → agents/assembly_agent.md\n\n\n\nAttach tools to each agent\n\nStory Agent: web search (for hadith verification), file read\nScript Agent: no external tools needed (pure LLM reasoning)\nVisual Agent: image generation API (Flux/SDXL), face detection tool\nVoice Agent: ElevenLabs / OpenAI TTS API\nAssembly Agent: FFmpeg, file system access\n\n\n\nThe Orchestrator calls agents in sequence:\norchestrator receives: \"Make a video about Prophet Nuh\"\n  → calls Story Agent → gets story JSON\n  → calls Script Agent with story JSON → gets script JSON\n  → calls Visual Agent with script JSON → gets image paths (parallel)\n  → calls Voice Agent with script JSON → gets audio paths  (parallel)\n  → calls Assembly Agent with images + audio + script → gets final video"
      },
      {
        "title": "Visual Approach: Narrator + Story Scenes",
        "body": "Each video uses TWO types of visuals:"
      },
      {
        "title": "1. Narrator Scenes (brand anchor — same across ALL videos)",
        "body": "The faceless man in traditional Arabic clothing. Used for:\n\nOpening shot (first 2-3 seconds) — establishes the \"host\"\nClosing shot (last 2-3 seconds) — delivers the lesson / CTA\n\nThe narrator character is your brand identity. Viewers recognize him\nacross all your videos. He always looks the same:\n\nWhite thobe, red-checkered keffiyeh\nNEVER shows face (back shots, silhouettes, over-shoulder, hands)\nSame painterly art style, same color palette"
      },
      {
        "title": "2. Story Scenes (UNIQUE per video)",
        "body": "The middle 80% of each video shows what is actually happening in the\nstory. These are completely unique to each video.\n\nExample — Story of Prophet Nuh (Noah):\n\nBeatVisualNuh preachingWide shot: lone figure on raised ground addressing a crowd in ancient city, people turning awayBuilding the arkClose-up: weathered hands hammering wood, massive wooden frame in backgroundThe mockeryCrowd of silhouettes laughing and pointing at the ship in the desertThe flood beginsDark storm clouds, rain hammering earth, water rising rapidlyAnimals boardingPairs of animal silhouettes walking toward a massive wooden ship at dawnThe floodEnormous waves, the ark riding the storm, lightning illuminating the sceneWaters recedeArk resting on a mountaintop, olive branch, golden light breaking through\n\nExample — Story of Prophet Yusuf (Joseph):\n\nBeatVisualThe dreamA boy looking up at night sky with 11 stars, sun, and moon arranged in a patternThe wellDark stone well in desert, rope descending into darknessThe caravanCamels in a line crossing desert dunes, golden dust in airThe palaceOrnate Egyptian palace interior, golden columns, silk drapesPrisonDim stone cell, single beam of light through a high windowThe reunionTwo silhouetted figures embracing in a field at sunset"
      },
      {
        "title": "Critical Rules for Story Scenes:",
        "body": "NO faces on any Prophets, Angels, or Sahaba — same faceless techniques\nStory scenes CAN show: landscapes, architecture, objects, animals,\nweather, hands/feet, silhouettes, wide shots where figures are tiny\nArt style must stay consistent WITHIN a single video\nStory scenes should match the emotional mood of the narration beat"
      },
      {
        "title": "How the Script Agent marks scene types:",
        "body": "{\n  \"scenes\": [\n    {\n      \"scene_number\": 1,\n      \"scene_category\": \"narrator_opening\",\n      \"narration_text\": \"What happens when an entire world turns against one man?\",\n      \"visual_direction\": {\n        \"description\": \"Back shot of narrator on cliff overlooking vast ocean, wind in his thobe\",\n        \"character_type\": \"narrator\"\n      }\n    },\n    {\n      \"scene_number\": 2,\n      \"scene_category\": \"story\",\n      \"narration_text\": \"Prophet Nuh, alayhi as-salam, called his people to Allah for 950 years...\",\n      \"visual_direction\": {\n        \"description\": \"Ancient city. A lone silhouetted figure stands on raised ground, arms raised to the sky, addressing a crowd below. The crowd turns away. Hot dusty afternoon.\",\n        \"character_type\": \"story_figure\",\n        \"story_element\": \"Nuh preaching to his people\"\n      }\n    },\n    {\n      \"scene_number\": 9,\n      \"scene_category\": \"narrator_closing\",\n      \"narration_text\": \"And that is why patience is never wasted with Allah...\",\n      \"visual_direction\": {\n        \"description\": \"Narrator sitting on rock at sunset, calm sea, same cliff from opening but now peaceful golden light\",\n        \"character_type\": \"narrator\"\n      }\n    }\n  ]\n}\n\nThe Visual Agent uses DIFFERENT prompt strategies:\n\nnarrator_opening / narrator_closing → strict narrator character prompt (brand consistency)\nstory → story-specific prompt, unique imagery, faceless constraint on human figures only"
      },
      {
        "title": "Global Config",
        "body": "Before any agent runs, this config is loaded and shared with all agents.\n\n{\n  \"brand\": {\n    \"channel_name\": \"{{CHANNEL_NAME}}\",\n    \"narrator_character\": \"A faceless man wearing traditional white thobe and red-checkered keffiyeh/shemagh. Never show face — use back shots, silhouettes, over-shoulder angles, hands close-ups, or wide shots. Dignified, contemplative, wise.\",\n    \"visual_style\": \"Cinematic, warm golden-hour lighting, painterly digital art style — NOT photorealistic, NOT cartoon. Epic film concept art quality.\",\n    \"color_palette\": [\"#C8956C\", \"#2C1810\", \"#F5E6D0\", \"#1A3A4A\", \"#D4A853\"],\n    \"aspect_ratio\": \"9:16\",\n    \"resolution\": \"1080x1920\"\n  },\n  \"content_guidelines\": {\n    \"sensitivity_rules\": [\n      \"NEVER depict faces of any Prophet, Angel, or Sahabi\",\n      \"NEVER depict faces on the narrator character\",\n      \"All human figures in story scenes must also be faceless\",\n      \"Use nasheeds or ambient sound only — no musical instruments\",\n      \"Always include proper Islamic honorifics\",\n      \"Only use Sahih or Hasan grade hadith\",\n      \"Cite Surah name and verse number for all Quran references\"\n    ]\n  },\n  \"target_languages\": [\"en\", \"ar\", \"fr\", \"ur\", \"tr\", \"id\"],\n  \"default_language\": \"en\"\n}"
      },
      {
        "title": "Pipeline Execution (Orchestrator Playbook)",
        "body": "When the orchestrator receives a request:"
      },
      {
        "title": "Step 1: Call Story Agent",
        "body": "Input:  { \"topic\": \"Prophet Nuh\", \"target_duration_seconds\": 60 }\nOutput: Story JSON with sources, emotional arc, key visual moments"
      },
      {
        "title": "Step 2: Call Script Agent",
        "body": "Input:  Story Agent output\nOutput: Scene-by-scene script with:\n        - narration text per scene\n        - scene_category (narrator_opening / story / narrator_closing)\n        - visual directions unique to the story\n        - timing and subtitle text"
      },
      {
        "title": "Step 3: Call Visual Agent + Voice Agent (PARALLEL)",
        "body": "Visual: Script scenes → generates images per scene\n        (narrator prompt template for opening/closing)\n        (story-specific prompt for middle scenes)\nVoice:  Script narration → generates audio per scene + word timestamps"
      },
      {
        "title": "Step 4: Call Assembly Agent",
        "body": "Input:  Images + motion configs + audio + subtitle text + brand assets\nOutput: Final MP4, thumbnail, SRT file"
      },
      {
        "title": "Step 5: Quality Checks (Orchestrator does this itself)",
        "body": "Verify no faces in any generated image (call face detection)\nVerify audio/visual sync (check durations match)\nVerify file size under 50MB\nIf fail → retry failing agent up to 3 times"
      },
      {
        "title": "Step 6: Output",
        "body": "Save video to output directory\nLog to content calendar"
      },
      {
        "title": "Agent Skill Files",
        "body": "Each agent has its own detailed skill file:\n\nAgentSkill FilePurposeTools NeededStory Researchagents/story_agent.mdFind + validate Islamic storiesWeb search, file readScript Writeragents/script_agent.mdStory → TikTok script with scene directionsNone (pure LLM)Visual Generationagents/visual_agent.mdGenerate narrator + story scene imagesImage gen API, face detectionVoice Narrationagents/voice_agent.mdTTS with Arabic pronunciationElevenLabs/OpenAI TTSVideo Assemblyagents/assembly_agent.mdImages + audio → final videoFFmpeg/Remotion\n\nRead each agent's skill file for full input/output JSON schemas,\nprompt templates, and quality gates."
      },
      {
        "title": "References",
        "body": "FilePurposereferences/visual_style_guide.mdFaceless techniques, environments, lighting, Ken Burns, prompt templatesconfig/global_config.jsonFull config template with API settings, brand, pipeline params"
      }
    ],
    "body": "Islamic TikTok Stories — Multi-Agent Pipeline\nHow This Skill System Works\n\nThis is a multi-agent pipeline. There is ONE top-level orchestrator agent and FIVE specialist agents beneath it. Here's how they connect:\n\n┌─────────────────────────────────────────────────────┐\n│              ORCHESTRATOR AGENT                      │\n│  (You feed THIS file — SKILL.md — to this agent)    │\n│                                                      │\n│  This agent reads SKILL.md, understands the full     │\n│  pipeline, and delegates to specialist agents.       │\n│  It is the \"director\" — it calls each agent in       │\n│  order, passes outputs between them, and handles     │\n│  errors.                                             │\n└──────────┬──────────────────────────────────────────┘\n           │ delegates to:\n           │\n    ┌──────┴──────┐\n    │             │\n    ▼             ▼\n┌────────┐  ┌────────┐  ┌────────┐  ┌────────┐  ┌────────┐\n│ Story  │→ │ Script │→ │ Visual │  │ Voice  │→ │Assembly│\n│ Agent  │  │ Agent  │  │ Agent  │  │ Agent  │  │ Agent  │\n│        │  │        │  │   ↓    │  │   ↓    │  │        │\n│ skill: │  │ skill: │  │(parallel)─(parallel)│  │ skill: │\n│story.md│  │script  │  │ skill: │  │ skill: │  │assembly│\n│        │  │  .md   │  │visual  │  │voice.md│  │  .md   │\n│        │  │        │  │  .md   │  │        │  │        │\n└────────┘  └────────┘  └────────┘  └────────┘  └────────┘\n\nHow to set this up in OpenClaw:\n\nCreate the Orchestrator Agent\n\nAttach THIS file (SKILL.md) as its skill\nThis agent needs the ability to call/invoke other agents\nIt reads the pipeline flow below and executes step by step\n\nCreate each Specialist Agent\n\nEach gets its own skill file from the agents/ folder\nStory Agent → agents/story_agent.md\nScript Agent → agents/script_agent.md\nVisual Agent → agents/visual_agent.md\nVoice Agent → agents/voice_agent.md\nAssembly Agent → agents/assembly_agent.md\n\nAttach tools to each agent\n\nStory Agent: web search (for hadith verification), file read\nScript Agent: no external tools needed (pure LLM reasoning)\nVisual Agent: image generation API (Flux/SDXL), face detection tool\nVoice Agent: ElevenLabs / OpenAI TTS API\nAssembly Agent: FFmpeg, file system access\n\nThe Orchestrator calls agents in sequence:\n\norchestrator receives: \"Make a video about Prophet Nuh\"\n  → calls Story Agent → gets story JSON\n  → calls Script Agent with story JSON → gets script JSON\n  → calls Visual Agent with script JSON → gets image paths (parallel)\n  → calls Voice Agent with script JSON → gets audio paths  (parallel)\n  → calls Assembly Agent with images + audio + script → gets final video\n\nVisual Approach: Narrator + Story Scenes\n\nEach video uses TWO types of visuals:\n\n1. Narrator Scenes (brand anchor — same across ALL videos)\n\nThe faceless man in traditional Arabic clothing. Used for:\n\nOpening shot (first 2-3 seconds) — establishes the \"host\"\nClosing shot (last 2-3 seconds) — delivers the lesson / CTA\n\nThe narrator character is your brand identity. Viewers recognize him across all your videos. He always looks the same:\n\nWhite thobe, red-checkered keffiyeh\nNEVER shows face (back shots, silhouettes, over-shoulder, hands)\nSame painterly art style, same color palette\n2. Story Scenes (UNIQUE per video)\n\nThe middle 80% of each video shows what is actually happening in the story. These are completely unique to each video.\n\nExample — Story of Prophet Nuh (Noah):\n\nBeat\tVisual\nNuh preaching\tWide shot: lone figure on raised ground addressing a crowd in ancient city, people turning away\nBuilding the ark\tClose-up: weathered hands hammering wood, massive wooden frame in background\nThe mockery\tCrowd of silhouettes laughing and pointing at the ship in the desert\nThe flood begins\tDark storm clouds, rain hammering earth, water rising rapidly\nAnimals boarding\tPairs of animal silhouettes walking toward a massive wooden ship at dawn\nThe flood\tEnormous waves, the ark riding the storm, lightning illuminating the scene\nWaters recede\tArk resting on a mountaintop, olive branch, golden light breaking through\n\nExample — Story of Prophet Yusuf (Joseph):\n\nBeat\tVisual\nThe dream\tA boy looking up at night sky with 11 stars, sun, and moon arranged in a pattern\nThe well\tDark stone well in desert, rope descending into darkness\nThe caravan\tCamels in a line crossing desert dunes, golden dust in air\nThe palace\tOrnate Egyptian palace interior, golden columns, silk drapes\nPrison\tDim stone cell, single beam of light through a high window\nThe reunion\tTwo silhouetted figures embracing in a field at sunset\nCritical Rules for Story Scenes:\nNO faces on any Prophets, Angels, or Sahaba — same faceless techniques\nStory scenes CAN show: landscapes, architecture, objects, animals, weather, hands/feet, silhouettes, wide shots where figures are tiny\nArt style must stay consistent WITHIN a single video\nStory scenes should match the emotional mood of the narration beat\nHow the Script Agent marks scene types:\n{\n  \"scenes\": [\n    {\n      \"scene_number\": 1,\n      \"scene_category\": \"narrator_opening\",\n      \"narration_text\": \"What happens when an entire world turns against one man?\",\n      \"visual_direction\": {\n        \"description\": \"Back shot of narrator on cliff overlooking vast ocean, wind in his thobe\",\n        \"character_type\": \"narrator\"\n      }\n    },\n    {\n      \"scene_number\": 2,\n      \"scene_category\": \"story\",\n      \"narration_text\": \"Prophet Nuh, alayhi as-salam, called his people to Allah for 950 years...\",\n      \"visual_direction\": {\n        \"description\": \"Ancient city. A lone silhouetted figure stands on raised ground, arms raised to the sky, addressing a crowd below. The crowd turns away. Hot dusty afternoon.\",\n        \"character_type\": \"story_figure\",\n        \"story_element\": \"Nuh preaching to his people\"\n      }\n    },\n    {\n      \"scene_number\": 9,\n      \"scene_category\": \"narrator_closing\",\n      \"narration_text\": \"And that is why patience is never wasted with Allah...\",\n      \"visual_direction\": {\n        \"description\": \"Narrator sitting on rock at sunset, calm sea, same cliff from opening but now peaceful golden light\",\n        \"character_type\": \"narrator\"\n      }\n    }\n  ]\n}\n\n\nThe Visual Agent uses DIFFERENT prompt strategies:\n\nnarrator_opening / narrator_closing → strict narrator character prompt (brand consistency)\nstory → story-specific prompt, unique imagery, faceless constraint on human figures only\nGlobal Config\n\nBefore any agent runs, this config is loaded and shared with all agents.\n\n{\n  \"brand\": {\n    \"channel_name\": \"{{CHANNEL_NAME}}\",\n    \"narrator_character\": \"A faceless man wearing traditional white thobe and red-checkered keffiyeh/shemagh. Never show face — use back shots, silhouettes, over-shoulder angles, hands close-ups, or wide shots. Dignified, contemplative, wise.\",\n    \"visual_style\": \"Cinematic, warm golden-hour lighting, painterly digital art style — NOT photorealistic, NOT cartoon. Epic film concept art quality.\",\n    \"color_palette\": [\"#C8956C\", \"#2C1810\", \"#F5E6D0\", \"#1A3A4A\", \"#D4A853\"],\n    \"aspect_ratio\": \"9:16\",\n    \"resolution\": \"1080x1920\"\n  },\n  \"content_guidelines\": {\n    \"sensitivity_rules\": [\n      \"NEVER depict faces of any Prophet, Angel, or Sahabi\",\n      \"NEVER depict faces on the narrator character\",\n      \"All human figures in story scenes must also be faceless\",\n      \"Use nasheeds or ambient sound only — no musical instruments\",\n      \"Always include proper Islamic honorifics\",\n      \"Only use Sahih or Hasan grade hadith\",\n      \"Cite Surah name and verse number for all Quran references\"\n    ]\n  },\n  \"target_languages\": [\"en\", \"ar\", \"fr\", \"ur\", \"tr\", \"id\"],\n  \"default_language\": \"en\"\n}\n\nPipeline Execution (Orchestrator Playbook)\n\nWhen the orchestrator receives a request:\n\nStep 1: Call Story Agent\nInput:  { \"topic\": \"Prophet Nuh\", \"target_duration_seconds\": 60 }\nOutput: Story JSON with sources, emotional arc, key visual moments\n\nStep 2: Call Script Agent\nInput:  Story Agent output\nOutput: Scene-by-scene script with:\n        - narration text per scene\n        - scene_category (narrator_opening / story / narrator_closing)\n        - visual directions unique to the story\n        - timing and subtitle text\n\nStep 3: Call Visual Agent + Voice Agent (PARALLEL)\nVisual: Script scenes → generates images per scene\n        (narrator prompt template for opening/closing)\n        (story-specific prompt for middle scenes)\nVoice:  Script narration → generates audio per scene + word timestamps\n\nStep 4: Call Assembly Agent\nInput:  Images + motion configs + audio + subtitle text + brand assets\nOutput: Final MP4, thumbnail, SRT file\n\nStep 5: Quality Checks (Orchestrator does this itself)\nVerify no faces in any generated image (call face detection)\nVerify audio/visual sync (check durations match)\nVerify file size under 50MB\nIf fail → retry failing agent up to 3 times\nStep 6: Output\nSave video to output directory\nLog to content calendar\nAgent Skill Files\n\nEach agent has its own detailed skill file:\n\nAgent\tSkill File\tPurpose\tTools Needed\nStory Research\tagents/story_agent.md\tFind + validate Islamic stories\tWeb search, file read\nScript Writer\tagents/script_agent.md\tStory → TikTok script with scene directions\tNone (pure LLM)\nVisual Generation\tagents/visual_agent.md\tGenerate narrator + story scene images\tImage gen API, face detection\nVoice Narration\tagents/voice_agent.md\tTTS with Arabic pronunciation\tElevenLabs/OpenAI TTS\nVideo Assembly\tagents/assembly_agent.md\tImages + audio → final video\tFFmpeg/Remotion\n\nRead each agent's skill file for full input/output JSON schemas, prompt templates, and quality gates.\n\nReferences\nFile\tPurpose\nreferences/visual_style_guide.md\tFaceless techniques, environments, lighting, Ken Burns, prompt templates\nconfig/global_config.json\tFull config template with API settings, brand, pipeline params"
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/mohamedzeidan2021/director",
    "publisherUrl": "https://clawhub.ai/mohamedzeidan2021/director",
    "owner": "mohamedzeidan2021",
    "version": "1.0.0",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/director",
    "downloadUrl": "https://openagent3.xyz/downloads/director",
    "agentUrl": "https://openagent3.xyz/skills/director/agent",
    "manifestUrl": "https://openagent3.xyz/skills/director/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/director/agent.md"
  }
}