Alterlab yokatlas
Skill AlterLab-IEU/AlterLab-Academic-Skills/skills/turkish-academia/alterlab-yokatlas
239 evaluated academic Claude/agent skills across 17 research domains (bioinformatics, data science, clinical, social-science methods, Turkish academia & more). Executable eval per skill, deterministic citation verifier, research→write→review→publish pipeline, and a skill-finder front door. Claude Code, Cursor, Codex, Gemini CLI & Copilot.
npx -y skills add AlterLab-IEU/AlterLab-Academic-Skills --skill alterlab-yokatlasAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
What its author says it does
Copied from the file, not written here
Retrieves Türkiye higher-education program and admission statistics from YÖK Atlas (yokatlas.yok.gov.tr) — quotas (kontenjan), placements (yerleşen), minimum admission scores (taban puan), success ranks (başarı sırası), and per-title academic-staff counts — via the keyless yokatlas-py (>=0.6.0, MIT) wrapper over the JSON API at /api/tercih-kilavuz/ (search, universiteler, universite-programlar), with SearchFilters for puan türü (SAY/SÖZ/EA/DİL/TYT), university type (DEVLET/VAKIF), province, and success-rank ranges. Use when the request mentions YÖK Atlas, program statistics, kontenjan/quota data, taban puan/minimum admission score, başarı sırası/success rank, placement counts, or program staff counts for institutional research, program benchmarking, or student advising. For an academic's CV/profile/affiliation prefer alterlab-yok-akademik; for theses prefer alterlab-yok-tez. Legacy PHP endpoints are dead post-April-2026; only the JSON API is used. Part of the AlterLab Academic Skills suite.
The file declares its own license as MIT. That is the author’s claim about this one file, and it is not the same thing as the license GitHub reports for the repository, which is listed with the other numbers below.
SKILL.md
9.8 KB, as published. Nobody here has run it
YÖK Atlas — Türkiye University Program & Admission Statistics
Retrieves official program-level statistics from YÖK Atlas (Yükseköğretim
Kurulu Atlası — the Council of Higher Education's program atlas) for any
undergraduate (lisans) or associate (önlisans) program in Türkiye: quotas,
placements, minimum admission scores, success ranks, and academic-staff head
counts by title. It wraps the keyless YÖK Atlas JSON API through the
maintained yokatlas-py package, so the same query yields the same structured
records — no HTML scraping, no API key.
This is the statistics skill. It does not look up an individual
academic's CV, publications, or affiliation — that is alterlab-yok-akademik,
a separately architected YÖK system (see the routing table below).
When to Use This Skill
Use it when the user wants program- or university-level numbers from YÖK Atlas:
YÖK Atlas'tan Boğaziçi Bilgisayar Mühendisliği taban puanını ve başarı sırasını çıkar
Compare the kontenjan and yerleşen counts for all Tıp programs at state universities
What was the minimum SAY score for Hacettepe Elektrik-Elektronik Mühendisliği last year?
List every university in YÖK Atlas and the academic-staff counts for a given program
How many professors vs. araştırma görevlisi does this department have?
→ Run scripts/yokatlas_lookup.py (a thin yokatlas-py wrapper), read the JSON,
then present the requested statistics as a table. Always state the data year and
that figures come from YÖK Atlas.
Canonical Turkish terms (English gloss on first use)
| Turkish | Gloss | API field |
|---|---|---|
| kontenjan | quota (seats offered) | kontenjan |
| yerleşen | placed (students enrolled) | yerlesen |
| taban puan | minimum admission score | min_puan |
| başarı sırası | success rank (national rank of last placed student) | basari_sirasi |
| puan türü | score type (SAY/SÖZ/EA/DİL/TYT) | puan_turu |
| lisans / önlisans | bachelor's / associate degree | birim_turu_id 46 / 47 |
| kılavuz kodu | guide code (unique program id) | kilavuzKodu |
Academic-staff title counts are returned as prof (profesör), doc (doçent),
dou (doktor öğretim üyesi), ogr_gor (öğretim görevlisi), and ar_gor
(araştırma görevlisi — research assistant).
⚠️ Endpoint caveat (read before scraping anything)
As of April 2026 YÖK Atlas migrated from server-rendered PHP to a React SPA
backed by a JSON API. The legacy PHP endpoints are dead — lisans.php?y=…,
lisans-panel.php, and tercih-sihirbazi-*.php now return only an empty SPA
shell. Never scrape them. Use only the JSON API under
/api/tercih-kilavuz/ (or, as this skill does, yokatlas-py which wraps it).
Endpoint and field details: references/api_endpoints.md.
Does NOT Trigger — route these elsewhere
| The user actually wants… | Route to |
|---|---|
| An academic's CV, publications, projects, theses supervised, or official affiliation (akademik.yok.gov.tr) | alterlab-yok-akademik |
| A graduate thesis (tez) — full text, abstract, originality/novelty check (Ulusal Tez Merkezi) | alterlab-yok-tez |
| Whether a journal is indexed in TR Dizin, or a journal/article search | alterlab-trdizin |
| Articles hosted on DergiPark (harvest, BibTeX, journal scope) | alterlab-dergipark |
| Computing doçentlik (associate-professor) eligibility points | alterlab-docentlik-eligibility |
| Computing akademik teşvik (academic-incentive) score | alterlab-akademik-tesvik |
| Scaffolding a TÜBİTAK ARDEB 1001/1002-A proposal | alterlab-tubitak-proposal |
| Publication metadata for an author (DOIs, citations, h-index) | alterlab-research-lookup / alterlab-openalex |
This skill answers "what are the admission/quota/staff numbers for this program or university?" — nothing about an individual scholar's output.
How It Works
The data source
| Surface | What it returns |
|---|---|
/api/tercih-kilavuz/universiteler | the university list ({universiteAdi, universiteId}) — verified live |
/api/tercih-kilavuz/universite-iller | provinces (il) |
/api/tercih-kilavuz/universite-programlar | programs per university |
/api/tercih-kilavuz/search | program search with SearchFilters |
yokatlas-py (MIT, Python >=3.10) exposes these as module-level functions
search_programs(filters_dict, size=…), get_program(kilavuz_kodu), and
list_universities() (227 records on the 2026-06-06 live check; plus a
YokAtlasClient / SearchFilters / Program object API). It normalizes
Turkish characters (İ/ı, Ş/ş, Ğ/ğ, Ç/ç, Ö/ö, Ü/ü)
for fuzzy matching, so "boğaziçi" and "bogazici" both resolve. Full filter
and field reference: references/api_endpoints.md.
Pipeline
-
Pick the operation from the request: list universities, search programs, or fetch one program by its kılavuz kodu (guide code).
-
Build filters. The common
SearchFiltersfields arepuan_turu(SAY/SÖZ/EA/DİL/TYT),universite,program,il(province),universite_turu(DEVLET/VAKIF), andmin_basari_sirasi/max_basari_sirasifor a success-rank window. Seereferences/api_endpoints.mdfor the full list. -
Run the helper:
uv run --with yokatlas-py python \ skills/turkish-academia/alterlab-yokatlas/scripts/yokatlas_lookup.py \ search --puan-turu SAY --universite "boğaziçi" --program "bilgisayar" --size 20Other subcommands:
# All universities (id + name) uv run --with yokatlas-py python .../yokatlas_lookup.py universities # One program's multi-year statistics by guide code uv run --with yokatlas-py python .../yokatlas_lookup.py program --kod 102210277The script prints a JSON envelope (
{"tool", "operation", "count", "results"}). Ifyokatlas-pyor the network is unavailable it prints a structured{"error": …, "manual_instructions": …}and exits non-zero — it never fabricates statistics. -
Read the JSON and report. For each program surface the year,
kontenjan,yerlesen,min_puan,basari_sirasi, and (when asked) the staff counts. EachProgramcarries up to four years (current+history); state which year a number is from. -
Cross-link if the user drifts. If they then ask about a person's CV or publications, hand off to
alterlab-yok-akademik; for theses,alterlab-yok-tez.
Worked Patterns
- Program benchmarking. Search the same
programacrossuniversite_turuDEVLET vs VAKIF, then tabulatemin_puan/basari_sirasiside by side. - Student advising. Given a target başarı sırası, filter with
max_basari_sirasito list programs realistically in reach. - Institutional research. Fetch a program by kılavuz kodu and report the
staff mix (
prof/doc/dou/ogr_gor/ar_gor) and the kontenjan→yerleşen fill rate across the available years.
More query recipes: references/query_recipes.md.
Caveats & Self-Check
- Pin the wrapper.
yokatlas-pyis pinned to >=0.6.0; the upstream JSON API changed once (April 2026) and broke every legacy scraper. If results look empty or malformed, re-verify the package version before reporting. - v0.6.0 dropped demographic breakdowns (gender / high-school-type splits). Do not promise those fields — only the staff/quota/score fields above are returned.
- Score type matters. A program's
min_puanis only meaningful next to itspuan_turu; always report them together. - Data year. Numbers are historical (latest plus three prior years). Never imply a figure is "current admissions" without naming its year.
- Did the script reach the network? If it returned an
errorenvelope, say so and relay themanual_instructions— do not infer numbers from memory.
References
references/api_endpoints.md— the/api/tercih-kilavuz/endpoints, the fullSearchFiltersfield list, enums (puan türü, university type, birim türü), and the returned statistic fields, with the legacy-PHP-dead caveat.references/query_recipes.md— workedyokatlas_lookup.pyinvocations for benchmarking, advising, and institutional-research questions.
Part of the AlterLab Academic Skills suite.