Files
santifer--career-ops/modes/ar/pipeline.md
T
wehub-resource-sync d083df1fdb
CodeQL Analysis / Analyze (javascript-typescript) (push) Failing after 2s
Web CI / web typecheck + build (push) Failing after 1s
Release Please / release-please (push) Failing after 1s
CodeQL Analysis / Analyze (go) (push) Failing after 16s
chore: import upstream snapshot with attribution
2026-07-13 12:02:43 +08:00

71 lines
5.4 KiB
Markdown

# النمط: pipeline — معالجة روابط الوظائف المنتظرة (Second Brain)
معالجة وفحص روابط الوظائف المخزنة في صندوق الوارد بملف `data/pipeline.md`. يقوم المستخدم بإضافة روابط الفرص التي تسترعي انتباهه في أي وقت، ثم يقوم بتشغيل الأمر `/career-ops pipeline` ليقوم النظام بمعالجتها وتقييمها بالكامل تلقائياً.
---
## مسار العمل التنفيذي
1. **قراءة الملف** `data/pipeline.md` ← البحث عن العناصر المحددة بـ `- [ ]` (غير المكتملة) في قسم "Pending" (الفرص المنتظرة).
2. **لكل رابط منتظر في القائمة**:
a. حساب الرقم التسلسلي القادم للتقرير `REPORT_NUM` (بقراءة محتويات مجلد `reports/` وأخذ أكبر رقم مضافاً إليه 1).
b. **استخراج تفاصيل متطلبات الوظيفة (JD)** باستخدام Playwright (`browser_navigate` + `browser_snapshot`) ← ثم استخدام WebFetch ← كخيار بديل أخير استخدام WebSearch.
c. إذا كان الرابط غير قابل للوصول ← قم بتغيير العلامة إلى `- [!]` مع تدوين سبب الخطأ واستمر في معالجة الروابط الأخرى.
d. **تنفيذ المسار التلقائي بالكامل**: تشغيل التقييم من A إلى G ← إنشاء ملف تقرير بصيغة md ← توليد ملف PDF للسيرة الذاتية المخصصة (فقط إذا كان التقييم 3.0 فما فوق) ← التوثيق الفوري في جدول التتبع.
e. **نقل العنصر من قسم "Pending" إلى قسم "Processed" (المعالجة)** بصيغة: `- [x] #NNN | URL | Company | Role | Score/5 | PDF ✅/❌`.
3. **إذا كان هناك 3 روابط أو أكثر منتظرة**: قم بإطلاق وكلاء فرعيين بالتوازي (باستخدام أداة الوكلاء الفرعيين مع خيار التشغيل في الخلفية `run_in_background`) لرفع سرعة المعالجة للحد الأقصى.
4. **بعد اكتمال جميع التقييمات**: قم بتشغيل `node merge-tracker.mjs` لدمج جميع إضافات التتبع في ملف `data/applications.md` وتجنب التكرارات.
5. **في النهاية**: اعرض جدولاً يلخص الفرص التي تمت معالجتها:
```text
| # | الشركة | الوظيفة | التقييم | السيرة الذاتية PDF | الإجراء المقترح |
```
---
## هيكل وصيغة ملف pipeline.md
```markdown
## Pending
- [ ] https://jobs.example.com/posting/123
- [ ] https://boards.greenhouse.io/company/jobs/456 | Company Inc | Senior PM
- [!] https://private.url/job — Error: login required
## Processed
- [x] #143 | https://jobs.example.com/posting/789 | Acme Corp | AI PM | 4.2/5 | PDF ✅
- [x] #144 | https://boards.greenhouse.io/xyz/jobs/012 | BigCo | SA | 2.1/5 | PDF ❌
```
---
## الاستخراج الذكي لمتطلبات الوظيفة (JD) من الرابط
1. **أداة Playwright (الخيار المفضل):** استخدام أداة التنقل وأخذ لقطة للصفحة (`browser_navigate` + `browser_snapshot`). تعمل بكفاءة عالية مع كافة تطبيقات الصفحة الواحدة (SPAs).
2. **أداة WebFetch (الخيار الاحتياطي الأول):** للصفحات الساكنة أو عند عدم توفر Playwright في البيئة المحلية.
3. **أداة WebSearch (الخيار الاحتياطي الأخير):** للبحث في المنصات الثانوية التي تقوم بنسخ وفهرسة الإعلان الأصلي للوظيفة.
**حالات خاصة:**
- **LinkedIn:** قد تطلب المنصة تسجيل الدخول لقراءة محتوى الوصف الوظيفي ← في هذه الحالة، ضع العلامة `[!]` واطلب من المستخدم نسخ ولصق نص الإعلان يدوياً في المحادثة.
- **ملفات PDF:** إذا كان الرابط يشير مباشرة إلى ملف PDF، فاستخدم أداة قراءة الملفات مباشرة لقراءة محتوياته.
- **البادئة `local:`:** لقراءة ملف محلي على الجهاز. مثال: `local:jds/linkedin-pm-ai.md` ← سيقوم النظام بفتح وقراءة الملف المحلي `jds/linkedin-pm-ai.md`.
---
## الترقيم التلقائي للتقارير
1. فحص وسرد كافة الملفات الموجودة في مجلد `reports/`.
2. استخراج الرقم التسلسلي من البادئة الخاصة بكل ملف (مثال: الملف `142-company...` يمثل الرقم 142).
3. تعيين الرقم الجديد للتقرير القادم = أكبر رقم تم العثور عليه مضافاً إليه 1.
---
## التحقق من مزامنة وتناسق البيانات
قبل البدء في معالجة أي رابط، تحقق دائماً من سلامة ومزامنة مصادر البيانات وسيرتك الذاتية عن طريق تشغيل:
```bash
node cv-sync-check.mjs
```
إذا تم اكتشاف أي عدم تطابق أو مشاكل في المزامنة، فقم بتنبيه وتحذير المستخدم فوراً قبل متابعة العمل.