SPb Gorzdrav
spb-gorzdrav
Skill that finds free doctor appointment slots in Saint Petersburg via the public gorzdrav.spb.ru API and returns a booking link
Install
git clone https://github.com/cucumberian/gorzdrav-spb-skill.git ~/.agents/skills/spb-gorzdravFor environments that read the ~/.agents/skills directory.
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.
Security check
- The agent makes network requests to a city API via curl
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.
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)
```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.
Related
Obsidian skills
Obsidian Skills
Skills for agents working with Obsidian: Markdown with wikilinks, Bases, JSON Canvas, Obsidian CLI, Defuddle and Knap
Search tours, hotels, flights, trains and excursions via Aviasales, Travelata, Level.Travel, Tutu.ru, Tripster and Sputnik8
A skill pack for Yandex 360: Mail, Calendar, Contacts, Directory, Telemost, Disk, Forms and Tracker
Hosted MCP server for finding cheap round-trip flights across flexible dates, no key or signup