Install
$ agentstack add skill-orhoncan-zotero-notebooklm-skill-zotero-notebooklm-skill ✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
About
Zotero koleksiyonlarını NotebookLM defterlerine senkronize ediyorsun. Kaynakları yükle, çıktılar üret, isteğe bağlı olarak deep research ile genişlet.
Setup
Bu adımları ilk mesajda paralel olarak yap:
- Zotero MCP kontrolü:
ToolSearchile"zotero add_by_doi"ara.mcp__zotero-mcp__zotero_add_by_doibulunamazsa: "54yyyu/zotero-mcp(zotero-mcp-server) gerekli. Kurulum:uv tool install zotero-mcp-server" yaz ve dur.
- NotebookLM MCP kontrolü:
ToolSearchile"notebooklm notebook_create"ara.mcp__notebooklm-mcp__notebook_createbulunamazsa: "jacob-bd/notebooklm-mcp-cligerekli. Kurulum:uv tool install notebooklm-mcp-cli" yaz ve dur.
- Auth kontrolü:
mcp__notebooklm-mcp__server_infoçağır. Auth hatası gelirse kullanıcıyı! nlm loginçalıştırmaya yönlendir.
Her iki MCP de hazırsa devam et.
Mod tespiti: Kullanıcı koleksiyon adı verdiyse hızlı mod, vermediyse interaktif mod.
Dil / Language: Kullanıcı hangi dilde yazıyorsa tüm yanıtları, ilerleme mesajlarını ve raporu o dilde ver. Komutlar hem Türkçe hem İngilizce biçimde kabul edilir (ör. genişlet = expand, seç = select, özet = summary); aşağıdaki tablolarda her komutun iki biçimi de listelidir. Whatever language the user writes in, respond, report, and accept commands in that same language.
Adım 1 - Koleksiyon Seçimi
Hızlı mod (koleksiyon adı verildi)
mcp__zotero-mcp__zotero_search_collectionsile verilen adı ara.- Bulunamazsa
mcp__zotero-mcp__zotero_get_collectionsile tüm koleksiyonları listele, kullanıcıya göster.
İnteraktif mod (koleksiyon adı verilmedi)
mcp__zotero-mcp__zotero_get_collectionsile koleksiyonları listele.- Kullanıcıdan numara veya isimle seçim iste.
Koleksiyon seçildikten sonra
mcp__zotero-mcp__zotero_get_collection_itemsile makaleleri getir.- Eğer >15 makale varsa uyar: "Bu koleksiyonda {N} makale var. NotebookLM'de optimum 10-15 kaynak. Hepsini yükleyelim mi, yoksa alt seçim yapmak ister misin?"
Adım 2 - Defter Oluşturma
mcp__notebooklm-mcp__notebook_listile mevcut defterleri kontrol et.- Aynı isimde defter varsa sor: "'{name}' adında bir defter zaten var. Mevcut deftere ekle mi, yenisini oluştur mu?"
- Yeni defter:
mcp__notebooklm-mcp__notebook_create(title="{koleksiyon_adı}") - Dönen notebook_id'yi kaydet - sonraki adımlarda kullanılacak.
Adım 3 - Kaynak Yükleme
Önce mevcut kaynakları kontrol et (tekrar-çalıştırma güvenliği): mcp__notebooklm-mcp__notebook_get(notebook_id="{nb_id}") ile defterdeki mevcut kaynakların başlıklarını al. Aynı koleksiyonu ikinci kez çalıştırmak duplicate kaynak yaratır; başlığı zaten defterde olan makaleleri atla ve raporda "zaten yüklü" diye not et. Anotasyon/Readwise kaynakları için de aynı başlık eşleştirmesini uygula.
Her (yüklenmemiş) makale için sırayla:
- PDF'i tercih et - tam metni context'ten geçirme.
mcp__zotero-mcp__zotero_get_item_children(item_key="{makale_key}") ile ekleri al. Yerel yolu olan bir PDF eki varsa, dosyayı doğrudan yükle: mcp__notebooklm-mcp__source_add(notebook_id="{nb_id}", source_type="file", file_path="{pdf_yolu}", title="{makale_başlığı}") Neden: PDF'i dosya olarak yüklemek tam metni Claude'un context'ine çekmediği için çok daha az token harcar ve makalenin yapısını (şekiller, atıflar, başlıklar) korur; NotebookLM PDF'i native işler.
- Yalnızca PDF eki yoksa fallback olarak tam metni kullan:
mcp__zotero-mcp__zotero_get_item_fulltext ile metni al, sonra mcp__notebooklm-mcp__source_add(notebook_id="{nb_id}", source_type="text", text="{fulltext}", title="{makale_başlığı}")
mcp__zotero-mcp__zotero_get_annotationsile anotasyonları kontrol et. Varsa:
- Anotasyonları derle ve ayrı bir metin kaynağı olarak ekle:
mcp__notebooklm-mcp__source_add(notebook_id="{nb_id}", source_type="text", text="{derlenmiş_anotasyonlar}", title="Araştırmacı Notları: {makale_adı}")
İlerleme: Her yükleme sonrası "{loaded}/{total} kaynak yüklendi..." yaz.
Hata yönetimi:
- Yüklenemeyen makaleleri atla, raporda not et.
- NotebookLM kaynak limiti (50) dolunca uyar ve
mcp__notebooklm-mcp__notebook_createile ikinci bir defter oluştur.
Adım 4 - Readwise Entegrasyonu (opsiyonel)
Yalnızca kullanıcı açıkça istediğinde tetiklenir ("Readwise highlight'larımı da ekle" veya readwise komutu).
ToolSearchile readwise araçlarını kontrol et. Yoksa "Readwise MCP mevcut değil, bu adım atlanıyor." de ve geç.- Her makale başlığı için
mcp__readwise__readwise_search_highlightsile eşleşen highlight'ları ara. - Eşleşen highlight'ları makale bazında grupla, tek bir metin kaynağı olarak deftere ekle:
mcp__notebooklm-mcp__source_add(notebook_id="{nb_id}", source_type="text", text="{derlenmiş_highlights}", title="Readwise Highlight'ları")
- Eşleşme yoksa: "Readwise'da eşleşen highlight bulunamadı."
Adım 5 - Çıktı Seçimi (interaktif modda)
Hızlı modda bu adımı atla.
Kullanıcıya seçenekleri sun (birden fazla seçilebilir):
| Komut / Command | Çıktı | MCP Aracı | |-----------------|-------|-----------| | podcast | Audio Overview | mcp__notebooklm-mcp__studio_create(notebook_id, artifact_type="audio") | | slayt / slides | Slayt sunumu | mcp__notebooklm-mcp__studio_create(notebook_id, artifact_type="slides") | | video | Video | mcp__notebooklm-mcp__studio_create(notebook_id, artifact_type="video") | | infografik / infographic | İnfografik | mcp__notebooklm-mcp__studio_create(notebook_id, artifact_type="infographic") | | harita / map | Literatür haritası | mcp__notebooklm-mcp__notebook_query ile metin sorgusu | | özet / summary | Karşılaştırmalı özet | mcp__notebooklm-mcp__notebook_query ile metin sorgusu | | sorgu / query | Serbest soru | mcp__notebooklm-mcp__notebook_query | | yok / none | Çıktı yok, defter hazır | - |
podcast / slayt / video / infografik
- Önce onay al. Bu üretimler pahalı ve geri alınamaz (NotebookLM'de kota harcar);
confirm=truevermeden önce kullanıcıya "{tip} oluşturulsun mu?" diye sor. Kullanıcı zaten açıkça istediyse (ör. baştan "podcast üret" dediyse) tekrar sorma. - Onay sonrası
mcp__notebooklm-mcp__studio_create(notebook_id="{nb_id}", artifact_type="{tip}", confirm=true)ile oluştur. mcp__notebooklm-mcp__studio_status(notebook_id="{nb_id}")ile durumu kontrol et.- Hazır olunca
mcp__notebooklm-mcp__download_artifact(notebook_id="{nb_id}", artifact_type="{tip}")ile indir. - Uzun sürerse: "Oluşturuluyor, 3-5 dk sürebilir. Kontrol edeyim mi?"
harita
mcp__notebooklm-mcp__notebook_query(notebook_id="{nb_id}", question="Bu defterdeki tüm kaynaklar arasındaki tematik bağlantıları, metodolojik yaklaşımları ve temel argümanları haritalandır. Hangi makale hangi makaleyle ne konuda örtüşüyor, nerede ayrışıyor?") ile sor.
özet
mcp__notebooklm-mcp__notebook_query(notebook_id="{nb_id}", question="Bu defterdeki her kaynağın temel argümanını, metodolojisini ve bulgularını 2-3 cümleyle özetle. Sonra kaynaklar arasındaki ortak temalar ve çelişkileri belirt.") ile sor.
sorgu
Kullanıcının sorusunu doğrudan mcp__notebooklm-mcp__notebook_query(notebook_id="{nb_id}", question="{kullanıcı_sorusu}") ile gönder. Conversation ID döndüyse takip sorularında kullan.
Adım 6 - Deep Research ile Genişletme (opsiyonel)
Tetikleyici: Kullanıcı "genişlet" / "expand" veya "ilgili kaynak bul" / "find related sources" dediğinde.
- Boşluk analizi:
mcp__notebooklm-mcp__notebook_query(notebook_id="{nb_id}", question="Bu defterdeki kaynaklarda ele alınmayan ama konuyla doğrudan ilişkili hangi perspektifler, metodolojiler veya alt konular eksik?")
- Deep research başlat:
mcp__notebooklm-mcp__research_start(notebook_id="{nb_id}", query="{boşluk_analizinden_türetilen_sorgu}", mode="fast")
- Deep mod gerekiyorsa:
mode="deep"(~5 dk, web araması)
- Durumu kontrol et:
mcp__notebooklm-mcp__research_status(notebook_id="{nb_id}")
- Bulunan kaynakları sun: Numaralı liste halinde göster. Kullanıcı seçtikten sonra:
mcp__notebooklm-mcp__research_import(notebook_id="{nb_id}", task_id="{task_id}", indices="{seçilen}")
- Zotero'ya da ekle (iki yönlü senkronizasyon):
- Her kaynak için
mcp__zotero-mcp__zotero_search_itemsile Zotero'da var mı kontrol et. - Yoksa:
- DOI varsa:
mcp__zotero-mcp__zotero_add_by_doi(doi="{doi}") - URL varsa:
mcp__zotero-mcp__zotero_add_by_url(url="{url}") - Koleksiyona ata:
mcp__zotero-mcp__zotero_manage_collections(item_id="{id}", collection_id="{col_id}", action="add")
- Zaman aşımı: 5 dakikayı geçerse sor: "Deep research devam ediyor. 3 dk sonra tekrar kontrol edeyim mi?"
Adım 7 - Rapor
Pipeline tamamlandığında aşağıdaki formatı göster:
Zotero NotebookLM Raporu
Koleksiyon: {koleksiyon_adı}
Defter: {defter_adı} (ID: {nb_id})
Yüklenen kaynaklar: {N}/{total}
- PDF (dosya) olarak: {n_pdf}
- Metin olarak (fallback): {n_text}
- Anotasyon kaynağı: {n_annot}
- Zaten yüklüydü, atlandı: {n_skip}
Readwise: {eklendi / kullanılmadı}
Oluşturulan çıktılar: {liste}
Deep Research - yeni kaynaklar: {N} {liste}
Atlanan/hata: {liste veya "Yok"}
İnteraktif Komutlar
Pipeline sırasında veya sonrasında kullanıcı bu komutları verebilir:
| Komut / Command | İşlev | |-----------------|-------| | listele / list | Zotero koleksiyonlarını göster | | seç N / select N | N numaralı koleksiyonu seç | | hepsini yükle / upload all | Tüm makaleleri onay sormadan yükle | | podcast | Audio Overview oluştur | | slayt / slides | Slayt sunumu oluştur | | video | Video oluştur | | infografik / infographic | İnfografik oluştur | | harita / map | Literatür haritası | | özet / summary | Karşılaştırmalı özet | | sorgu "..." / query "..." | Deftere soru sor | | genişlet / expand | Deep research ile yeni kaynak bul | | readwise | Readwise highlight'larını dahil et | | durum / status | Çıktıların oluşturma durumunu kontrol et (studio_status) | | indir / download | Hazır çıktıları indir (download_artifact) | | dur / stop | Mevcut adımı durdur | | atla / skip | Mevcut adımı geç | | rapor / report | Şu ana kadar yapılanların özetini ver |
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: orhoncan
- Source: orhoncan/zotero-notebooklm-skill
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet — be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.