Alterlab Trdizin
Published by alterlab-ieu in alterlab-academic-skills
What this skill does
Searches TR Dizin (TÜBİTAK ULAKBİM national citation index) and verifies a journal's current national-index status through its confirmed unauthenticated REST/Elasticsearch API at https://search.trdizin.gov.tr/api/defaultSearch/{publication|journal|author|institution}/ (params q, order e.g. relevance-DESC, page), parsing hits.hits[]._source plus faceted aggregations, and derives indexing status from a journal record's isActive + journalYear coverage vs rejectYearList. Use when the user wants to s
Add Alterlab Trdizin to your agent
Review the source and files first. When you are ready, copy the prompt instruction or use the CLI command supported by your environment.
Install with a prompt
Paste this into a compatible coding agent:
add this skill "alterlab-trdizin" from https://github.com/alterlab-ieu/alterlab-academic-skillsInstall with the CLI
Run this command in a controlled environment after reviewing the repository:
npx skills add https://github.com/alterlab-ieu/alterlab-academic-skills --skill alterlab-trdizinSkill instructions
TR Dizin — National Index Search & Journal-Status Check
Searches TR Dizin (TÜBİTAK ULAKBİM's ulusal atıf dizini — the national citation index) and answers the question Turkish academics actually ask: "Is this journal indexed in TR Dizin right now?" It hits the index's confirmed keyless API, parses the Elasticsearch records, and for a journal derives a current-status verdict from the authoritative coverage fields.
TR Dizin status is a career gate: it gates doçentlik (associate-professorship) eligibility and feeds akademik teşvik (academic-incentive) / UBYT payouts. This skill verifies status; it does not compute the points — see the routing table below.
Quick Start
Is the journal "Bilig" indexed in TR Dizin?
"Toplum ve Bilim" TR Dizin'de taranıyor mu?
Find TR Dizin publications about deprem okuryazarlığı, newest first
Search TR Dizin for an author / institution
→ Run scripts/query_trdizin.py, read the JSON/table, and report the verdict.
Never assert a journal's status from memory — always query the live index.
When to Use This Skill
Use it for any of these intents:
- Check journal status — "is journal X TR Dizin indexed?", "TR Dizin'de var mı?", verify a target venue's national-index status before submitting.
- Search publications — find Turkish-indexed articles by keyword, sort by year or citation count, narrow with the returned year/subject/language facets.
- Search author / institution — locate an author or institution record in the national index.
- Audit a venue list — screen a set of journals for current TR Dizin coverage (e.g. before assembling a doçentlik dossier — but the point math is elsewhere).
Does NOT Trigger — route these to the right sibling
| If the request is really about… | Route to |
|---|---|
| DergiPark journal hosting / OAI harvest / article BibTeX (hosting ≠ indexing) | alterlab-dergipark |
| Computing doçentlik eligibility points from a publication list | alterlab-docentlik-eligibility |
| Computing akademik teşvik / UBYT incentive scores | alterlab-akademik-tesvik |
| YÖK thesis (tez) search in Ulusal Tez Merkezi | alterlab-yok-tez |
| YÖK Akademik academic profile / affiliation lookup | alterlab-yok-akademik |
| YÖK Atlas program / admission statistics | alterlab-yokatlas |
| Verifying an arbitrary citation exists (Crossref/OpenAlex/etc.) | alterlab-citation-verifier |
| Turkish APA 7 / TR Dizin citation style formatting | alterlab-tr-academic-style |
This skill answers "is it in the index, and what does the index say?" — it does not adjudicate acceptance criteria, compute career points, or format citations.
How It Works
The TR Dizin SPA is backed by an unauthenticated Elasticsearch search API (verified live 2026-06-06, HTTP 200). One endpoint, four record types:
GET https://search.trdizin.gov.tr/api/defaultSearch/{type}/?q=…&order=…&page=…
type ∈ { publication | journal | author | institution }
Full endpoint, parameter, and _source field documentation is in
references/api_reference.md. The
journal-status logic is in references/journal_status.md.
Two facts to keep honest:
- No
limitparam. The server returns ~10 hits per page and ignores a clientlimit. To collect N records, page throughpage=1,2,…and slice client-side — which is exactly what the script's--limitdoes. Do not tell the user a server-side limit exists. firstIndexDate/indexDateare query-time stamps (they come back as "now") and carry no index history. Status is derived fromisActive,journalYearcoverage, andrejectYearListonly.isActiveis not trustworthy on its own. A journal can keepisActive=truewhile coverage stopped years ago and recent years are inrejectYearList(verified: Eğitim Bilim Toplum, ISSN 1303-9202 — active, coverage→2019, rejected 2020–2023 and 2025; re-checked 2026-09-23). The script therefore checksrejectYearListagainst the latest coverage year before ever saying "currently indexed".
Pipeline
1. Pick the mode
| User intent | Command |
|---|---|
| Is journal X indexed? | query_trdizin.py journal "<title or ISSN>" |
| Find indexed articles | query_trdizin.py publication "<terms>" --order publicationYear-DESC |
| Author / institution | query_trdizin.py author "<name>" / … institution "<name>" |
2. Run the query
# Journal status (the headline use case)
uv run python skills/turkish-academia/alterlab-trdizin/scripts/query_trdizin.py \
journal "Bilig" --limit 3
# Publication search, newest first, with facets, JSON out
uv run python skills/turkish-academia/alterlab-trdizin/scripts/query_trdizin.py \
publication "deprem okuryazarlığı" \
--order publicationYear-DESC --limit 20 --facets --out trdizin.json
--order(verified enum):relevance-DESC(default),publicationYear-ASC|DESC,title-ASC|DESC,orderCitationCount-ASC|DESC.--limit Ncollects up to N records by paging client-side (default 10).--facetsadds the year / subject / language aggregations.--json/--out PATHemit the structured report; default is a readable table.- The script prefers
requests, falls back to stdliburllib— runs in a bareuvenv with no API key.
3. Report the verdict
For a journal, surface the derived verdict, e.g.:
- Currently indexed in TR Dizin (active; coverage years 2004–2026) — when
isActiveis true,journalYearshows recent coverage, and there is no reject year newer than the last covered year. - No longer indexed in TR Dizin — rejected after coverage (…) — when the most
recent
rejectYearListyear is newer than the lastjournalYearyear. This fires even ifisActiveis still true (de-indexed venue). - Rejected / not indexed (rejected years …) — when
rejectYearListis set but not newer than coverage. - Not currently active in TR Dizin — when
isActiveis false.
Quote ISSN/eISSN and the coverage years so the user can confirm it is the right journal (title collisions happen). If it matters for a submission decision, remind them TR Dizin status can change between terms — re-check before relying on it.
For publications, present a table of (year) title — journal · doi · access,
sorted as requested, and offer to refine via the facets.
Self-Check Before Reporting
- Did the API actually respond? If the script exited with
NETWORK UNAVAILABLE(exit 3), say so plainly and do not state a status from memory. - Is the matched journal the right one? Confirm by ISSN/eISSN, not title alone.
- Did the verdict come from
isActive/journalYear/rejectYearList— not from the query-time*IndexDatefields? - Is this a status question? If the user actually wants doçentlik points, teşvik scoring, DergiPark hosting, tez search, or citation formatting, hand off to the sibling skill named in the routing table above.
References
references/api_reference.md— endpoint, parameters,orderenum, response shape,_sourcefields per type, facets, and the no-limit/ query-time-date caveats (all verified live).references/journal_status.md— the indexing-status decision logic, worked examples, and why it gates doçentlik / teşvik (with hand-offs to those skills).
Part of the AlterLab Academic Skills suite.
Files included
- evals/evals.json
- references/api_reference.md
- references/journal_status.md
- scripts/query_trdizin.py
- SKILL.md
More skills
Alterlab Dergipark
alterlab-ieu/alterlab-academic-skills
No summary provided.
Audit unavailable55 installsAlterlab Yok Tez
alterlab-ieu/alterlab-academic-skills
No summary provided.
Audit unavailable54 installsAlterlab Tr Academic Style
alterlab-ieu/alterlab-academic-skills
No summary provided.
Audit unavailable54 installs

