init
This commit is contained in:
commit
d295c7f139
1527 files changed
+270726
No files matched your search
@@ -0,0 +1,118 @@
|
||||
# career-ops — Türkçe Modlar (`modes/tr/`)
|
||||
|
||||
Bu klasör, Türkiye iş piyasasında iş arayanlar veya Türkçe ilanlarla çalışanlar için career-ops modlarının Türkçe çevirilerini içerir.
|
||||
|
||||
## Ne Zaman Kullanılır?
|
||||
|
||||
Aşağıdaki koşullardan en az biri geçerliyse `modes/tr/` kullan:
|
||||
|
||||
- Ağırlıklı olarak **Türkçe iş ilanlarına** başvuruyorsun (Kariyer.net, Yenibiris.com, Secretcv.com, LinkedIn TR)
|
||||
- **CV dilinin** Türkçe olmasını veya ilana göre TR/EN arasında geçiş yapmayı istiyorsun
|
||||
- **Doğal Türkçe** yanıtlar ve ön yazılar gerekiyor — makine çevirisi değil
|
||||
- **Türkiye'ye özgü sözleşme maddeleriyle** uğraşman gerekiyor: kıdem tazminatı, ihbar süresi, SGK, net/brüt maaş farkı, yemek kartı, TÜFE zammı
|
||||
|
||||
İlanların çoğu İngilizce ise standart `modes/` klasörünü kullanmaya devam et.
|
||||
|
||||
## Nasıl Etkinleştirilir?
|
||||
|
||||
### Yol 1 — Oturum bazında, komutla
|
||||
|
||||
Oturumun başında Claude'a açıkça söyle:
|
||||
|
||||
> "Bundan sonra `modes/tr/` altındaki Türkçe modları kullan."
|
||||
|
||||
veya
|
||||
|
||||
> "Değerlendirme ve başvuruları Türkçe yap — `modes/tr/_shared.md` ve `modes/tr/is-ilani.md` kullan."
|
||||
|
||||
### Yol 2 — Kalıcı olarak, profil üzerinden
|
||||
|
||||
`config/profile.yml` dosyasına dil tercihini ekle:
|
||||
|
||||
```yaml
|
||||
language:
|
||||
primary: tr
|
||||
modes_dir: modes/tr
|
||||
```
|
||||
|
||||
Ardından ilk oturumda Claude'a bu ayarı hatırlat ("profile.yml'e baktım, `language.modes_dir` ayarlanmış"). Bundan sonra Claude otomatik olarak Türkçe modları kullanır.
|
||||
|
||||
## Mevcut Modlar
|
||||
|
||||
| Dosya | Kaynak | Amaç |
|
||||
|-------|--------|------|
|
||||
| `_shared.md` | `modes/_shared.md` (EN) | Paylaşılan bağlam, arketipler, global kurallar, Türkiye piyasa özelinde terimler |
|
||||
| `is-ilani.md` | `modes/oferta.md` (ES) | Tek bir ilanın tam değerlendirmesi (Bloklar A-G) |
|
||||
| `basvuru.md` | `modes/apply.md` (EN) | Başvuru formu için canlı asistan |
|
||||
| `pipeline.md` | `modes/pipeline.md` (ES) | URL gelen kutusu / biriktirilmiş ilanlar için ikinci beyin |
|
||||
|
||||
Diğer modlar (`scan`, `batch`, `pdf`, `tracker`, `auto-pipeline`, `deep`, `contacto`, `ofertas`, `project`, `training`) İngilizce/İspanyolca orijinalleriyle çalışmaya devam eder — içerikleri büyük ölçüde araç komutları, dosya yolları ve yapılandırma talimatlarından oluştuğundan dilden bağımsız kalmaları tercih edilmiştir.
|
||||
|
||||
## Türkiye'ye Özgü Piyasa Kapsamı
|
||||
|
||||
`_shared.md` dosyası aşağıdaki Türkiye'ye özgü kavramları kapsar:
|
||||
|
||||
- **SGK** — Sosyal güvenlik primleri ve brüt/net maaş hesabı
|
||||
- **Kıdem tazminatı** — Her hizmet yılı için yasal tazminat
|
||||
- **İhbar süresi** — Kanuni bildirim süreleri (2-8 hafta, kıdeme göre)
|
||||
- **Deneme süresi** — Yasal maksimum 2 ay
|
||||
- **Yıllık izin** — Kıdeme göre 14-26 gün yasal minimum
|
||||
- **Prim/Bonus** — Performans primleri
|
||||
- **Yemek kartı** — Ticket Restaurant, Sodexo, Multinet gibi kartlar
|
||||
- **Özel sağlık sigortası** — SGK'ya ek sigorta (premium yan hak)
|
||||
- **Servis** — İşveren ulaşımı
|
||||
- **TÜFE zammı** — Enflasyona endeksli yıllık zam
|
||||
- **İş Kanunu No. 4857** — Temel iş kanunu referansı
|
||||
|
||||
## Türkçe Olmayan Terimler
|
||||
|
||||
Kasıtlı olarak çevrilmedi — standart teknik kelime dağarcığı:
|
||||
|
||||
- `cv.md`, `pipeline`, `tracker`, `report`, `score`, `archetype`, `proof point`
|
||||
- Araç adları (`Playwright`, `WebSearch`, `WebFetch`, `Read`, `Write`, `Edit`, `Bash`)
|
||||
- Takipçideki durum değerleri (`Evaluated`, `Applied`, `Interview`, `Offer`, `Rejected`)
|
||||
- Kod parçacıkları, dosya yolları, komutlar
|
||||
|
||||
Modlar, İstanbul ve Ankara'daki gerçek mühendislik ekiplerinde konuşulduğu gibi Türkçe teknik dil kullanır: Türkçe akıcı metin, yaygın kullanımda yerleşmiş İngilizce teknik terimler. "Pipeline" kelimesinin zorla "boru hattı"na çevrilmesi gibi uygulamalardan kaçınılmıştır.
|
||||
|
||||
## Kelime Kılavuzu
|
||||
|
||||
Modları özelleştirirken veya genişletirken bu kelime dağarcığına uy — tutarlı bir ton sağlar:
|
||||
|
||||
| İngilizce | Türkçe (bu kod tabanında) |
|
||||
|-----------|--------------------------|
|
||||
| Job posting | İş ilanı |
|
||||
| Application | Başvuru |
|
||||
| Cover letter | Ön yazı |
|
||||
| Resume / CV | Özgeçmiş |
|
||||
| Salary | Maaş / Ücret |
|
||||
| Compensation | Tazminat |
|
||||
| Skills | Beceriler |
|
||||
| Interview | Mülakat |
|
||||
| Hiring manager | İşe alım yöneticisi / Hiring Manager |
|
||||
| Recruiter | İK uzmanı / Recruiter |
|
||||
| Requirements | Gereksinimler |
|
||||
| Career history | İş deneyimi |
|
||||
| Notice period | İhbar süresi |
|
||||
| Probation | Deneme süresi |
|
||||
| Annual leave | Yıllık izin |
|
||||
| Severance pay | Kıdem tazminatı |
|
||||
| Gross / Net salary | Brüt / Net maaş |
|
||||
| Social security | SGK |
|
||||
| Permanent employment | Belirsiz süreli sözleşme |
|
||||
| Fixed-term employment | Belirli süreli sözleşme |
|
||||
| Remote / Hybrid | Uzaktan / Hibrit |
|
||||
| Meal card | Yemek kartı |
|
||||
| Private health insurance | Özel sağlık sigortası |
|
||||
| Company shuttle | Servis |
|
||||
| Inflation adjustment | TÜFE zammı / Enflasyon zammı |
|
||||
|
||||
## Katkı
|
||||
|
||||
Bir çeviriyi iyileştirmek veya başka bir modu Türkçeleştirmek istersen:
|
||||
|
||||
1. `CONTRIBUTING.md`'ye göre bir Issue aç
|
||||
2. Yukarıdaki kelime kılavuzuna uy — tutarlı ton için
|
||||
3. Kelimesi kelimesine çeviri değil, anlam ve deyim bakımından doğal çeviri yap
|
||||
4. Yapısal öğeleri (Blok A-G, tablolar, kod blokları, araç talimatları) aynen koru
|
||||
5. PR açmadan önce gerçek bir Türkçe ilan (Kariyer.net veya Yenibiris.com) üzerinde test et
|
||||
@@ -0,0 +1,276 @@
|
||||
# Ortak Bağlam -- career-ops (Türkçe)
|
||||
|
||||
<!-- ============================================================
|
||||
BU DOSYA OTOMATİK GÜNCELLENEBİLİR. Buraya kişisel veri ekleme.
|
||||
|
||||
Özelleştirmeler modes/_profile.md dosyasına gider (hiçbir zaman
|
||||
otomatik güncellenmez). Bu dosya sistem kurallarını, puanlama
|
||||
mantığını ve her sürümde gelişen araç yapılandırmasını içerir.
|
||||
============================================================ -->
|
||||
|
||||
## Temel Kaynaklar (Her değerlendirmeden önce MUTLAKA okunacak)
|
||||
|
||||
| Dosya | Konum | Ne zaman |
|
||||
|-------|-------|----------|
|
||||
| cv.md | `cv.md` (proje kök dizini) | Her zaman |
|
||||
| article-digest.md | `article-digest.md` (varsa) | Her zaman — ayrıntılı kanıtlar |
|
||||
| profile.yml | `config/profile.yml` | Her zaman — kişisel bilgiler ve hedef roller |
|
||||
| _profile.md | `modes/_profile.md` | Her zaman — kullanıcı arketipleri, anlatı, müzakere |
|
||||
|
||||
**KURAL: Kanıt noktalarındaki ölçüm değerlerini ASLA sabit kodlama.** Değerlendirme sırasında bunları cv.md + article-digest.md dosyalarından oku.
|
||||
**KURAL: Makale/proje metrikleri için `article-digest.md`, `cv.md`'ye göre önceliklidir.**
|
||||
**KURAL: `_profile.md`'yi bu dosyadan SONRA oku. Kullanıcının `_profile.md`'deki özelleştirmeleri buradaki varsayılanları geçersiz kılar.**
|
||||
|
||||
---
|
||||
|
||||
## Puanlama Sistemi
|
||||
|
||||
Değerlendirme 6 blok (A-F) üzerinden yapılır ve 1-5 arası global bir puan verilir:
|
||||
|
||||
| Boyut | Ne ölçülüyor |
|
||||
|-------|-------------|
|
||||
| CV Eşleşmesi | Beceriler, deneyim ve kanıt noktalarının örtüşmesi |
|
||||
| North Star Uyumu | Rolün hedef arketiplerle uyumu (`_profile.md`'den) |
|
||||
| Ücret | Teklifin piyasa konumu (5=üst çeyrek, 1=çok altında) |
|
||||
| Kültürel Sinyaller | Şirket kültürü, büyüme, istikrar, uzaktan çalışma politikası |
|
||||
| Kırmızı Bayraklar | Engelleyiciler ve uyarılar (negatif düzeltme) |
|
||||
| **Global** | Yukarıdakilerin ağırlıklı ortalaması |
|
||||
|
||||
**Puan yorumu:**
|
||||
- 4,5+ → Güçlü eşleşme, hemen başvur
|
||||
- 4,0-4,4 → İyi eşleşme, başvurmaya değer
|
||||
- 3,5-3,9 → Kabul edilebilir ama ideal değil; özel bir neden olmadıkça geç
|
||||
- 3,5'in altı → Başvuru önerilmez (CLAUDE.md'deki Etik Kullanım bölümüne bakın)
|
||||
|
||||
## İlan Meşruiyeti (Blok G)
|
||||
|
||||
Blok G, ilanın gerçek ve aktif bir açık pozisyon olup olmadığını değerlendirir. 1-5 global puanı **etkilemez** — ayrı bir nitel tespittir.
|
||||
|
||||
**Üç seviye:**
|
||||
- **Güvenilir** — Gerçek, aktif ilan; sinyallerin büyük çoğunluğu olumlu
|
||||
- **Dikkatli İlerle** — Karma sinyaller; bazı endişe noktaları mevcut
|
||||
- **Şüpheli** — Birden fazla hayalet ilan göstergesi var; kullanıcı önce araştırmalı
|
||||
|
||||
**Temel sinyaller (güvenilirlik ağırlığına göre):**
|
||||
|
||||
| Sinyal | Kaynak | Güvenilirlik | Notlar |
|
||||
|--------|--------|-------------|--------|
|
||||
| İlan yaşı | Sayfa snapshot | Yüksek | 30 gün altı = iyi, 30-60 gün = karma, 60+ gün = endişe verici (rol tipine göre ayarla) |
|
||||
| Başvur butonu aktif mi | Sayfa snapshot | Yüksek | Doğrudan gözlemlenebilir gerçek |
|
||||
| İlanda teknik özgüllük | İlan metni | Orta | Genel ilanlar hayalet ilanla örtüşür ama zayıf yazarlıkla da açıklanabilir |
|
||||
| Gereksinimlerin gerçekçiliği | İlan metni | Orta | Çelişkiler güçlü sinyal; muğlaklık daha zayıf |
|
||||
| Son dönem işten çıkarma haberleri | WebSearch | Orta | Departman, zamanlama ve şirket büyüklüğü dikkate alınmalı |
|
||||
| Yeniden yayın örüntüsü | scan-history.tsv | Orta | 90 günde 2+ kez aynı rol endişe verici |
|
||||
| Maaş şeffaflığı | İlan metni | Düşük | Yargı bölgesine bağlı; atlanması için birçok meşru neden olabilir |
|
||||
| Rol-şirket uyumu | Nitel | Düşük | Öznel; yalnızca destekleyici sinyal olarak kullan |
|
||||
|
||||
**Etik çerçeve (ZORUNLU):**
|
||||
- Bu, kullanıcının zamanını gerçek fırsatlara yönlendirmesine yardımcı olur
|
||||
- Bulguları asla dürüstsüzlük suçlaması olarak sunma
|
||||
- Sinyalleri sun ve kararı kullanıcıya bırak
|
||||
- Endişe veren sinyaller için her zaman meşru açıklamalara yer ver
|
||||
|
||||
---
|
||||
|
||||
## North Star — Hedef Roller
|
||||
|
||||
Sistem tüm hedef rollere eşit özenle yaklaşır. Maaş ve gelişim fırsatı uygunsa her biri başarıdır:
|
||||
|
||||
| Arketip | Odak alanları | İşverenin aradığı |
|
||||
|---------|--------------|-------------------|
|
||||
| **AI Platform / LLMOps Engineer** | Değerlendirme, gözlemlenebilirlik, güvenilirlik, pipeline'lar | Yapay zekayı metriklerle production'a taşıyan biri |
|
||||
| **Agentic Workflows / Automation** | HITL, tooling, orchestration, multi-agent | Güvenilir ajan sistemleri kuran biri |
|
||||
| **Technical AI Product Manager** | GenAI/Agents, PRD, discovery, delivery | İş gereksinimlerini AI ürününe çeviren biri |
|
||||
| **AI Solutions Architect** | Hyperautomation, enterprise, entegrasyonlar | Uçtan uca AI mimarileri tasarlayan biri |
|
||||
| **AI Forward Deployed Engineer** | Müşteri yönlü, hızlı teslimat, prototipleme | AI çözümlerini müşteride hızlıca hayata geçiren biri |
|
||||
| **AI Transformation Lead** | Değişim yönetimi, benimseme, kurumsal enablement | Organizasyonlarda AI dönüşümünü yöneten biri |
|
||||
|
||||
|
||||
### Arketip Tespiti
|
||||
|
||||
Her ilanı aşağıdaki türlerden birine (ya da en fazla ikisine) sınıflandır:
|
||||
|
||||
| Arketip | İlanda öne çıkan sinyaller |
|
||||
|---------|---------------------------|
|
||||
| AI Platform / LLMOps | "observability", "evals", "pipelines", "monitoring", "reliability" |
|
||||
| Agentic / Automation | "agent", "HITL", "orchestration", "workflow", "multi-agent" |
|
||||
| Technical AI PM | "PRD", "roadmap", "discovery", "stakeholder", "product manager" |
|
||||
| AI Solutions Architect | "architecture", "enterprise", "integration", "design", "systems" |
|
||||
| AI Forward Deployed | "client-facing", "deploy", "prototype", "fast delivery", "field" |
|
||||
| AI Transformation | "change management", "adoption", "enablement", "transformation" |
|
||||
|
||||
Arketipi tespit ettikten sonra kullanıcıya özgü çerçeveleme ve kanıt noktaları için `modes/_profile.md` dosyasını oku.
|
||||
|
||||
### Arketipe Göre Uyarlama
|
||||
|
||||
> **Somut rakamlar ve metrikler: değerlendirme sırasında `cv.md` ve `article-digest.md` dosyalarından okunacak. Buraya sabit yazma.**
|
||||
|
||||
|
||||
| Rol ise... | Adayda şunu öne çıkar... | Kanıt kaynakları |
|
||||
|-----------|--------------------------|-----------------|
|
||||
| Platform / LLMOps | Production deneyimi, observability, evals, closed-loop | article-digest.md + cv.md |
|
||||
| Agentic / Automation | Multi-agent orchestration, HITL, güvenilirlik, maliyet | article-digest.md + cv.md |
|
||||
| Technical AI PM | Product discovery, PRD'ler, metrikler, paydaş yönetimi | cv.md + article-digest.md |
|
||||
| Solutions Architect | Sistem tasarımı, entegrasyonlar, enterprise uyum | article-digest.md + cv.md |
|
||||
| Forward Deployed Engineer | Hızlı teslimat, müşteri yönlü, prototipten production'a | cv.md + article-digest.md |
|
||||
| AI Transformation Lead | Değişim yönetimi, ekip enablement, benimseme | cv.md + article-digest.md |
|
||||
|
||||
### Kariyer Anlatısı (Tüm içeriklerde kullanılacak)
|
||||
|
||||
|
||||
`config/profile.yml` dosyasındaki kariyer hikayesini tüm içeriklere zemin olarak kullan:
|
||||
- **PDF özetlerinde:** Geçmişten geleceğe bir köprü kur — "Aynı [becerileri] şimdi [ilan alanına] uyguluyorum."
|
||||
- **STAR hikayelerinde:** `article-digest.md`'deki somut kanıt noktalarına başvur
|
||||
- **Form yanıtlarında:** Kariyer anlatısı ilk yanıtta yer almalı
|
||||
- **İlan "girişimci", "sorumluluk alan", "builder", "uçtan uca" diyorsa:** Bu en güçlü farklılaştırıcıdır. Eşleşme ağırlığını artır.
|
||||
|
||||
### Temel Güç
|
||||
|
||||
|
||||
Profili **"Gerçek dünya kanıtına sahip teknik builder"** olarak çerçevele — role göre uyarla:
|
||||
- PM için: "Prototiplerle belirsizliği azaltıp sonra disiplinli biçimde üretime taşıyan builder"
|
||||
- FDE için: "İlk günden observability ve metriklerle teslim eden builder"
|
||||
- SA için: "Gerçek entegrasyon deneyimiyle uçtan uca sistemler tasarlayan builder"
|
||||
- LLMOps için: "Kapalı döngü kalite sistemleriyle yapay zekayı production'a taşıyan builder"
|
||||
|
||||
"Builder"ı profesyonel bir sinyal olarak konumlandır — hobici değil. Gerçek kanıt noktaları bunu inandırıcı kılar.
|
||||
|
||||
### Portfolyo / Demo
|
||||
|
||||
|
||||
Adayın canlı bir demosu veya dashboardu varsa (`profile.yml`'ye bak), ilgili başvurularda erişim bilgisini paylaş.
|
||||
|
||||
### Ücret Araştırması
|
||||
|
||||
|
||||
**Genel notlar:**
|
||||
- Güncel piyasa verisi için WebSearch kullan (Kariyer.net Maaş Rehberi, Glassdoor TR, LinkedIn Maaş, Secretcv.com)
|
||||
- Rolün başlığı üzerinden karşılaştır — başlıklar maaş bantlarını belirler
|
||||
- Türkiye'de maaşlar genellikle **net** olarak belirtilir; brüt/net farkı yaklaşık %25-30'dur
|
||||
- Enflasyon zammı beklentisini müzakere kozu olarak kullan
|
||||
|
||||
---
|
||||
|
||||
## Türkiye İş Piyasası — Bilmen Gereken Terimler
|
||||
|
||||
Türkçe iş ilanlarında ve sözleşme müzakerelerinde, yabancı piyasalarda karşılığı olmayan kavramlar çıkar. Bunları doğru yorumlamak kritiktir:
|
||||
|
||||
| Terim | Açıklama | Değerlendirmeye etkisi |
|
||||
|-------|----------|------------------------|
|
||||
| **SGK** (Sosyal Güvenlik Kurumu) | Zorunlu sosyal güvenlik. İşveren ~%21,75, çalışan ~%14 prim öder | Brüt ve net maaş arasındaki farkı oluşturan ana kalem |
|
||||
| **Brüt / Net Maaş** | Brüt = SGK ve gelir vergisi kesilmeden önceki tutar; Net = ele geçen | Türkiye'de teklifler genellikle **net** verilir. Karşılaştırmada aynı tabanı kullan |
|
||||
| **Kıdem Tazminatı** | Her tam çalışma yılı için 1 aylık maaş (yasal tavan mevcut). İşten çıkarılma veya belirli koşullarda ödenir | Uzun vadeli paketi değerlendirirken hesaba kat. Deneme süresi bitmeden ayrılırsa ödenmez |
|
||||
| **İhbar Süresi** | Yasal bildirim süresi: 0-6 ay → 2 hafta, 6 ay-1,5 yıl → 4 hafta, 1,5-3 yıl → 6 hafta, 3 yıl+ → 8 hafta | İş değişikliğinde başlangıç tarihi planlaması için kritik |
|
||||
| **Deneme Süresi** | Yasal maksimum 2 ay (toplu sözleşmeyle 4 aya uzatılabilir) | Risk işareti değil — piyasa standardı. 2 ayın üzerindeyse not düş |
|
||||
| **Yıllık İzin** | Kıdeme göre: 1-5 yıl → 14 gün, 5-15 yıl → 20 gün, 15+ yıl → 26 gün | 14 günün altı yasal ihlal. 20+ gün tercih edilmeli |
|
||||
| **Prim / Bonus** | Performansa dayalı ek ödeme | Net baz maaşın genellikle %30-50'si kadar. Toplam paketi karşılaştırırken dahil et |
|
||||
| **Yemek Kartı** | Ticket Restaurant, Sodexo veya Multinet ile sağlanan yemek yardımı | Yaygın yan hak. Aylık 5.000–7.260 TL (330 TL/gün) bandında olabilir |
|
||||
| **Servis** | İşveren tarafından sağlanan toplu ulaşım | Ankara/İstanbul ofis rollerinde yaygın. Uzaktan rollerde geçersiz |
|
||||
| **Özel Sağlık Sigortası** | SGK'ya ek özel sağlık güvencesi | Değerli bir yan hak; teklif karşılaştırmasında ağırlık ver |
|
||||
| **Uzaktan / Hibrit Çalışma** | Tam uzaktan veya belirli günler ofiste çalışma | İlanda belirtilse bile doğrula — bazı şirketler esnek söylüyor, kültür ofis merkezli kalıyor |
|
||||
| **İş Kanunu No. 4857** | Türkiye'nin temel iş kanunu | İhbar, kıdem ve izin hesaplamalarının yasal dayanağı |
|
||||
| **Belirsiz / Belirli Süreli Sözleşme** | Süresiz vs. sabit vadeli iş sözleşmesi | Belirli süreli → sözleşme bitiminde kıdem tazminatı riski taşıyabilir |
|
||||
| **TÜFE Zammı** | Yıllık enflasyon (TÜFE) oranına dayalı maaş artışı | Türkiye'de kritik: zam garantisi yoksa yüksek enflasyon dönemlerinde gerçek ücret erir |
|
||||
| **AGİ** (Asgari Geçim İndirimi) | 2022'de kaldırıldı, yerini asgari ücrete kadar gelir vergisi muafiyeti aldı | Sözleşme müzakerelerinde ayrıca gündemin dışında tutulabilir |
|
||||
|
||||
### Maaş Müzakere Kalıpları
|
||||
|
||||
|
||||
**Maaş beklentisi:**
|
||||
> "Bu rol için piyasa araştırmama göre [profile.yml'deki ARALIK] aralığını hedefliyorum. Paket konusunda esnekliğim var — önemli olan toplam teklif ve gelişim fırsatı."
|
||||
|
||||
**Teklif hedefin altındaysa:**
|
||||
> "[Daha yüksek aralık] bandındaki tekliflerle kıyaslıyorum. [Şirket] beni çekiyor çünkü [neden]. [Hedef rakama] ulaşma şansımız var mı?"
|
||||
|
||||
**Enflasyon zammı için:**
|
||||
> "Sözleşmeye yıllık TÜFE bazlı zam garantisi ekleyebilir miyiz? Uzun vadeli planlama açısından önemli."
|
||||
|
||||
### Lokasyon Politikası
|
||||
|
||||
|
||||
**Formlarda:**
|
||||
- "Ofise gelebilir misiniz?" sorularını `profile.yml`'deki gerçek duruma göre yanıtla
|
||||
- Serbest metin alanlarında saat dilimi örtüşmesini ve müsaitliği açıkça yaz
|
||||
|
||||
**Değerlendirmelerde (puanlama):**
|
||||
- Uzaktan rol → lokasyon boyutunda tam puan
|
||||
- Adayın ülkesi dışında hibrit rol → **3.0** (1.0 değil)
|
||||
- Yalnızca ilan açıkça "haftada 4-5 gün ofis zorunlu, istisna yok" diyorsa → **1.0**
|
||||
|
||||
### Teklif Hızı Önceliği
|
||||
|
||||
- Çalışan demo + metrikler > mükemmellik
|
||||
- Erken başvur > daha fazla araştır
|
||||
- %80/20 yaklaşımı, her şeyi zamanlı tut
|
||||
|
||||
---
|
||||
|
||||
## Genel Kurallar
|
||||
|
||||
### ASLA
|
||||
|
||||
1. Deneyim veya metrik uydurma
|
||||
2. `cv.md` ya da portfolyo dosyalarını değiştirme
|
||||
3. Adayın onayı olmadan başvuru gönderme
|
||||
4. Üretilen mesajlarda telefon numarası paylaşma
|
||||
5. Piyasa fiyatının altında ücret önerme
|
||||
6. İlanı okumadan PDF oluşturma
|
||||
7. Klişe kurumsal ifadeler kullanma ("sonuç odaklı", "dinamik takım oyuncusu" vb.)
|
||||
8. Takipçiyi atlama — değerlendirilen her ilan kaydedilir
|
||||
|
||||
### HER ZAMAN
|
||||
|
||||
0. **Ön yazı:** Form izin veriyorsa HER ZAMAN ön yazı ekle. CV ile aynı görsel tasarımda PDF olarak üret. İçerik: ilandan doğrudan alıntılar + kanıt noktalarıyla eşleştirme. Maksimum 1 sayfa.
|
||||
1. Herhangi bir ilanı değerlendirmeden önce `cv.md` ve `article-digest.md` dosyalarını oku (varsa)
|
||||
1b. **Her oturumun ilk değerlendirmesinde:** `node cv-sync-check.mjs` çalıştır. Uyarı varsa adayı bilgilendirmeden devam etme
|
||||
2. Rol arketipini belirle ve çerçevelemeyi buna göre uyarla
|
||||
3. CV eşleştirmesinde dosyadan tam satır alıntıla
|
||||
4. Maaş ve şirket bilgisi için WebSearch kullan
|
||||
5. Değerlendirmeden sonra takipçiye kaydet
|
||||
6. İçeriği ilanın dilinde üret — ilan Türkçeyse Türkçe, İngilizce ise İngilizce
|
||||
7. Doğrudan ve eyleme dönük ol — gereksiz ayrıntı yazma
|
||||
8. Türkçe metin üretirken: doğal Türkçe kullan, kelimesi kelimesine çeviriden kaçın. Kısa cümleler, aktif fiiller. Stack, pipeline, deploy, backend, frontend gibi yerleşik teknik terimler zorla Türkçeleştirilmemeli
|
||||
8b. **PDF Professional Summary'de vaka çalışması URL'leri:** Adayın demo veya proje linki varsa ilk paragrafta göster — recruiter genellikle sadece summary'i okur
|
||||
9. **Takipçi eklemeleri TSV olarak** — `applications.md`'ye doğrudan yeni satır ekleme. TSV'yi `batch/tracker-additions/` klasörüne yaz, `merge-tracker.mjs` halleder
|
||||
10. Her rapor başlığına `**URL:**` alanını ekle — Puan ile PDF arasına
|
||||
|
||||
### Araçlar
|
||||
|
||||
| Araç | Kullanım |
|
||||
|------|----------|
|
||||
| WebSearch | Maaş araştırması, şirket kültürü, Kariyer.net/LinkedIn ilanları, Türk şirket haberleri |
|
||||
| WebFetch | Statik sayfalardan ilan içeriği çekme |
|
||||
| Playwright | İlan doğrulama (browser_navigate + browser_snapshot). **KRİTİK: Aynı anda 2+ ajan Playwright ile çalıştırma — tek browser instance paylaşılır** |
|
||||
| Read | cv.md, _profile.md, article-digest.md, cv-template.html |
|
||||
| Write | PDF için geçici HTML, rapor .md dosyaları, `batch/tracker-additions/*.tsv` (yeni takipçi girişleri) |
|
||||
| Edit | `data/applications.md`'de mevcut satır güncellemeleri (durum, PDF, rapor bağlantısı) |
|
||||
| Canva MCP | İsteğe bağlı görsel CV üretimi. Temel tasarımı çoğalt, metni düzenle, PDF olarak dışa aktar. `profile.yml`'de `canva_resume_design_id` gerektirir. |
|
||||
| Bash | `node generate-pdf.mjs` |
|
||||
|
||||
---
|
||||
|
||||
## Profesyonel Yazım ve ATS Uyumluluğu
|
||||
|
||||
Bu kurallar adaya giden tüm üretilmiş metinler için geçerlidir: PDF özetleri, maddeler, ön yazılar, form yanıtları, LinkedIn mesajları. Dahili değerlendirme raporları için geçerli **değildir**.
|
||||
|
||||
### Klişe ifadelerden kaçın
|
||||
- "sonuç odaklı" / "takım oyuncusu" / "kanıtlanmış başarı geçmişi"
|
||||
- "leveraged" yerine → kullandığı aracı ya da fiili yaz
|
||||
- "spearheaded" yerine → "yönetti" veya "kurdu"
|
||||
- "facilitated" yerine → "yürüttü" veya "kurdu"
|
||||
- "sinerji" / "güçlü" / "kesintisiz" / "yenilikçi" / "çığır açan"
|
||||
- "günümüzün hızla değişen dünyasında"
|
||||
- "kanıtlanmış yetenek" / "en iyi uygulamalar" → spesifik uygulamayı adlandır
|
||||
|
||||
### ATS için Unicode normalleştirme
|
||||
`generate-pdf.mjs` em dash, akıllı tırnak ve sıfır genişlikli karakterleri otomatik olarak ASCII karşılıklarına dönüştürür. Yine de en başından üretmekten kaçın.
|
||||
|
||||
### Cümle yapısını çeşitlendir
|
||||
- Her maddeye aynı fiille başlama
|
||||
- Cümle uzunluklarını karıştır (kısa. Sonra bağlamlı daha uzun. Kısa.)
|
||||
- Her seferinde "X, Y ve Z" kalıbını kullanma — bazen iki öğe, bazen dört
|
||||
|
||||
### Soyutlamalar yerine özgüllüğü tercih et
|
||||
- "p95 gecikmesini 2,1 saniyeden 380ms'ye düşürdüm" → "performansı iyileştirdim"den çok daha iyi
|
||||
- "12 bin belge üzerinde Postgres + pgvector ile retrieval" → "ölçeklenebilir RAG mimarisi tasarladım"dan çok daha iyi
|
||||
- İzin verilen durumlarda araç, proje ve müşteri adlarını ver
|
||||
@@ -0,0 +1,120 @@
|
||||
# Mod: basvuru — Canlı Başvuru Asistanı
|
||||
|
||||
Aday bir başvuru formunu doldururken çalışan etkileşimli mod. Ekrandakileri okur, önceki ilan raporunu yükler ve formun her alanı için kişiselleştirilmiş yanıtlar üretir.
|
||||
|
||||
## Gereksinimler
|
||||
|
||||
- **Playwright varsa (tercih edilen):** Claude tarayıcıyla etkileşime geçebilir, formu doğrudan okuyabilir.
|
||||
- **Playwright yoksa:** Aday ekran görüntüsü paylaşır veya soruları metin olarak yapıştırır.
|
||||
|
||||
## İş Akışı
|
||||
|
||||
```
|
||||
1. TESPİT ET → Aktif sekmeyi oku (ekran görüntüsü / URL / sayfa başlığı)
|
||||
2. TANI KOY → Sayfadan şirket adını ve rolü çıkar
|
||||
3. RAPORU BUL → reports/ klasöründe bu ilana ait raporu ara
|
||||
4. YÜKLE → Tam raporu oku (önceki değerlendirme + Blok G varsa)
|
||||
5. KARŞILAŞTIR → Ekrandaki rol raporla eşleşiyor mu? Farklıysa adayı uyar
|
||||
6. FORMU ANALİZ ET → Görünen tüm alanları ve soruları tespit et
|
||||
7. YANIT ÜRET → Her alan için kişiselleştirilmiş yanıt oluştur
|
||||
8. SUN → Kopyalanabilir biçimde göster
|
||||
```
|
||||
|
||||
## Adım 1 — İlanı Tespit Et
|
||||
|
||||
**Playwright ile:** Aktif sayfanın snapshot'ını al; başlık, URL ve içeriği oku.
|
||||
|
||||
**Playwright olmadan:** Adaydan şunları iste:
|
||||
- Formun ekran görüntüsünü paylaşması (Read aracı görselleri okuyabilir)
|
||||
- Soruları metin olarak yapıştırması
|
||||
- Şirket adı + rol başlığını söylemesi (ardından `reports/` klasöründe arama yapılır)
|
||||
|
||||
## Adım 2 — Bağlamı Tespit Et ve Yükle
|
||||
|
||||
1. Sayfadan şirket adını ve rol başlığını çıkar
|
||||
2. `reports/` klasöründe şirket adına göre Grep yap (büyük/küçük harf duyarsız)
|
||||
3. Eşleşme bulunursa → tam raporu yükle
|
||||
4. Blok G varsa → önceki taslak yanıtları temel olarak al
|
||||
5. Eşleşme bulunamazsa → adayı bilgilendirip hızlı auto-pipeline öner
|
||||
|
||||
## Adım 3 — Rol Değişikliğini Tespit Et
|
||||
|
||||
Ekrandaki rol önceki değerlendirmedekinden farklıysa:
|
||||
- **Adayı uyar:** "Rol [X]'den [Y]'ye değişmiş görünüyor. Yeniden değerlendireyim mi, yoksa yanıtları yeni başlığa uyarlayayım mı?"
|
||||
- **Uyarlama:** Yeniden değerlendirmeden yanıtları yeni role göre ayarla
|
||||
- **Yeniden değerlendirme:** Tam A-F değerlendirmesi yap, raporu güncelle, Blok G'yi yeniden üret
|
||||
- **Takipçiyi güncelle:** Gerekirse `applications.md`'deki rol başlığını düzelt
|
||||
|
||||
## Adım 4 — Form Alanlarını Analiz Et
|
||||
|
||||
Görünen tüm alanları tespit et:
|
||||
- Serbest metin (ön yazı, "neden bu rol?", motivasyon vb.)
|
||||
- Açılır menüler (nereden duydunuz, çalışma izni vb.)
|
||||
- Evet/Hayır (taşınma, vize, müsaitlik vb.)
|
||||
- Maaş alanları (beklenti, aralık)
|
||||
- Dosya yükleme alanları (CV, ön yazı PDF'i)
|
||||
|
||||
Her soruyu sınıflandır:
|
||||
- **Blok G'de zaten yanıtlanmış** → mevcut yanıtı uyarla
|
||||
- **Yeni soru** → rapor + `cv.md`'den yanıt üret
|
||||
|
||||
## Adım 5 — Yanıtları Üret
|
||||
|
||||
Her soru için yanıtı şu şemaya göre oluştur:
|
||||
|
||||
1. **Rapor bağlamı:** Blok B'deki kanıt noktalarını ve Blok F'teki STAR hikayelerini kullan
|
||||
2. **Önceki Blok G:** Taslak yanıt varsa temel al ve geliştir
|
||||
3. **"Sizi seçiyorum" tonu:** Özgüvenli, yalvaran değil
|
||||
4. **Özgüllük:** Ekrandaki ilandan somut bir şeye doğrudan değin
|
||||
5. **Kanıt URL'si:** "Ek bilgi" alanı varsa demo/proje linkini ekle
|
||||
|
||||
**Türkiye'ye özgü form alanları:**
|
||||
- **Maaş beklentisi (net TL):** `profile.yml`'deki aralık, "paket yapısına göre müzakereye açığım" notu ekle
|
||||
- **Başlangıç tarihi / Müsaitlik:** İhbar süresi gerçekçi biçimde hesaba katılarak tarih ver
|
||||
- **Çalışma izni / Vatandaşlık:** Yabancı uyruklu adaylar için net ve özlü yaz
|
||||
- **Yabancı dil seviyesi:** Gerçek seviyeyi yaz; varsa YDS/YÖKDİL/TOEFL puanını ekle
|
||||
- **Askerlik durumu:** Tamamlandı / tecilli / muaf — kısaca belirt
|
||||
- **Referans:** Önceden haberdar ettiğin kişilerin adını ver; telefon numarası verme
|
||||
|
||||
**Çıktı formatı:**
|
||||
|
||||
```
|
||||
## [Şirket] — [Rol] için Yanıtlar
|
||||
|
||||
Dayanak: Rapor #NNN | Puan: X.X/5 | Arketip: [tür]
|
||||
|
||||
---
|
||||
|
||||
### 1. [Formdaki tam soru metni]
|
||||
> [Kopyalamaya hazır yanıt]
|
||||
|
||||
### 2. [Sonraki soru]
|
||||
> [Yanıt]
|
||||
|
||||
...
|
||||
|
||||
---
|
||||
|
||||
Notlar:
|
||||
- [Rol, değişiklikler vb. hakkında gözlemler]
|
||||
- [Adayın gözden geçirmesi gereken kişiselleştirme önerileri]
|
||||
```
|
||||
|
||||
## Adım 6 — Başvuru Sonrası (isteğe bağlı)
|
||||
|
||||
Aday başvuruyu gönderdiğini onaylarsa:
|
||||
1. `applications.md`'de durumu `Evaluated`'dan `Applied`'a güncelle
|
||||
2. Blok G'yi final yanıtlarla güncelle
|
||||
3. Sonraki adımı öner: İşe alım sorumlusuna LinkedIn erişimi için `/career-ops contacto`
|
||||
|
||||
## Scroll Yönetimi
|
||||
|
||||
Formda görünenden fazla soru varsa:
|
||||
- Adaydan scroll yapıp yeni bir ekran görüntüsü paylaşmasını iste
|
||||
- Ya da kalan soruları yapıştırmasını iste
|
||||
- Formun tamamı kapsanana kadar iterasyon halinde işle
|
||||
|
||||
## Kritik Kural
|
||||
|
||||
**Adayın onayı olmadan hiçbir şeye tıklama, form gönderme.**
|
||||
Doldur, taslak oluştur, hazırla — ama "Gönder" veya "Başvur" düğmesine basmak her zaman adayın kararıdır.
|
||||
@@ -0,0 +1,250 @@
|
||||
# Mod: is-ilani — Tam Değerlendirme A-G
|
||||
|
||||
Aday bir ilan yapıştırdığında (metin veya URL) HER ZAMAN 7 bloğun tamamını sun (A-F değerlendirme + G meşruiyet).
|
||||
|
||||
## Adım 0 — Arketip Tespiti
|
||||
|
||||
İlanı `_shared.md`'deki arketiplerden birine sınıflandır. Hibrit ise en yakın ikisini belirt. Bu tespite göre:
|
||||
- B bloğunda hangi kanıt noktalarını öne çıkaracağın belirlenir
|
||||
- E bloğunda CV özeti nasıl yeniden yazılacağı belirlenir
|
||||
- F bloğunda hangi STAR hikayeleri hazırlanacağı belirlenir
|
||||
|
||||
## Blok A — Rol Özeti
|
||||
|
||||
Şu alanları içeren bir tablo oluştur:
|
||||
- Tespit edilen arketip
|
||||
- Alan (fintech / e-ticaret / kurumsal yazılım / SaaS / oyun / telekom vb.)
|
||||
- İşlev (geliştirme / danışmanlık / yönetim / deployment)
|
||||
- Kıdem seviyesi (junior / mid / senior / staff)
|
||||
- Çalışma şekli (tam uzaktan / hibrit / ofis)
|
||||
- Takım büyüklüğü (ilanda belirtilmişse)
|
||||
- 1 cümlelik TL;DR
|
||||
|
||||
## Blok B — CV Eşleştirmesi
|
||||
|
||||
`cv.md` dosyasını oku. İlandaki her gereksinimi CV'deki tam satırlarla karşılaştıran bir tablo oluştur.
|
||||
|
||||
**Arketipe göre öne çıkarılacaklar:**
|
||||
- FDE → hızlı teslimat ve müşteri yönlü kanıt noktaları
|
||||
- SA → sistem tasarımı ve entegrasyon deneyimi
|
||||
- PM → product discovery ve metrikler
|
||||
- LLMOps → evals, observability, pipeline'lar
|
||||
- Agentic → multi-agent, HITL, orchestration
|
||||
- Transformation → değişim yönetimi, benimseme, ölçekleme
|
||||
|
||||
**Eksikler bölümü** — her eksiklik için şunları değerlendir:
|
||||
1. Sert engel mi yoksa "olsa iyi olur" mu?
|
||||
2. Aday yakın bir deneyimle telafi edebilir mi?
|
||||
3. Portfolyoda bu boşluğu kapatan bir proje var mı?
|
||||
4. Somut azaltma planı (ön yazıda kullanılacak ifade, kısa proje vb.)
|
||||
|
||||
## Blok C — Seviye ve Strateji
|
||||
|
||||
1. **İlanda belirtilen seviye** ile **adayın bu arketip için doğal seviyesi** karşılaştırması
|
||||
2. **"Kıdemliyi dürüstçe sat" planı:** Arketipe göre uyarlanmış somut ifadeler, öne çıkarılacak başarılar, özgün geçmiş deneyimi nasıl avantaja çevireceğin
|
||||
3. **"Seviye düşürülürsem" planı:** Teklif adil ise kabul et, 6. ay incelemesi müzakere et, terfi kriterlerini netleştir
|
||||
|
||||
## Blok D — Maaş ve Piyasa
|
||||
|
||||
WebSearch ile araştır:
|
||||
- Rolün güncel maaş aralıkları (Kariyer.net Maaş Rehberi, Glassdoor TR, LinkedIn Maaş, Secretcv.com)
|
||||
- Şirketin ücret itibarı (Glassdoor/Kariyer.net yorumları varsa)
|
||||
- Bu rolün Türkiye'deki ve küresel talep trendi
|
||||
|
||||
Tablo olarak sun: veriler + kaynaklar. Veri bulunamazsa uydurmak yerine açıkça belirt.
|
||||
|
||||
**Türkiye'ye özgü kontrol listesi:**
|
||||
- İlan net mi brüt mu belirtiyor?
|
||||
- Yemek kartı, özel sağlık sigortası, servis var mı?
|
||||
- Yıllık TÜFE bazlı zam garantisi sunuluyor mu?
|
||||
- Prim/bonus yapısı nedir?
|
||||
|
||||
## Blok E — Kişiselleştirme Planı
|
||||
|
||||
| # | CV Bölümü | Mevcut hali | Önerilen değişiklik | Gerekçe |
|
||||
|---|-----------|-------------|---------------------|---------|
|
||||
| 1 | Özet | ... | ... | ... |
|
||||
| ... | ... | ... | ... | ... |
|
||||
|
||||
CV için en etkili 5 değişiklik + LinkedIn profili için en etkili 5 değişiklik.
|
||||
|
||||
## Blok F — Mülakat Hazırlığı
|
||||
|
||||
İlanın gereksinimlerine eşlenmiş 6-10 STAR+R hikayesi (STAR + **Yansıma**):
|
||||
|
||||
| # | İlan Gereksinimi | STAR+R Hikayesi | S | T | A | R | Yansıma |
|
||||
|---|-----------------|-----------------|---|---|---|---|---------|
|
||||
|
||||
**Yansıma** sütunu: öğrenilen dersi veya bugün farklı yapılacak şeyi yakalar. Bu kıdemi gösterir — junior adaylar ne olduğunu anlatır, kıdemli adaylar ders çıkarır.
|
||||
|
||||
**Story Bank:** `interview-prep/story-bank.md` varsa bu hikayelerin orada olup olmadığını kontrol et. Yoksa ekle. Zamanla her mülakat sorusuna uyarlanabilecek 5-10 ana hikayeden oluşan yeniden kullanılabilir bir banka oluşur.
|
||||
|
||||
**Arketipe göre seçim ve çerçeveleme:**
|
||||
- FDE → teslimat hızı ve müşteri yönlü yaklaşım ön planda
|
||||
- SA → mimari kararlar ön planda
|
||||
- PM → discovery süreci ve trade-off'lar ön planda
|
||||
- LLMOps → metrikler, evals, production sağlamlaştırma ön planda
|
||||
- Agentic → orchestration, hata yönetimi, HITL ön planda
|
||||
- Transformation → benimseme ve kurumsal değişim ön planda
|
||||
|
||||
Ayrıca ekle:
|
||||
- 1 önerilen vaka çalışması (hangi projeyi nasıl sunacağın)
|
||||
- Kırmızı bayrak sorular ve nasıl yanıtlanacağı (örn. "Neden bu kadar kısa sürede ayrılıyorsunuz?", "Yönettiğiniz bir ekip var mıydı?")
|
||||
|
||||
---
|
||||
|
||||
## Değerlendirme Sonrası
|
||||
|
||||
Bloklar A-F tamamlandıktan sonra **HER ZAMAN** şunları yap:
|
||||
|
||||
### 1. Rapor .md Kaydet
|
||||
|
||||
Değerlendirmenin tamamını `reports/{###}-{sirket-slug}-{YYYY-MM-DD}.md` olarak kaydet.
|
||||
|
||||
- `{###}` = sıradaki numara (3 haneli, sıfır dolgulu). Bu numarayı atomik olarak atamak ve yarış durumlarını (race condition) önlemek için, numarayı rezerve etmek üzere `node reserve-report-num.mjs` komutunu çalıştırmalısınız (standart çıktı `{###}` değerini döndürür), raporu yazmalı ve ardından sentineli serbest bırakmak için `node reserve-report-num.mjs --release {###}` komutunu çalıştırmalısınız.
|
||||
- `{sirket-slug}` = şirket adı küçük harfle, boşluksuz (tire kullan)
|
||||
- `{YYYY-MM-DD}` = bugünün tarihi
|
||||
|
||||
**Rapor formatı:**
|
||||
|
||||
```markdown
|
||||
# Değerlendirme: {Şirket} — {Rol}
|
||||
|
||||
**Tarih:** {YYYY-MM-DD}
|
||||
**Arketip:** {tespit edilen}
|
||||
**Puan:** {X.X}/5
|
||||
**URL:** {ilan URL'si}
|
||||
**PDF:** ✅/❌
|
||||
**Meşruiyet:** {Güvenilir | Dikkatli İlerle | Şüpheli}
|
||||
|
||||
---
|
||||
|
||||
## A) Rol Özeti
|
||||
(Blok A'nın tam içeriği)
|
||||
|
||||
## B) CV Eşleştirmesi
|
||||
(Blok B'nin tam içeriği)
|
||||
|
||||
## C) Seviye ve Strateji
|
||||
(Blok C'nin tam içeriği)
|
||||
|
||||
## D) Maaş ve Piyasa
|
||||
(Blok D'nin tam içeriği)
|
||||
|
||||
## E) Kişiselleştirme Planı
|
||||
(Blok E'nin tam içeriği)
|
||||
|
||||
## F) Mülakat Hazırlığı
|
||||
(Blok F'nin tam içeriği)
|
||||
|
||||
## G) İlan Meşruiyeti
|
||||
(Blok G'nin tam içeriği)
|
||||
|
||||
## H) Başvuru Formu Taslak Yanıtları
|
||||
(yalnızca puan >= 4,5 ise — form alanları için taslak yanıtlar)
|
||||
|
||||
---
|
||||
|
||||
## Çıkarılan Anahtar Kelimeler
|
||||
(ATS optimizasyonu için ilandan 15-20 anahtar kelime)
|
||||
```
|
||||
|
||||
### 2. Takipçiye Kaydet
|
||||
|
||||
**Yeni** kayıt için `data/applications.md`'yi doğrudan düzenleme. Bunun yerine `batch/tracker-additions/{num}-{sirket-slug}.tsv` dosyasına tek satır TSV yaz (8 veya 9 sekme ile ayrılmış sütun):
|
||||
|
||||
```tsv
|
||||
{num}\t{date}\t{company}\t{role}\t{status}\t{score}\t{pdf_emoji}\t[{num}](reports/{num}-{slug}-{date}.md)\t{note}
|
||||
```
|
||||
|
||||
- `{num}` = sıradaki numara (tam sayı, `reports/` klasöründen hesapla)
|
||||
- `{status}` = `Evaluated`
|
||||
- `{score}` = `X.X/5` formatı (örn. `4.2/5`)
|
||||
- `{pdf_emoji}` = `✅` veya `❌`
|
||||
- `{note}` = kısa not (isteğe bağlı, sütun atlanabilir)
|
||||
|
||||
Ardından `node merge-tracker.mjs` çalıştır.
|
||||
|
||||
**Mevcut** kayıt için `data/applications.md`'de ilgili satırı doğrudan güncelle (durum, PDF, rapor bağlantısı).
|
||||
|
||||
---
|
||||
|
||||
## İlan Meşruiyeti (Blok G)
|
||||
|
||||
İlanın gerçek ve aktif olup olmadığını değerlendir. Bu değerlendirme global puanı (1-5) **etkilemez** — ayrı bir nitel tespittir.
|
||||
|
||||
**Etik çerçeve:** Gözlemler sun, iddialarda bulunma. Her sinyalin meşru açıklaması olabilir. Kararı kullanıcı verir.
|
||||
|
||||
### Analiz Edilecek Sinyaller (önem sırasıyla):
|
||||
|
||||
**1. İlan Tazeliği** (Playwright snapshot'ından):
|
||||
- Yayın tarihi veya "X gün önce" bilgisi — sayfadan çıkar
|
||||
- Başvur butonu durumu (aktif / kapalı / yok / genel sayfaya yönlendiriyor)
|
||||
- URL genel kariyer sayfasına yönlendirdiyse not düş
|
||||
|
||||
**2. İlan İçerik Kalitesi** (ilan metninden):
|
||||
- Belirli teknoloji, framework veya araçlar adlandırıyor mu?
|
||||
- Takım büyüklüğü, raporlama yapısı veya organizasyon bağlamı var mı?
|
||||
- Gereksinimler gerçekçi mi? (deneyim yılı vs. teknolojinin yaşı)
|
||||
- İlk 6-12 ay için net bir kapsam var mı?
|
||||
- Maaş/ücret bilgisi var mı?
|
||||
- İlanın role özgü vs. genel şablon oranı nedir?
|
||||
- İç çelişki var mı? (junior başlık + kıdemli gereksinimler gibi)
|
||||
|
||||
**3. Şirketin İşe Alım Sinyalleri** (2-3 WebSearch sorgusu, Blok D araştırmasıyla birleştir):
|
||||
- `"{şirket}" işten çıkarma {yıl}` — tarih, kapsam, departmanları not et
|
||||
- `"{şirket}" işe alım dondurma {yıl}` — varsa duyuruları not et
|
||||
- İşten çıkarma varsa: bu roldeki departmanı etkiliyor mu?
|
||||
|
||||
**4. Yeniden Yayın Tespiti** (`scan-history.tsv`'den):
|
||||
- Şirket + benzer rol başlığının farklı URL ile daha önce göründüğünü kontrol et
|
||||
- Kaç kez ve hangi süre içinde tekrarlandığını not et
|
||||
|
||||
**5. Rol Piyasa Bağlamı** (ek sorgu gerektirmez):
|
||||
- Bu, genellikle 4-6 haftada dolan yaygın bir rol mü?
|
||||
- Rol bu şirketin işine uygun mu?
|
||||
|
||||
### Çıktı Formatı:
|
||||
|
||||
**Değerlendirme:** Üç seviyeden biri:
|
||||
- **Güvenilir** — Birden fazla sinyal gerçek ve aktif bir ilan olduğunu gösteriyor
|
||||
- **Dikkatli İlerle** — Dikkat edilmesi gereken karma sinyaller var
|
||||
- **Şüpheli** — Birden fazla hayalet ilan göstergesi mevcut; zaman harcamadan önce araştır
|
||||
|
||||
**Sinyaller tablosu:** Her sinyal, bulgusu ve ağırlığıyla (Olumlu / Nötr / Endişe Verici).
|
||||
|
||||
**Bağlam Notları:** İlgili uyarılar (niş rol, kamu kurumu ilanı, sürekli açık pozisyon vb.).
|
||||
|
||||
**Türkiye'ye özgü sinyaller:**
|
||||
- Kariyer.net / Yenibiris.com'da yayın tarihi (30 günden eski mi?)
|
||||
- Şirket köklü mü yoksa yeni kurulan mı?
|
||||
- İlan çok genel mi (kopyala-yapıştır şablonu gibi görünüyor mu)?
|
||||
- Maaş "rekabetçi" dışında herhangi bir bilgi içeriyor mu?
|
||||
- Şirkete ilişkin son dönemde işten çıkarma veya kapanma haberleri var mı?
|
||||
|
||||
### Özel durumlar:
|
||||
- **Kamu/akademik ilanlar:** Uzun süreçler standarttır. Eşikleri ayarla (60-90 gün normal kabul edilir).
|
||||
- **Sürekli açık pozisyonlar:** İlan "süregelen" veya "dönemsel alım" diyorsa not düş — bu hayalet ilan değil, pipeline rolüdür.
|
||||
- **Üst düzey / niş roller:** Staff+, VP, Direktör veya yüksek uzmanlaşma gerektiren roller meşru olarak aylarca açık kalabilir.
|
||||
- **Erken aşama startup:** Rol henüz tam şekillenmemiş olduğundan ilanın muğlak yazılmış olması normaldir. İçerik belirsizliğine daha az ağırlık ver.
|
||||
- **Tarih bilgisi yok:** Yayın tarihi belirlenemiyorsa ve başka endişe verici sinyal yoksa varsayılan olarak "Dikkatli İlerle" kullan. Kanıt olmaksızın asla "Şüpheli" deme.
|
||||
- **Recruiter kaynağı (kamuya açık ilan yok):** Tazelik sinyali alınamaz. Aktif recruiter temasının kendisinin olumlu bir meşruiyet sinyali olduğunu not et.
|
||||
|
||||
---
|
||||
|
||||
## Puanlama (1-5 global)
|
||||
|
||||
| Boyut | Ne ölçülüyor |
|
||||
|-------|-------------|
|
||||
| CV Eşleşmesi | Beceriler, deneyim ve kanıt noktalarının örtüşmesi |
|
||||
| Hedef Rol Uyumu | İlanın hedef arketiplerle uyumu (`_profile.md`'den) |
|
||||
| Maaş | Teklifin piyasa konumu |
|
||||
| Kültürel Sinyaller | Şirket kültürü, büyüme, istikrar, çalışma şekli |
|
||||
| Kırmızı Bayraklar | Engelleyiciler ve uyarılar (negatif düzeltme) |
|
||||
| **Global** | Yukarıdakilerin ağırlıklı ortalaması |
|
||||
|
||||
**Puan yorumu:**
|
||||
- 4,5+ → Güçlü eşleşme, hemen başvur
|
||||
- 4,0-4,4 → İyi eşleşme, başvurmaya değer
|
||||
- 3,5-3,9 → Kabul edilebilir ama ideal değil; özel bir neden olmadıkça geç
|
||||
- 3,5'in altı → Başvuru önerilmez
|
||||
@@ -0,0 +1,61 @@
|
||||
# Mod: pipeline — İlan Gelen Kutusu
|
||||
|
||||
`data/pipeline.md` dosyasına biriktirilen iş ilanı URL'lerini işler. İstediğin zaman URL ekle, hazır olduğunda `/career-ops pipeline` komutunu çalıştır.
|
||||
|
||||
## İş Akışı
|
||||
|
||||
1. **Oku** `data/pipeline.md` → "Bekleyenler" bölümündeki `- [ ]` satırlarını bul
|
||||
2. **Her bekleyen URL için:**
|
||||
a. Sıradaki `REPORT_NUM` değerini atomik olarak rezerve etmek üzere `node reserve-report-num.mjs` komutunu çalıştır (ve rapor yazıldıktan sonra `node reserve-report-num.mjs --release <num>` çalıştırarak sentineli serbest bırak)
|
||||
b. **İlan içeriğini çek:** Playwright (browser_navigate + browser_snapshot) → WebFetch → WebSearch. **Playwright kullanılmadıysa** (toplu/headless mod veya yedek yola düşüldüyse) rapor başlığına `**Doğrulama:** doğrulanmamış (toplu mod)` etiketini ekle.
|
||||
c. URL erişilemiyorsa → `- [!]` olarak işaretle, not ekle ve bir sonrakine geç
|
||||
d. **Tam pipeline'ı çalıştır:** A-G değerlendirmesi → Rapor (.md) → PDF (puan ≥ 3,0 ise) → Takipçi
|
||||
e. **"Bekleyenler"den "İşlenenler"e taşı:** `- [x] #NNN | URL | Şirket | Rol | Puan/5 | PDF ✅/❌`
|
||||
3. **3 veya daha fazla URL varsa ve Playwright kullanılmıyorsa** paralel ajan başlat (Agent aracı, `run_in_background`) — hızı artırır. Playwright etkinse tek tarayıcı örneği paylaşıldığından sıralı işle.
|
||||
4. **Tamamlanınca** özet tabloyu göster:
|
||||
|
||||
```text
|
||||
| # | Şirket | Rol | Puan | PDF | Önerilen eylem |
|
||||
```
|
||||
|
||||
## pipeline.md Formatı
|
||||
|
||||
```markdown
|
||||
## Bekleyenler
|
||||
- [ ] https://kariyer.net/is-ilani/12345
|
||||
- [ ] https://boards.greenhouse.io/sirket/jobs/456 | Şirket A.Ş. | Senior Backend Engineer
|
||||
- [!] https://ozel.url/ilan — Hata: giriş gerekiyor
|
||||
|
||||
## İşlenenler
|
||||
- [x] #143 | https://kariyer.net/is-ilani/789 | Acme Teknoloji | Backend Developer | 4.2/5 | PDF ✅
|
||||
- [x] #144 | https://boards.greenhouse.io/xyz/jobs/012 | BigCo | Frontend Engineer | 2.1/5 | PDF ❌
|
||||
```
|
||||
|
||||
> Not: Bölüm başlıkları EN ("Pending"/"Processed"), ES ("Pendientes"/"Procesadas") veya TR ("Bekleyenler"/"İşlenenler") olabilir. Okurken esnek ol; yazarken mevcut dosyanın stilini koru.
|
||||
|
||||
## URL'den İlan İçeriği Çekme
|
||||
|
||||
1. **Playwright (tercih edilen):** `browser_navigate` + `browser_snapshot` — tüm SPA'larla çalışır.
|
||||
2. **WebFetch (yedek):** Playwright mevcut değilse (toplu/headless mod). Bu durumda rapor başlığına `**Doğrulama:** doğrulanmamış (toplu mod)` ekle — kullanıcı daha sonra manuel doğrulayabilir.
|
||||
3. **WebSearch (son çare):** İlanı indeksleyen diğer platformlarda ara. WebFetch'te olduğu gibi rapor başlığına `**Doğrulama:** doğrulanmamış (toplu mod)` ekle.
|
||||
|
||||
**Özel durumlar:**
|
||||
- **Kariyer.net:** Playwright ile sorunsuz çalışır; giriş gerektirmez.
|
||||
- **Yenibiris.com:** Playwright ile çalışır.
|
||||
- **LinkedIn:** Giriş gerektirebilir → `[!]` olarak işaretle, adaydan ilan metnini yapıştırmasını iste.
|
||||
- **PDF linki:** URL doğrudan bir PDF'e işaret ediyorsa Read aracıyla oku.
|
||||
- **`local:` öneki:** Yerel dosyayı oku. Örnek: `local:jds/kariyer-backend.md` → `jds/kariyer-backend.md` oku.
|
||||
|
||||
## Rapor Numaralandırma
|
||||
|
||||
1. Sıradaki rapor numarasını atomik olarak rezerve etmek için `node reserve-report-num.mjs` komutunu çalıştır (standart çıktı `{###}` değerini döndürür).
|
||||
2. Bu numarayı kullanarak rapor dosyasını yaz.
|
||||
3. Rapor yazıldıktan sonra `node reserve-report-num.mjs --release {###}` komutunu çalıştırarak sentineli serbest bırak.
|
||||
|
||||
## Başlamadan Önce
|
||||
|
||||
Herhangi bir URL'yi işlemeden önce yapılandırma kontrolü çalıştır:
|
||||
```bash
|
||||
node cv-sync-check.mjs
|
||||
```
|
||||
Uyarı varsa adayı bilgilendirmeden devam etme.
|
||||
Reference in new issue
Block a user