للمستقلين والمستشارين والمؤسسين وفرق المبيعات التي تحتاج إيميلات تواصل أولي مختصرة وموثوقة. ينشئ البرومبت رسالة كاملة بموضوع، افتتاحية طبيعية، صياغة قيمة، ودعوة إجراء سهلة، مع أسلوب يرفع احتمال الرد بعيدًا عن البيع الضاغط.
أنت مختص في استراتيجيات التواصل البيعي الخارجي، وتكتب إيميلات تواصل أولي قصيرة تزيد احتمال الرد من غير ما تبدو ضاغطة أو كأنها قالب جاهز. اكتب إيميل تواصل أولي واحد باستخدام المعلومات التالية: دور المستلم: recipient_role العرض: offer مشكلة العمل: business_problem دليل المصداقية: credibility_signal الإجراء المطلوب: desired_action المتطلبات: - ابدأ بسطر موضوع لا يتجاوز 7 كلمات - اجعل الإيميل بين 70–120 كلمة - استخدم لغة عمل طبيعية - تجنب المبالغة، التهويل، والعبارات التسويقية المستهلكة - لا تستخدم افتتاحيات حشو مثل: "أتمنى أنك بخير" "أتابع معك فقط" "حبيت أتواصل معك" - اربط العرض مباشرة بمشكلة العمل - اذكر دليل مصداقية واحدًا بطريقة طبيعية ومقنعة - اختم بطلب بسيط وواضح بدون ضغط - اجعل الإيميل كأنه مكتوب من شخص حقيقي، وليس من أداة أتمتة تنسيق المخرجات: الموضوع: subject_line email_body
تقدّم هذه المهارة منهجية وأفضل ممارسات للبحث عن العملاء المحتملين وفهم فرص المبيعات، من تحليل الشركات وجهات التواصل إلى رصد إشارات الشراء القابلة للتنفيذ.
---
name: sales-research
description: تقدّم هذه المهارة منهجية وأفضل ممارسات للبحث عن العملاء المحتملين وفهم فرص المبيعات، من تحليل الشركات وجهات التواصل إلى رصد إشارات الشراء القابلة للتنفيذ.
---
# بحث فرص المبيعات والعملاء المحتملين
## نظرة عامة
تقدّم هذه المهارة منهجية وأفضل ممارسات للبحث عن العملاء المحتملين في المبيعات. تغطي بحث الشركات، وبناء ملفات مختصرة لجهات التواصل، ورصد الإشارات التي تكشف معلومات عملية قابلة للتنفيذ.
## الاستخدام
يعتمد الوكيلان الفرعيان company-researcher وcontact-researcher على هذه المهارة عند:
- البحث عن عملاء محتملين جدد
- العثور على معلومات عن الشركات
- بناء ملفات مختصرة لجهات التواصل المستهدفة
- رصد إشارات الشراء
## منهجية البحث
### قائمة تدقيق بحث الشركة
1. **الملف الأساسي**
- اسم الشركة، القطاع، الحجم (عدد الموظفين، الإيرادات)
- المقر الرئيسي والمواقع المهمة
- تاريخ التأسيس ومرحلة النمو
2. **آخر المستجدات**
- إعلانات التمويل خلال آخر 12 شهرًا
- أنشطة الاستحواذ أو الاندماج
- تغييرات في القيادات
- إطلاق منتجات جديدة
3. **البنية التقنية**
- التقنيات المعروفة (BuiltWith، StackShare)
- إعلانات الوظائف التي تذكر أدوات محددة
- شراكات التكامل والربط
4. **الإشارات**
- إعلانات التوظيف (التوسع = فرصة)
- مراجعات Glassdoor (نقاط الألم)
- الظهور في الأخبار (سياق مهم)
- النشاط في منصات التواصل
### قائمة تدقيق بحث جهة التواصل
1. **الخلفية المهنية**
- المنصب الحالي ومدة شغله
- الشركات والمناصب السابقة
- التعليم
2. **مؤشرات التأثير**
- الهيكل الإداري والجهة التي يرفع لها
- صلاحية اتخاذ القرار
- امتلاك الميزانية أو التأثير عليها
3. **مداخل التفاعل**
- منشورات لينكدإن الأخيرة
- مقالات منشورة
- مشاركات كمتحدث في فعاليات
- معارف مشتركة
## الموارد
- `resources/signal-indicators.md` - تصنيف إشارات الشراء
- `resources/research-checklist.md` - قائمة تدقيق بحث شاملة
## السكربتات
- `scripts/company-enricher.py` - تجميع بيانات الشركة من عدة مصادر
- `scripts/linkedin-parser.py` - تنظيم بيانات ملف لينكدإن
FILE:company-enricher.py
#!/usr/bin/env python3
'''
company-enricher.py - تجميع بيانات الشركة من عدة مصادر
المدخلات:
- company_name: string
- domain: string (اختياري)
المخرجات:
- profile:
name: string
industry: string
size: string
funding: string
tech_stack: [string]
recent_news: [news items]
المتطلبات:
- requests, beautifulsoup4
'''
# المتطلبات: requests, beautifulsoup4
import json
from typing import Any
from dataclasses import dataclass, asdict
from datetime import datetime
@dataclass
class NewsItem:
title: str
date: str
source: str
url: str
summary: str
@dataclass
class CompanyProfile:
name: str
domain: str
industry: str
size: str
location: str
founded: str
funding: str
tech_stack: list[str]
recent_news: list[dict]
competitors: list[str]
description: str
def search_company_info(company_name: str, domain: str = None) -> dict:
'''
البحث عن المعلومات الأساسية للشركة.
في بيئة الإنتاج، سيستدعي السكربت واجهات مثل Clearbit وCrunchbase وغيرها.
'''
# TODO: تنفيذ استدعاءات API الفعلية
# بنية إرجاع مؤقتة
normalized_name = company_name.lower().replace(' ', '')
return {
'name': company_name,
'domain': domain or f'{normalized_name}.com',
'industry': 'تقنية',
'size': 'غير معروف',
'location': 'غير معروف',
'founded': 'غير معروف',
'description': f'معلومات عن {company_name}'
}
def search_funding_info(company_name: str) -> dict:
'''
البحث عن معلومات التمويل.
في بيئة الإنتاج، سيستدعي السكربت Crunchbase أو PitchBook وغيرها.
'''
# TODO: تنفيذ استدعاءات API الفعلية
return {
'total_funding': 'غير معروف',
'last_round': 'غير معروف',
'last_round_date': 'غير معروف',
'investors': []
}
def search_tech_stack(domain: str) -> list[str]:
'''
اكتشاف البنية التقنية المستخدمة.
في بيئة الإنتاج، سيستدعي السكربت BuiltWith أو Wappalyzer وغيرها.
'''
# TODO: تنفيذ استدعاءات API الفعلية
return []
def search_recent_news(company_name: str, days: int = 90) -> list[dict]:
'''
البحث عن آخر الأخبار المتعلقة بالشركة.
في بيئة الإنتاج، سيستدعي السكربت واجهات الأخبار.
'''
# TODO: تنفيذ استدعاءات API الفعلية
return []
def main(
company_name: str,
domain: str = None
) -> dict[str, Any]:
'''
تجميع بيانات الشركة من عدة مصادر.
Args:
company_name: اسم الشركة المراد بحثها
domain: نطاق الشركة (اختياري، ويمكن استنتاجه)
Returns:
dict يحتوي على ملف الشركة، بما في ذلك القطاع والحجم والتمويل والبنية التقنية والأخبار
'''
# الحصول على معلومات الشركة الأساسية
basic_info = search_company_info(company_name, domain)
# الحصول على معلومات التمويل
funding_info = search_funding_info(company_name)
# اكتشاف البنية التقنية
company_domain = basic_info.get('domain', domain)
tech_stack = search_tech_stack(company_domain) if company_domain else []
# الحصول على آخر الأخبار
news = search_recent_news(company_name)
# تجميع الملف
profile = CompanyProfile(
name=basic_info['name'],
domain=basic_info['domain'],
industry=basic_info['industry'],
size=basic_info['size'],
location=basic_info['location'],
founded=basic_info['founded'],
funding=funding_info.get('total_funding', 'غير معروف'),
tech_stack=tech_stack,
recent_news=news,
competitors=[], # سيتم إثراؤها من تحليل القطاع والمنافسين
description=basic_info['description']
)
return {
'profile': asdict(profile),
'funding_details': funding_info,
'enriched_at': datetime.now().isoformat(),
'sources_checked': ['company_info', 'funding', 'tech_stack', 'news']
}
if __name__ == '__main__':
import sys
# مثال استخدام
result = main(
company_name='Riyadh Data Systems',
domain='riyadhdata.sa'
)
print(json.dumps(result, indent=2, ensure_ascii=False))
FILE:linkedin-parser.py
#!/usr/bin/env python3
'''
linkedin-parser.py - تنظيم بيانات ملف لينكدإن
المدخلات:
- profile_url: string
- أو name + company: strings
المخرجات:
- contact:
name: string
title: string
tenure: string
previous_roles: [role objects]
mutual_connections: [string]
recent_activity: [post summaries]
المتطلبات:
- requests
'''
# المتطلبات: requests
import json
from typing import Any
from dataclasses import dataclass, asdict
from datetime import datetime
@dataclass
class PreviousRole:
title: str
company: str
duration: str
description: str
@dataclass
class RecentPost:
date: str
content_preview: str
engagement: int
topic: str
@dataclass
class ContactProfile:
name: str
title: str
company: str
location: str
tenure: str
previous_roles: list[dict]
education: list[str]
mutual_connections: list[str]
recent_activity: list[dict]
profile_url: str
headline: str
def search_linkedin_profile(name: str = None, company: str = None, profile_url: str = None) -> dict:
'''
البحث عن معلومات ملف لينكدإن.
في بيئة الإنتاج، يمكن استخدام LinkedIn API أو Sales Navigator.
'''
# TODO: تنفيذ تكامل LinkedIn API الفعلي
# ملاحظة: واجهة LinkedIn لديها شروط استخدام صارمة
return {
'found': False,
'name': name or 'غير معروف',
'title': 'غير معروف',
'company': company or 'غير معروف',
'location': 'غير معروف',
'headline': '',
'tenure': 'غير معروف',
'profile_url': profile_url or ''
}
def get_career_history(profile_data: dict) -> list[dict]:
'''
استخراج التاريخ المهني من الملف.
'''
# TODO: تنفيذ استخراج المسار المهني
return []
def get_mutual_connections(profile_data: dict, user_network: list = None) -> list[str]:
'''
العثور على المعارف المشتركة.
'''
# TODO: تنفيذ رصد المعارف المشتركة
return []
def get_recent_activity(profile_data: dict, days: int = 30) -> list[dict]:
'''
جلب المنشورات والأنشطة الأخيرة.
'''
# TODO: تنفيذ استخراج النشاط
return []
def main(
name: str = None,
company: str = None,
profile_url: str = None
) -> dict[str, Any]:
'''
تنظيم بيانات ملف لينكدإن لاستخدامها في التحضير البيعي.
Args:
name: اسم الشخص
company: الشركة التي يعمل فيها
profile_url: رابط مباشر لملف لينكدإن
Returns:
dict يحتوي على ملف منظم لجهة التواصل
'''
if not profile_url and not (name and company):
return {'error': 'زوّد إما profile_url أو name + company'}
# البحث عن الملف
profile_data = search_linkedin_profile(
name=name,
company=company,
profile_url=profile_url
)
if not profile_data.get('found'):
return {
'found': False,
'name': name or 'غير معروف',
'company': company or 'غير معروف',
'message': 'لم يتم العثور على الملف أو أن الوصول إليه محدود',
'suggestions': [
'جرّب البحث مباشرة في لينكدإن',
'تحقق من احتمالات كتابة الاسم بأكثر من طريقة',
'تأكد أن الشخص ما زال يعمل في هذه الشركة'
]
}
# استخراج التاريخ المهني
previous_roles = get_career_history(profile_data)
# العثور على المعارف المشتركة
mutual_connections = get_mutual_connections(profile_data)
# جلب الأنشطة الأخيرة
recent_activity = get_recent_activity(profile_data)
# تجميع ملف جهة التواصل
contact = ContactProfile(
name=profile_data['name'],
title=profile_data['title'],
company=profile_data['company'],
location=profile_data['location'],
tenure=profile_data['tenure'],
previous_roles=previous_roles,
education=[], # سيتم استخراجها من الملف
mutual_connections=mutual_connections,
recent_activity=recent_activity,
profile_url=profile_data['profile_url'],
headline=profile_data['headline']
)
return {
'found': True,
'contact': asdict(contact),
'research_date': datetime.now().isoformat(),
'data_completeness': calculate_completeness(contact)
}
def calculate_completeness(contact: ContactProfile) -> dict:
'''حساب مدى اكتمال بيانات الملف.'''
fields = {
'basic_info': bool(contact.name and contact.title and contact.company),
'career_history': len(contact.previous_roles) > 0,
'mutual_connections': len(contact.mutual_connections) > 0,
'recent_activity': len(contact.recent_activity) > 0,
'education': len(contact.education) > 0
}
complete_count = sum(fields.values())
return {
'fields': fields,
'score': f'{complete_count}/{len(fields)}',
'percentage': int((complete_count / len(fields)) * 100)
}
if __name__ == '__main__':
import sys
# مثال استخدام
result = main(
name='سارة القحطاني',
company='Riyadh Data Systems'
)
print(json.dumps(result, indent=2, ensure_ascii=False))
FILE:priority-scorer.py
#!/usr/bin/env python3
'''
priority-scorer.py - حساب وترتيب أولويات العملاء المحتملين
المدخلات:
- prospects: [prospect objects with signals]
- weights: {deal_size, timing, warmth, signals}
المخرجات:
- ranked: [prospects with scores and reasoning]
المتطلبات:
- لا يوجد - بايثون فقط
'''
import json
from typing import Any
from dataclasses import dataclass
# الأوزان الافتراضية للتقييم
DEFAULT_WEIGHTS = {
'deal_size': 0.25,
'timing': 0.30,
'warmth': 0.20,
'signals': 0.25
}
# خريطة درجات الإشارات
SIGNAL_SCORES = {
# إشارات نية عالية
'recent_funding': 10,
'leadership_change': 8,
'job_postings_relevant': 9,
'expansion_news': 7,
'competitor_mention': 6,
# إشارات نية متوسطة
'general_hiring': 4,
'industry_event': 3,
'content_engagement': 3,
# إشارات علاقة
'mutual_connection': 5,
'previous_contact': 6,
'referred_lead': 8,
# إشارات سلبية
'recent_layoffs': -3,
'budget_freeze_mentioned': -5,
'competitor_selected': -7,
}
@dataclass
class ScoredProspect:
company: str
contact: str
call_time: str
raw_score: float
normalized_score: int
priority_rank: int
score_breakdown: dict
reasoning: str
is_followup: bool
def score_deal_size(prospect: dict) -> tuple[float, str]:
'''التقييم بناءً على حجم الصفقة المتوقع.'''
size_indicators = prospect.get('size_indicators', {})
employee_count = size_indicators.get('employees', 0)
revenue_estimate = size_indicators.get('revenue', 0)
# تقييم بسيط بناءً على حجم الشركة
if employee_count > 1000 or revenue_estimate > 100_000_000:
return 10.0, 'فرصة على مستوى الشركات الكبرى'
elif employee_count > 200 or revenue_estimate > 20_000_000:
return 7.0, 'فرصة لسوق الشركات المتوسطة'
elif employee_count > 50:
return 5.0, 'فرصة للمنشآت الصغيرة والمتوسطة'
else:
return 3.0, 'منشأة صغيرة'
def score_timing(prospect: dict) -> tuple[float, str]:
'''التقييم بناءً على إشارات التوقيت.'''
timing_signals = prospect.get('timing_signals', [])
score = 5.0 # الدرجة الأساسية
reasons = []
for signal in timing_signals:
if signal == 'budget_cycle_q4':
score += 3
reasons.append('تخطيط ميزانية الربع الرابع')
elif signal == 'contract_expiring':
score += 4
reasons.append('العقد يقترب من الانتهاء')
elif signal == 'active_evaluation':
score += 5
reasons.append('يوجد تقييم نشط للحلول')
elif signal == 'just_funded':
score += 3
reasons.append('حصلت الشركة على تمويل مؤخرًا')
return min(score, 10.0), '; '.join(reasons) if reasons else 'توقيت عادي'
def score_warmth(prospect: dict) -> tuple[float, str]:
'''التقييم بناءً على دفء العلاقة.'''
relationship = prospect.get('relationship', {})
if relationship.get('is_followup'):
last_outcome = relationship.get('last_outcome', 'neutral')
if last_outcome == 'positive':
return 9.0, 'متابعة دافئة (آخر تواصل كان إيجابيًا)'
elif last_outcome == 'neutral':
return 7.0, 'متابعة (آخر تواصل كان محايدًا)'
else:
return 5.0, 'متابعة تحتاج إعادة تنشيط العلاقة'
if relationship.get('referred'):
return 8.0, 'عميل محتمل عن طريق إحالة'
mutual_count = relationship.get('mutual_connections', 0)
if mutual_count > 0:
return 6.0, f'{mutual_count} معارف مشتركة'
if relationship.get('inbound'):
return 7.0, 'اهتمام وارد من العميل'
return 4.0, 'تواصل بارد'
def score_signals(prospect: dict) -> tuple[float, str]:
'''التقييم بناءً على إشارات الشراء المرصودة.'''
signals = prospect.get('signals', [])
total_score = 0
signal_reasons = []
for signal in signals:
signal_score = SIGNAL_SCORES.get(signal, 0)
total_score += signal_score
if signal_score > 0:
signal_reasons.append(signal.replace('_', ' '))
# التطبيع إلى نطاق 0-10
normalized = min(max(total_score / 2, 0), 10)
joined_signals = ', '.join(signal_reasons)
reason = f'الإشارات: {joined_signals}' if signal_reasons else 'لا توجد إشارات قوية'
return normalized, reason
def calculate_priority_score(
prospect: dict,
weights: dict = None
) -> ScoredProspect:
'''حساب درجة الأولوية الإجمالية لعميل محتمل.'''
weights = weights or DEFAULT_WEIGHTS
# حساب درجات المكونات
deal_score, deal_reason = score_deal_size(prospect)
timing_score, timing_reason = score_timing(prospect)
warmth_score, warmth_reason = score_warmth(prospect)
signal_score, signal_reason = score_signals(prospect)
# الإجمالي الموزون
raw_score = (
deal_score * weights['deal_size'] +
timing_score * weights['timing'] +
warmth_score * weights['warmth'] +
signal_score * weights['signals']
)
# تجميع أسباب التقييم
reasons = []
if timing_score >= 8:
reasons.append(timing_reason)
if signal_score >= 7:
reasons.append(signal_reason)
if warmth_score >= 7:
reasons.append(warmth_reason)
if deal_score >= 8:
reasons.append(deal_reason)
return ScoredProspect(
company=prospect.get('company', 'غير معروف'),
contact=prospect.get('contact', 'غير معروف'),
call_time=prospect.get('call_time', 'غير معروف'),
raw_score=round(raw_score, 2),
normalized_score=int(raw_score * 10),
priority_rank=0, # سيتم تحديدها بعد الفرز
score_breakdown={
'deal_size': {'score': deal_score, 'reason': deal_reason},
'timing': {'score': timing_score, 'reason': timing_reason},
'warmth': {'score': warmth_score, 'reason': warmth_reason},
'signals': {'score': signal_score, 'reason': signal_reason}
},
reasoning='; '.join(reasons) if reasons else 'أولوية عادية',
is_followup=prospect.get('relationship', {}).get('is_followup', False)
)
def main(
prospects: list[dict],
weights: dict = None
) -> dict[str, Any]:
'''
حساب وترتيب أولويات العملاء المحتملين.
Args:
prospects: قائمة عملاء محتملين تحتوي على الإشارات
weights: أوزان اختيارية مخصصة لمكونات التقييم
Returns:
dict يحتوي على العملاء المرتبين وتفاصيل التقييم
'''
weights = weights or DEFAULT_WEIGHTS
# تقييم جميع العملاء المحتملين
scored = [calculate_priority_score(p, weights) for p in prospects]
# الفرز حسب الدرجة الخام تنازليًا
scored.sort(key=lambda x: x.raw_score, reverse=True)
# تعيين الترتيب
for i, prospect in enumerate(scored, 1):
prospect.priority_rank = i
# التحويل إلى dicts لتسهيل JSON serialization
ranked = []
for s in scored:
ranked.append({
'company': s.company,
'contact': s.contact,
'call_time': s.call_time,
'priority_rank': s.priority_rank,
'score': s.normalized_score,
'reasoning': s.reasoning,
'is_followup': s.is_followup,
'breakdown': s.score_breakdown
})
return {
'ranked': ranked,
'weights_used': weights,
'total_prospects': len(prospects)
}
if __name__ == '__main__':
import sys
# مثال استخدام
example_prospects = [
{
'company': 'Riyadh Data Systems',
'contact': 'سارة القحطاني',
'call_time': '2م',
'size_indicators': {'employees': 200, 'revenue': 25_000_000},
'timing_signals': ['just_funded', 'active_evaluation'],
'signals': ['recent_funding', 'job_postings_relevant'],
'relationship': {'is_followup': False, 'mutual_connections': 2}
},
{
'company': 'مصانع الخليج المتقدمة',
'contact': 'فهد الحربي',
'call_time': '10ص',
'size_indicators': {'employees': 500},
'timing_signals': ['contract_expiring'],
'signals': [],
'relationship': {'is_followup': True, 'last_outcome': 'neutral'}
},
{
'company': 'الأولى للتمويل',
'contact': 'نورة التميمي',
'call_time': '4م',
'size_indicators': {'employees': 300},
'timing_signals': [],
'signals': [],
'relationship': {'is_followup': False}
}
]
result = main(prospects=example_prospects)
print(json.dumps(result, indent=2, ensure_ascii=False))
FILE:research-checklist.md
# قائمة تدقيق بحث العملاء المحتملين
## بحث الشركة
### المعلومات الأساسية
- [ ] اسم الشركة (التحقق من كتابته بشكل صحيح)
- [ ] القطاع/المجال
- [ ] موقع المقر الرئيسي
- [ ] عدد الموظفين (لينكدإن، الموقع الإلكتروني)
- [ ] تقدير الإيرادات (إن توفر)
- [ ] تاريخ التأسيس
- [ ] مرحلة التمويل وتاريخه
### آخر الأخبار (آخر 90 يومًا)
- [ ] إعلانات التمويل
- [ ] الاستحواذات أو الاندماجات
- [ ] تغييرات في القيادات
- [ ] إطلاق منتجات
- [ ] الفوز بعملاء كبار
- [ ] الظهور الإعلامي
- [ ] أخبار الأرباح أو النتائج المالية
### الحضور الرقمي
- [ ] مراجعة الموقع الإلكتروني
- [ ] موضوعات المدونة أو المحتوى
- [ ] الحضور في منصات التواصل
- [ ] إعلانات الوظائف (صفحة الوظائف + لينكدإن)
- [ ] البنية التقنية (BuiltWith، إعلانات الوظائف)
### المشهد التنافسي
- [ ] المنافسون المعروفون
- [ ] موقع الشركة في السوق
- [ ] نقاط التميز التي تذكرها الشركة
- [ ] تحركات تنافسية حديثة
### مؤشرات نقاط الألم
- [ ] مراجعات Glassdoor (الموضوعات المتكررة)
- [ ] مراجعات G2/Capterra (لشركات B2B عند توفرها)
- [ ] شكاوى منصات التواصل
- [ ] أنماط إعلانات الوظائف
## بحث جهة التواصل
### الملف المهني
- [ ] المسمى الوظيفي الحالي
- [ ] مدة شغل المنصب
- [ ] مدة العمل في الشركة
- [ ] الشركات السابقة
- [ ] المناصب السابقة
- [ ] التعليم
### صلاحية القرار
- [ ] يرفع لمن؟
- [ ] حجم الفريق (إذا كان مديرًا)
- [ ] صلاحية الميزانية (استنتاجًا)
- [ ] تاريخ المشاركة في قرارات الشراء
### مداخل التفاعل
- [ ] منشورات لينكدإن الأخيرة
- [ ] مقالات منشورة
- [ ] ظهور في بودكاست
- [ ] مشاركات في مؤتمرات أو ملتقيات
- [ ] معارف مشتركة
- [ ] اهتمامات أو مجموعات مشتركة
### أسلوب التواصل
- [ ] نبرة المنشورات (رسمية/عفوية)
- [ ] الموضوعات التي يتفاعل معها
- [ ] أنماط الاستجابة
## فحص CRM (إن توفر)
- [ ] أي نقاط تواصل سابقة
- [ ] فرص سابقة
- [ ] جهات تواصل أخرى مرتبطة بالشركة
- [ ] ملاحظات من الزملاء
- [ ] تاريخ التفاعل مع البريد الإلكتروني
## عمق البحث حسب الوقت المتاح
| الوقت المتاح | عمق البحث |
|----------------|----------------|
| 5 دقائق | أساسيات الشركة + مسمى جهة التواصل فقط |
| 15 دقيقة | + آخر الأخبار + ملف لينكدإن |
| 30 دقيقة | + إشارات نقاط الألم + مداخل التفاعل |
| 60 دقيقة | قائمة التدقيق كاملة + تحليل تنافسي |
FILE:signal-indicators.md
# مرجع مؤشرات الإشارات
## إشارات نية عالية
### إعلانات الوظائف
- **3 وظائف مرتبطة أو أكثر منشورة** = مبادرة نشطة وميزانية مرصودة
- **تعيين قيادي في مجالك** = أولوية استراتيجية
- **لغة استعجال مثل ASAP أو فوري** = الألم واضح وعاجل
- **ذكر أداة محددة** = وعي بمنافس أو بفئة الحلول
### أحداث مالية
- **تمويل Series B أو أعلى** = رأس مال للنمو وقدرة شرائية
- **الاستعداد للطرح العام** = الحاجة إلى نضج تشغيلي أعلى
- **إعلان استحواذ** = تحديات تكامل قادمة
- **خبر صحفي عن إنجاز في الإيرادات** = ميزانية متاحة غالبًا
### تغييرات قيادية
- **رئيس تنفيذي أو قيادي جديد في مجالك** = تحديد أولويات أول 90 يومًا
- **CRO/CMO جديد** = احتمال تقييم البنية التقنية
- **انتقال المؤسس إلى دور الرئيس التنفيذي** = توجه نحو مأسسة العمليات ورفع احترافيتها
## إشارات نية متوسطة
### إشارات التوسع
- **افتتاح مكتب جديد** = احتياجات بنية تحتية
- **توسع دولي** = احتياج للتوطين والامتثال
- **إطلاق منتج جديد** = تحديات توسع وتشغيل
- **الفوز بعميل كبير** = ضغط على التسليم والجودة
### إشارات تقنية
- **نشر RFP** = عملية شراء نشطة
- **ذكر مراجعة المورّدين** = مقارنة حلول ومورّدين
- **تغيير في البنية التقنية** = فرصة تكامل وربط
- **شكاوى من نظام قديم** = حاجة للتحديث
### إشارات المحتوى
- **تدوينة عن موضوعك** = يتعلمون ويفهمون المجال
- **حضور ويبينار** = اهتمام مؤكد
- **تحميل تقرير أو دليل** = وعي بالمشكلة
- **تحدث في مؤتمر** = قيادة فكرية وظهور
## إشارات نية منخفضة (رعاية)
### نشاط عام
- **حضور فعالية في القطاع** = مشارك نشط في السوق
- **توظيف عام** = الشركة في حالة نمو
- **تغطية إعلامية إيجابية** = وضع الشركة صحي
- **نشاط على منصات التواصل** = قيادة متفاعلة
## تقييم الإشارات
| نوع الإشارة | الدرجة | الإجراء |
|-------------|-------|--------|
| إعلان وظيفة مرتبط | +3 | رفع أولوية التواصل |
| تمويل حديث | +3 | الإشارة له في المحادثة |
| تغيير قيادي | +2 | فرصة حساسة للتوقيت |
| خبر توسع | +2 | زاوية نمو مناسبة |
| مراجعات سلبية | +2 | زاوية نقاط ألم |
| تفاعل مع محتوى | +1 | إدخاله في مسار رعاية |
| لا توجد إشارات | 0 | التركيز على الاستكشاف |أنشئ ذكاءً اصطناعيًا يحاكي العوائد المحتملة لفكرة عمل تعتمد على قائمة محدّثة لمنصات كازينو إلكترونية تقدّم دورات لعب مجانية وبطولات بدون اشتراط بيانات بطاقة ائتمانية أو التحقق من الهوية.
تصرّف بصفتك ذكاءً اصطناعيًا لتحليل الأعمال. مهمتك تحليل فكرة عمل تعتمد على قائمة محدّثة باستمرار لمنصات كازينو إلكترونية تقدّم دورات لعب مجانية وبطولات بدون اشتراط بيانات بطاقة ائتمانية أو التحقق من الهوية. المهام: - اجمع البيانات عن منصات الكازينو الإلكترونية وتحقق من صحتها، مع التأكد من أن عمر المعلومات لا يتجاوز سنة واحدة. - حاكِ العوائد المحتملة للمستخدمين الذين يعتمدون على هذه القائمة للمشاركة في ألعاب الكازينو. - قدّم للعملاء معاينة واضحة للعوائد المحتملة عند استخدام القائمة. - تحقّق من أن المنصات لديها سجل موثوق في دفع الأرباح بدون اشتراط التحقق من الهوية أو الإيداع، باستثناء ما يرتبط بعمليات سحب الأموال. القيود: - اعتمد فقط على بيانات متاحة عبر الإنترنت تكون حديثة وموثوقة. - تأكد من أن جميع المحاكاة والتحليلات مبنية على بيانات واقعية وقابلة للتحقق.
شقة عصرية في مونتينيغرو بإطلالة بانورامية على البحر. غرفة معيشة مشرقة وواسعة بتصميم داخلي هادئ وأنيق. أم وابنها يجلسان على الأريكة، وبالقرب منهما بطانية ووسائد ناعمة تضفي إحساسًا بالدفء والألفة العائلية. الأجواء توحي باحتفال هادئ مع اقتراب العام الجديد، والبيت مفعم بالراحة والسكينة وأجواء عائلية مطمئنة.
أنشئ تقرير إيرادات بنمط ذكاء الأعمال باستخدام SQL عبر AI2sql، يغطي MRR وARR ومعدل الإلغاء والاشتراكات النشطة.
أنشئ تقريرًا شهريًا لأداء الإيرادات يوضح الإيرادات الشهرية المتكررة (MRR)، وعدد الاشتراكات النشطة، والاشتراكات الملغاة خلال آخر 6 أشهر، مع تجميع النتائج حسب الشهر.
أنشئ تقرير إيرادات بأسلوب ذكاء الأعمال باستخدام SQL، يشمل MRR وARR وفقد الاشتراكات والاشتراكات النشطة عبر AI2sql.
أنشئ تقريرًا شهريًا لأداء الإيرادات يوضح الإيرادات الشهرية المتكررة (MRR)، وعدد الاشتراكات النشطة، والاشتراكات المتوقفة خلال آخر 6 أشهر، مع تجميع النتائج حسب الشهر.
أنشئ بطاقات واضحة لباقات الدفع في تطبيق SaaS، مع إبراز البطاقة المحددة ووضع الباقة الأعلى سعرًا في المنتصف لجذب الانتباه.
اعمل بصفتك مصمم مواقع. المطلوب تصميم خيارات باقات الدفع أسفل الصفحة الرئيسية لتطبيق SaaS. ستُعرض ثلاث بطاقات بشكل أفقي: - توضع الباقة الأعلى سعرًا في المنتصف لجذب الانتباه. - يكون لكل بطاقة نظام ألوان مميز وواضح، وتظهر البطاقة المحددة بإطار بارز يوضح أنها المختارة حاليًا. - تأكد أن التصميم متجاوب وجذاب بصريًا على جميع الأجهزة. المتغيرات التي يمكنك استخدامها: - selectedCardColor للون إطار البطاقة المحددة. - centerCard لتحديد أي باقة هي الأعلى سعرًا. مهمتك هي عرض مستويات الأسعار بشكل واضح وجذاب يساعد المستخدمين على فهم الخيارات واتخاذ القرار بسهولة.
اقتراح أفكار منتجات رقمية مناسبة للمبتدئين يمكن بيعها على منصة Selar في نيجيريا.
تصرّف كخبير تسويق رقمي، واقترح 10 أفكار منتجات رقمية مناسبة للمبتدئين أقدر أبيعها على منصة Selar في نيجيريا. اشرح كل فكرة بأسلوب بسيط وواضح، واذكر المشكلة التي يحلّها كل منتج للعميل.