system-prompts-and-models-o.../salesflow-saas/backend/scripts/generate_daily_growth_pack.py
Claude 7594abdc98
feat: Full Ops Market Penetration System — 12 files
Complete growth operating system across 5 channels:
- FULL_OPS_GROWTH_MAX.md: 8-layer growth system
- PLATFORM_PLAYBOOK_LINKEDIN.md: 30 posts + 20 DMs + safety
- PLATFORM_PLAYBOOK_X.md: 30 tweets + 10 threads
- PLATFORM_PLAYBOOK_INSTAGRAM.md: 15 carousels + 15 reels
- PLATFORM_PLAYBOOK_WHATSAPP.md: templates + safety + stop conditions
- EMAIL_OUTREACH_SYSTEM.md: 5 sector sequences
- PARTNER_AGENCY_ACQUISITION.md: 3 models + 10 targets
- CONTENT_CALENDAR_30_DAYS.md: daily content across all platforms
- SAFE_OUTBOUND_POLICY.md: compliance + approval gates
- FIRST_20_TARGETS.md: scoring + tracking
- DAILY_REVENUE_SCORECARD.md: daily/weekly/monthly metrics
- generate_daily_growth_pack.py: dry-run daily pack generator

https://claude.ai/code/session_01W1rJthWDkasijTdXCfxVHs
2026-04-26 03:11:18 +00:00

192 lines
7.5 KiB
Python

#!/usr/bin/env python3
"""
Dealix — Daily Growth Pack Generator
Generates today's outreach targets, messages, content ideas, and follow-ups.
DRY-RUN ONLY — does NOT send any messages automatically.
"""
import json, os, sys
from datetime import datetime, timedelta
API_BASE = os.getenv("DEALIX_API", "https://api.dealix.me")
SECTORS = [
{"id": "real_estate", "name": "عقارات", "pain": "استفسارات أسعار ومواقع ضائعة"},
{"id": "agency", "name": "وكالة تسويق", "pain": "عملاء يخسرون leads بعد الإعلان"},
{"id": "saas", "name": "SaaS", "pain": "leads من الموقع تبرد"},
{"id": "clinic", "name": "عيادة/خدمات", "pain": "حجوزات ضائعة من واتساب"},
{"id": "ecommerce", "name": "متجر إلكتروني", "pain": "استفسارات واتساب ما تُتابع"},
{"id": "construction", "name": "مقاولات", "pain": "طلبات أسعار بدون متابعة"},
]
LINKEDIN_HOOKS = [
"60% من استفسارات العملاء في السعودية ما تُتابع خلال أول ساعة.",
"تكلفة SDR: 8,000 ريال/شهر. Dealix: 990 ريال. 24/7. بالعربي.",
"Harvard: الرد خلال 5 دقائق = 21x أعلى تحويل.",
"سألت 20 مدير مبيعات: أكبر مشكلة = ما عندهم وقت يردون.",
"الوكالات الذكية ما تبيع إعلانات بس — تبيع نتائج.",
]
X_HOOKS = [
"كل يوم شركات سعودية تخسر عملاء بسبب شي بسيط: بطء الرد.",
"مو AI يستبدل البشر. AI يرد الساعة 2 بالليل.",
"CRM يسجّل بعد المحادثة. بس مين يبدأ المحادثة؟",
"Pilot: 499 ريال. 7 أيام. ضمان استرداد. لأننا نثق بالمنتج.",
"بنيت Dealix بالعربي أولاً. مو ترجمة. مبني من الصفر.",
]
def generate_daily_pack():
today = datetime.now()
day_num = today.day % len(SECTORS)
pack = {
"date": today.strftime("%Y-%m-%d"),
"day_of_week": ["الاثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت","الأحد"][today.weekday()],
"targets": [],
"messages": [],
"content": {},
"followups_due": [],
"partner_target": None,
"scorecard": {},
}
# 10 targets for today (rotate sectors)
for i in range(10):
sector = SECTORS[(day_num + i) % len(SECTORS)]
pack["targets"].append({
"slot": i + 1,
"sector": sector["name"],
"pain": sector["pain"],
"channel": "email" if i < 5 else "whatsapp",
"company": f"[{sector['name']}_{i+1}]",
"status": "draft",
"action": "Sami: fill real company name and send",
})
# 10 message drafts
for i, t in enumerate(pack["targets"]):
pack["messages"].append({
"slot": i + 1,
"to": t["company"],
"channel": t["channel"],
"type": "sector_outreach" if i < 5 else "warm_intro",
"subject": f"فريق {t['company']} — فرصة توفير في {t['sector']}",
"preview": f"السلام عليكم. تواصلت لأن {t['pain']}. Dealix يحل هالمشكلة...",
"status": "DRAFT — requires Sami approval before sending",
})
# Content for today
li_idx = today.day % len(LINKEDIN_HOOKS)
x_idx = today.day % len(X_HOOKS)
pack["content"] = {
"linkedin_post": {
"hook": LINKEDIN_HOOKS[li_idx],
"action": "Sami: copy, personalize, post on LinkedIn",
},
"x_tweet": {
"hook": X_HOOKS[x_idx],
"action": "Sami: copy, personalize, post on X",
},
"instagram": {
"type": ["story", "carousel", "reel"][today.day % 3],
"topic": f"اليوم: {SECTORS[day_num]['pain']}",
"action": "Sami: create and post",
},
"whatsapp_status": {
"text": f"Dealix يرد على عملائك خلال 45 ثانية 🚀 جرّب: 499 ريال",
"action": "Sami: update WhatsApp status",
},
}
# Partner target of the day
pack["partner_target"] = {
"type": "وكالة تسويق",
"hook": "خدمة lead follow-up تبيعونها لعملائكم — 20% لكم",
"channel": "LinkedIn DM" if today.day % 2 == 0 else "Email",
"action": "Sami: find real agency and send partner pitch",
}
# Scorecard template
pack["scorecard"] = {
"messages_sent": {"target": 10, "actual": 0},
"replies": {"target": "-", "actual": 0},
"demos_booked": {"target": "-", "actual": 0},
"followups_sent": {"target": 5, "actual": 0},
"linkedin_post": {"target": 1, "actual": 0},
"x_post": {"target": 1, "actual": 0},
"instagram": {"target": 1, "actual": 0},
"partner_conversation": {"target": 1, "actual": 0},
}
return pack
def main():
pack = generate_daily_pack()
print("=" * 60)
print(f"📋 DEALIX DAILY GROWTH PACK — {pack['date']} ({pack['day_of_week']})")
print("=" * 60)
print(f"\n⚠️ DRY-RUN MODE — لا يرسل رسائل تلقائياً\n")
print("" * 40)
print("🎯 أهداف اليوم (10)")
print("" * 40)
for t in pack["targets"]:
print(f" {t['slot']:2d}. [{t['channel']:8s}] {t['company']:25s} | {t['pain']}")
print(f"\n{'' * 40}")
print("📝 رسائل جاهزة (10 drafts)")
print("" * 40)
for m in pack["messages"]:
print(f" {m['slot']:2d}. {m['to']:25s} | {m['subject'][:50]}...")
print(f" Status: {m['status']}")
print(f"\n{'' * 40}")
print("📢 محتوى اليوم")
print("" * 40)
c = pack["content"]
print(f" LinkedIn: {c['linkedin_post']['hook'][:60]}...")
print(f" X/Tweet: {c['x_tweet']['hook'][:60]}...")
print(f" Instagram: {c['instagram']['type']}{c['instagram']['topic']}")
print(f" WhatsApp Status: {c['whatsapp_status']['text']}")
print(f"\n{'' * 40}")
print("🤝 شريك اليوم")
print("" * 40)
p = pack["partner_target"]
print(f" النوع: {p['type']}")
print(f" Hook: {p['hook']}")
print(f" القناة: {p['channel']}")
print(f"\n{'' * 40}")
print("📊 Scorecard")
print("" * 40)
for k, v in pack["scorecard"].items():
print(f" {k:25s} | هدف: {v['target']:>3} | فعلي: {v['actual']}")
print(f"\n{'' * 40}")
print("⚡ Sami Actions المطلوبة:")
print("" * 40)
print(" 1. استبدل [placeholders] بأسماء شركات حقيقية")
print(" 2. انشر LinkedIn post")
print(" 3. انشر X tweet")
print(" 4. أرسل 10 رسائل يدوياً")
print(" 5. أرسل 5 follow-ups")
print(" 6. تواصل مع وكالة/شريك واحد")
print(" 7. حدّث WhatsApp Status")
print(" 8. سجّل الأرقام في scorecard")
print(f"\n{'=' * 60}")
print("📌 القاعدة: يوم فيه أقل من 10 رسائل = يوم ضائع")
print("=" * 60)
# Save JSON for programmatic use
out_file = f"/tmp/dealix_daily_pack_{pack['date']}.json"
with open(out_file, "w", encoding="utf-8") as f:
json.dump(pack, f, ensure_ascii=False, indent=2)
print(f"\n💾 JSON saved: {out_file}")
if __name__ == "__main__":
main()