| name | monday-drop |
| description | Run the full content pipeline end-to-end: Virlo → Content Radar → The Forge → deliver a weekly pack of ready-to-post concepts. Use when: user asks for 'monday drop', 'run the content pipeline', 'generate my weekly content', 'what should I post this week', or wants a full content briefing with forged concepts. Outputs 5-10 platform-specific content concepts with hooks, angles, and Care To Click arcs. |
| metadata | {"openclaw":{"emoji":"📦","user-invocable":true,"homepage":"https://thevibemarketer.com","requires":{"env":["VIRLO_API_KEY"]}}} |
Monday Drop
The full pipeline in one command. Virlo finds what's performing. Content Radar fuses it with community discussion. The Forge turns it into ready-to-post concepts. You get a weekly content pack delivered to Telegram.
When to use:
- Weekly content planning (every Monday morning via cron, or on-demand)
- "What should I post this week?"
- Need 5-10 content concepts fast, grounded in real performance data
How to Run
On-demand (conversational)
Just say: "run the monday drop" or "give me this week's content" or "run the pipeline"
I will:
- Pull your Virlo comet data (what's performing)
- Build the niche briefing with Content Radar
- Run Content DNA Batch on the real fetched videos
- Run The Forge on the resulting pattern report
- Deliver a structured pack of concepts
If you ask for the actual/full/real Monday Drop, do not improvise or synthesize around missing stages. Run the sequence for real and clearly report any blocked or incomplete stage instead of filling the gap with made-up output.
Manual (shell)
bash ~/clawd/skills/scripts/monday-drop.sh --delivery none
With delivery to Telegram
bash ~/clawd/skills/scripts/monday-drop.sh --delivery telegram
Cron (automatic — every Monday 8AM CT)
Already configured. Check with:
openclaw cron list
What You Get Back
A Monday Drop Pack containing:
-
Niche Briefing Summary — top 5 performing videos + 3 breakout creators from Virlo, top community discussion themes from Reddit/X
-
Content DNA Breakdowns — per outlier video, a 7-dimension analysis:
- Topic, Angle, Hook Structure, Story Structure, Visual Format, Key Visuals, Audio
- Direct video URL for each outlier
- Visual-first flags for videos that need manual 30-sec review
-
The Forge Output — 5-10 content concepts, each with:
- Hook (scroll-stopping opening)
- Puppet String (which human drive it targets)
- Content DNA (7-dimension breakdown of the concept itself)
- Care To Click arc (what each section accomplishes)
- Platform fit + format recommendation
- Source URL (direct link to inspiration)
- Visual-first flag if applicable
- Length guide
-
Quick-Pick List — the 3 highest-scoring concepts ranked by angle score, ready to hand off to a scheduler
-
Manual Review Queue — visual-first videos flagged for 30-sec review with specific diagnostic questions
Configuration
Your Content Radar config lives at:
~/clawd/workspace/content-radar/config.yaml
Edit it to update your niche, Virlo comet ID, subreddits, and X search terms.
Current config example:
niche: "AI Marketing"
virlo_comet_id: "YOUR_COMET_ID"
reddit_subreddits:
- "artificial"
- "marketing"
- "aiautomation"
x_search_terms:
- "ai marketing"
- "vibe marketing"
- "ai content creation"
Agent Execution Steps
CRITICAL: This pipeline uses shell scripts and Python scripts for each stage. DO NOT generate output manually or in-context. Run the actual scripts. They handle prompt engineering, model calls, and structured output.
When this skill is invoked, follow these steps in order:
Step 1: Pull Virlo Data (display only)
Use the Virlo CLI to show what's performing. This is for the Telegram/chat summary only.
export VIRLO_API_KEY="$(grep VIRLO_API_KEY ~/.bashrc | cut -d'"' -f2)"
COMET_ID=$(grep virlo_comet_id ~/clawd/workspace/content-radar/config.yaml | awk '{print $2}')
bash ~/clawd/skills/virlo/scripts/virlo.sh videos "$COMET_ID" --limit 10
bash ~/clawd/skills/virlo/scripts/virlo.sh outliers "$COMET_ID" --limit 5
Step 2: Get Discussion Signal (SCRIPT or manual searches)
Purpose: Find what's TIMELY in AI/growth right now (last 3-7 days). Product launches, funding rounds, trending debates, new tools. This informs the TOPIC of Forge concepts — it does NOT drive the mechanic/brick (videos do that).
Example: Perplexity launches a personal computer today → a Forge concept uses an outlier's Velocity Stacking brick to talk about the Perplexity launch. The brick comes from the video. The topic comes from the discussion signal.
Script: ~/clawd/skills/monday-drop/scripts/discussion-signal.sh
bash ~/clawd/skills/monday-drop/scripts/discussion-signal.sh "AI marketing" 7
This searches Brave for recent AI/growth news and saves a clean briefing file to:
~/clawd/workspace/content-radar/briefings/briefing-YYYY-MM-DD.md
The Forge auto-loads the latest briefing from that directory.
Alternative: Manual agent searches (when you want more control)
Run 3-5 targeted web searches using web_search tool:
"AI product launches this week"
"AI startup funding round this week"
"AI marketing tools news"
"AI agents automation trending"
"[specific thing you heard about, e.g. 'Perplexity personal computer']"
Then save results as a briefing file at the path above. The format should include:
## What's Being DISCUSSED This Week
### 🚀 Product Launches & Announcements
- **[Title]** — [1 sentence what it is]
### 💰 Funding & Market Moves
- **[Company]** raised $X for [what]
### 📈 Trends & Analysis
- **[Topic]** — [what people are saying about it]
DO NOT use content-radar.sh's last30days tool for discussion signal. It pulls garbage (random Reddit global search results). The discussion-signal.sh script or manual agent searches produce much better signal.
Step 3: Run Content DNA Batch (SCRIPT — DO NOT SKIP)
Script: ~/clawd/skills/content-dna-batch/scripts/content-dna-batch.sh
This script:
- Fetches top outlier + top performer videos from Virlo
- Runs
content-dna.sh on each video (calls ScrapeCreators + Gemini Flash 3)
- Caches results per day (re-runs skip already-analyzed videos)
- Aggregates into a Pattern Report with full 7-dimension DNA per video, portable bricks, and adapted concepts
export VIRLO_API_KEY="$(grep VIRLO_API_KEY ~/.bashrc | cut -d'"' -f2)"
bash ~/clawd/skills/content-dna-batch/scripts/content-dna-batch.sh \
--comet "$COMET_ID" \
--niche "AI marketing" \
--outliers 5 \
--top 5
Output files:
- JSON:
~/clawd/workspace/content-dna-batch/reports/pattern-report-YYYY-MM-DD.json
- Markdown:
~/clawd/workspace/content-dna-batch/reports/pattern-report-YYYY-MM-DD.md
Wait for this to complete before proceeding. The Pattern Report markdown is the primary input to The Forge.
Step 4: Run The Forge (SCRIPT — DO NOT GENERATE MANUALLY)
Script: ~/clawd/skills/the-forge/scripts/the-forge.sh
Engine: ~/clawd/skills/the-forge/scripts/forge.py (called by the shell wrapper)
This is the most important step. The forge.py script contains a massive structured prompt with:
- Puppet Strings, Scroll Traps, and Care To Click frameworks
- Anti-slop rules preventing invented specifics
- Pattern transfer model requiring concepts to start from SOURCE OUTLIER videos, not generic ideas
- Current AI landscape reference (prevents referencing outdated models)
- Hook calibration rules for spoken vs visual vs text hooks
- Brand voice integration
The forge.py output includes fields that DO NOT exist in the SKILL.md framework description:
- Hook System (visual hook + text on screen + spoken hook)
- Hook Selection (candidate angles, shock/relevance scores, hook pattern used)
- Body Copy Bridge (3 lines of actual copy after the hook)
- Trap Evidence (where each claimed Scroll Trap actually appears)
- Full Pattern Transfer Map and Story Arc Lineage
bash ~/clawd/skills/the-forge/scripts/the-forge.sh \
--input ~/clawd/workspace/content-dna-batch/reports/pattern-report-YYYY-MM-DD.md \
--count 5 \
--niche "AI marketing" \
--platform all
Arguments:
| Flag | Default | Description |
|---|
--input FILE | required | Pattern Report markdown from Step 3 |
--count N | 10 | Number of concepts to generate |
--platform | all | Target platform (x, linkedin, tiktok, instagram, all) |
--niche TEXT | auto-detected from report | Content niche |
--brand FILE | ~/clawd/workspace/brand/voice-profile.md | Brand voice file |
--briefing FILE | auto-latest from ~/clawd/workspace/content-radar/briefings/ | Discussion signal |
--voice-mode | auto | auto, personal, analysis, or brand |
The script auto-loads the latest content-radar briefing for discussion signal context.
It auto-loads the workspace brand voice file.
Output: ~/clawd/workspace/the-forge/outputs/forge-YYYY-MM-DD-HHMMSS.md
DO NOT manually write Forge concepts. The forge.py prompt is ~4,000 words of carefully tuned instructions. Manual generation will miss Hook System, Body Copy Bridge, Trap Evidence, and will likely source from discussion signal instead of outlier videos.
Before running Forge, check brand voice explicitly:
- If a client/brand voice is specified, pass it with
--brand FILE
- If the workspace default voice appears unrelated to the niche, the script will error with
--voice-mode auto. Use --voice-mode personal to override or --voice-mode analysis for generic.
- If no brand voice exists, recommend running
/brand-voice first.
Step 5: Format the Monday Drop Pack for Chat
After both scripts complete, present a summary in chat. The pattern report goes to the user directly. The Forge output goes wherever the user requests (Slack webhook, Telegram, file).
Pattern Report summary (for Telegram/chat):
- Link each video URL as a clickable hyperlink with the creator name
- Include views, outlier ratio, and top portable bricks
- Flag visual-first videos that need manual 30-second review
Forge output delivery:
- If Slack webhook is available, format as Slack Block Kit messages (see
~/clawd/workspace/forge/ for examples)
- Each concept should include: Hook System, Body Copy Bridge, Trap Evidence, Story Beats, Platform/Format, Confidence
- If delivering to Telegram, keep to Quick Pick summary (hooks + platforms) since full concepts are too long
## Monday Drop — [Date]
### 📡 What's Performing This Week (Virlo)
[Top 5 videos with views + hook angle + CLICKABLE URL]
[Top 3 creator outliers with outlier ratio + CLICKABLE URL]
### 🧬 Pattern Report Highlights
[Top portable bricks with avg views and source creator links]
[Dominant formats and engagement types]
### 💬 What People Are Talking About
[Top themes from Reddit + X — this is SECONDARY context only]
### 🔥 The Forge Output
[Link to full forge output file OR deliver via Slack webhook]
[Quick Pick: top 3 concepts with hooks and platforms]
### 👁 Manual Review Queue
[Visual-first videos with URLs and specific watch-for questions]
Step 6: Deliver
Send the formatted Monday Drop pack to the requested destination.
Slack Delivery (SCRIPT — use slack-send.py)
Script: ~/clawd/skills/monday-drop/scripts/slack-send.py
This script parses the Forge markdown output and sends each concept as a beautifully formatted Slack Block Kit message with emojis, sections, and side-by-side fields.
python3 ~/clawd/skills/monday-drop/scripts/slack-send.py \
--forge ~/clawd/workspace/the-forge/outputs/forge-YYYY-MM-DD-HHMMSS.md \
--webhook "$SLACK_WEBHOOK_URL" \
--dna-dir ~/clawd/workspace/content-dna-batch/dna-cache/YYYY-MM-DD/
Arguments:
| Flag | Required | Description |
|---|
--forge FILE | yes | Path to forge output .md file |
--webhook URL | yes | Slack incoming webhook URL |
--dna-dir DIR | no | DNA cache dir for source metadata enrichment |
--date TEXT | no | Date label for header (default: today) |
--dry-run | no | Print JSON payload instead of sending |
What it sends (per concept):
- 🔥 Header with emoji + concept title
- ⭐ Context line with shock/relevance scores, source link, views, outlier ratio
- 🧱 Source + Portable Brick
- 🎬 Hook System (👁 visual + 📝 text on screen + 🗣 spoken + 💡 why it works)
- 📝 Body Copy Bridge (numbered lines of post-hook copy)
- 🪤 Trap Evidence (where each Scroll Trap actually appears)
- 🎯 Story Beats
- 🎭 Puppet String + 📱 Format (side-by-side fields)
- ⚠️ Execution Note + 🔒 Confidence
Each concept is sent as a separate Slack message for readability, with 1s delay between sends.
Slack webhook source:
Set SLACK_WEBHOOK_URL in your environment before using Slack delivery.
Telegram Delivery
For Telegram/chat, send a condensed summary:
- Pattern report highlights with clickable video URLs
- Quick Pick (top 3 concepts with hooks and platforms)
- Link to full Forge output file
Full concepts are too long for Telegram. Use Slack for the detailed output.
File Only
Point to the output files:
- Forge:
~/clawd/workspace/the-forge/outputs/forge-YYYY-MM-DD-HHMMSS.md
- Pattern Report:
~/clawd/workspace/content-dna-batch/reports/pattern-report-YYYY-MM-DD.md
Connection to Other Skills
Scripts used (in order):
~/clawd/skills/virlo/scripts/virlo.sh — Virlo CLI for performance data
~/clawd/skills/content-dna-batch/scripts/content-dna-batch.sh — Batch DNA analysis
- Calls
~/clawd/skills/content-dna/scripts/content-dna.sh per video
- Which calls
~/clawd/skills/content-dna/scripts/analyze.py (ScrapeCreators + Gemini)
~/clawd/skills/the-forge/scripts/the-forge.sh — Concept generation
- Calls
~/clawd/skills/the-forge/scripts/forge.py (Gemini Flash 3 via OpenRouter)
- Optional:
~/clawd/skills/the-forge/scripts/forge-to-html.py for HTML output
Data files:
- Brand voice:
~/clawd/workspace/brand/voice-profile.md
- Content Radar config:
~/clawd/workspace/content-radar/config.yaml
- Content Radar briefings:
~/clawd/workspace/content-radar/briefings/briefing-YYYY-MM-DD.md
- Pattern reports:
~/clawd/workspace/content-dna-batch/reports/pattern-report-YYYY-MM-DD.md
- Forge outputs:
~/clawd/workspace/the-forge/outputs/forge-YYYY-MM-DD-HHMMSS.md
- DNA cache:
~/clawd/workspace/content-dna-batch/dna-cache/YYYY-MM-DD/
Sends to:
postiz — schedule the concepts
addictive-content — final quality pass before scheduling
- Slack webhook — full Forge output as Block Kit messages
Notes
- Virlo comet
7db14271 ("AI Marketing Content") runs daily at 11PM CT. Fresh data available each morning.
- If Virlo has no data yet (new comet), the skill will note it and run with discussion signal only.
- Brand voice is optional but recommended. Run
/brand-voice to build yours first.
- Content DNA Batch caches results per day. Re-running on the same day skips already-analyzed videos.
- Content DNA Batch can complete in a degraded state. Monday Drop should surface that explicitly instead of pretending it was clean.
- If the batch drops below its minimum success threshold, stop before Forge so you do not generate concepts from weak input.
- The Forge auto-loads the latest content-radar briefing for discussion signal.
- Never generate Forge output manually. Always run
the-forge.sh. The forge.py prompt is the product.
Common Mistakes (for agents)
- Generating Forge output in-context instead of running forge.py — This produces thinner output missing Hook System, Body Copy Bridge, and Trap Evidence. It also sources from discussion signal instead of outlier videos.
- Sourcing concepts from Reddit/web search instead of Virlo videos — The Forge prompt explicitly says "Start from the SOURCE OUTLIER, not from generic idea generation." Discussion signal is secondary validation only.
- Skipping content-dna-batch.sh — The Pattern Report is the primary input to The Forge. Without it, concepts have no video-sourced bricks to transfer.
- Not checking for scripts before executing a skill — Always run
ls ~/clawd/skills/[skill-name]/scripts/ to see what automation exists. If a .sh or .py file exists, USE IT.