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

SkillMedium riskRussian stack

cucumberian/spb-gorzdrav-skill

Install

git clone https://github.com/cucumberian/gorzdrav-spb-skill.git ~/.agents/skills/spb-gorzdrav

For 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 district

Limitations

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.

Obsidian skills

Obsidian Skills

Skills for agents working with Obsidian: Markdown with wikilinks, Bases, JSON Canvas, Obsidian CLI, Defuddle and Knap

SkillMedium risk48.3K

Search tours, hotels, flights, trains and excursions via Aviasales, Travelata, Level.Travel, Tutu.ru, Tripster and Sputnik8

SkillMedium riskRussian stack16

A skill pack for Yandex 360: Mail, Calendar, Contacts, Directory, Telemost, Disk, Forms and Tracker

SkillHigh riskRussian stack10

Hosted MCP server for finding cheap round-trip flights across flexible dates, no key or signup

MCP serverMedium risk3