SPb Gorzdrav skill
spb-gorzdrav
Skill that finds free doctor appointment slots in Saint Petersburg via the public gorzdrav.spb.ru API and returns a booking link
- 0 ★ on the repository
- Last commit
- MIT
Extended access
Why this level
- The agent makes network requests to a city API via curl
Install
- Works in
Manual install
git clone https://github.com/cucumberian/gorzdrav-spb-skill.git ~/.agents/skills/spb-gorzdravFor environments that read the ~/.agents/skills directory.
Access and checks
How we reviewExtended accessThe tool runs code or makes network calls and only reads external data.
- The agent makes network requests to a city API via curl
This is third-party code. Review the repository files before installing.
What it does
Teaches the agent to walk the public Gorzdrav API chain: district, clinic, specialty, doctor and free slots. The agent finds real slots and builds a portal link with the parameters prefilled, while the person books through the site and ESIA themselves. It is read-only, with no authorization and no personal data. SKILL.md documents API pitfalls verified on live requests and an error code table.
Who it is for. Saint Petersburg residents who want an agent to search for free appointment times.
Good fit when
- You need the nearest free slot for a given specialty
- You want to compare clinics in a district by available slots
- You need to parse a schedule link from the Gorzdrav portal
Not a fit when
- You want to book or cancel an appointment: the skill forbids it on purpose
- You need clinics outside Saint Petersburg
Example request
Find me a dentist as soon as possible, I live in the Kalininsky districtLimitations
Read-only: policy lookups, patient search, booking and cancellation are forbidden. A one-second pause between requests is required and polling no more often than every 30 seconds. API errors come back as HTTP 200, so the success field is checked.
How to disable. Delete the ~/.agents/skills/spb-gorzdrav folder.
FAQ
What dependencies are needed?
Only curl. Python and jq are not required. In PowerShell call curl.exe, since curl is an alias there.
Can the agent book the appointment for me?
No. The agent returns a portal link and you book on the site via ESIA.
Discussion
No questions or reviews yet.
Related
SkillsSearch tours, hotels, flights, trains and excursions via Aviasales, Travelata, Level.Travel, Tutu.ru, Tripster and Sputnik8
A set of everyday agent skills: web search, browser automation, Gmail, Google Calendar and Drive, speech transcription and YouTube transcripts
An unofficial Python client and skill for the SberMobile account: tariff, package balances, services and bonuses
Job search inside your coding agent: scores each listing against your CV from 1 to 5, tailors a PDF resume, drafts letters and tracks applications
Agent skills for worldwide hotel and flight search and booking through the TourMind API, with live price comparison, payment and order management
A skill set for resumes and job search: tailoring to a vacancy, ATS pass-through checks, cover letters and interview preparation
README in short
The skill teaches an LLM agent to use the public REST API of Saint Petersburg's city doctor booking portal. It works with environments that read ~/.agents/skills, such as Claude Code. It includes read-only rules, request recipes, specialty ID quirks and portal link generation. Doctor names in examples are placeholders. MIT license.
README badge
Original SKILL.md
---
name: spb-gorzdrav
description: "Работа с публичным API Горздрава СПб (gorzdrav.spb.ru): районы, медучреждения (ЛПУ), специальности, врачи, расписание, поиск свободных талонов и слотов, генерация ссылки для записи. Только чтение, без авторизации и без персональных данных. Работает через curl на Linux/macOS/Windows. Триггеры: горздрав, gorzdrav, спб, талон, талоны, запись к врачу, свободные талоны, поликлиника, ЛПУ, расписание врача, прием врача, cityhealth, gorzdrav.spb.ru."
---
# spb-gorzdrav — API Горздрава Санкт-Петербурга
Публичный REST API портала `gorzdrav.spb.ru`. Авторизации нет, отдает JSON.
Скилл покрывает **только чтение**: найти поликлинику, specialty, врача, посмотреть
слоты и дать человеку ссылку для записи.
## Железные правила
1. **Только чтение.** НИКОГДА не вызывай `patient/search`, `appointment/create`,
`appointment/cancel` и `oms/attachment/lpus?polisN=` — это операции с
персональными данными (СНИЛС/ЕСИА, ФИО, дата рождения, полис) и с записью
от имени реального человека. Вне рамок явной просьбы владельца не делается.
2. **Не спамь.** Между запросами к API держи паузу `sleep 1`. Не запускай
опрос чаще, чем раз в 30 секунд, и не гоняй параллельные запросы — API
принадлежит городскому учреждению.
3. **User-Agent обязателен.** Без нормального UA часть запросов режется.
Используй `User-Agent: gorzdrav-spb-bot`.
4. **Проверять `success`, а не HTTP-код.** Ошибка приходит как **HTTP 200** с
`{"success": false, "errorCode": N, "message": "..."}`.
## База
```
BASE=https://gorzdrav.spb.ru/_api/api/v2
```
Все ответы завернуты в обертку:
```json
{ "result": <полезная нагрузка>, "success": true, "errorCode": 0,
"message": null, "stackTrace": null }
```
### Цепочка навигации (главный принцип)
```
район(district) → медучреждение(lpu) → специальность(speciality) → врач(doctor) → слот(appointment)
```