7365242875c9e8ee5ebdb54d4c796324ac39df74
Критичный баг-фикс по режиму «Пожелания из совещания». Проблема: сервер Devprom на POST /issue/items молча игнорирует поле Content, упомянутое в публичной документации /docs/8835.html. Запись создаётся с пустым телом, HTTP 200, UID возвращается — никакого сигнала об ошибке. Правильное имя поля для тела пожелания на эндпоинте /issue/items — Description. Выявлено при проверке U-6186 (Артур): поле Description пустое, хотя POST вернул валидный UID. Та же проблема обнаружилась на 6 пожеланиях Тепловин U-6189..U-6194 — все с пустым телом. Пересоздано как U-6198..U-6203 с полем Description, размер тела 1565–2172 символа, верификация пройдена. Правки скилла: - devprom-alm-api.md §0: новый блок «Критично: сервер молча отбрасывает незнакомые поля» + обязательная схема контрольного GET с ассертами. Список известных тихих ловушек (Content вместо Description, Type.Id='' в request/items, Requirement в POST). - devprom-alm-api.md §2: рецепт с Description + встроенные ассерты. - devprom-alm-api.md §3: справочник полей — Description с пояснением про Content и документацию, требование GET-проверки. - devprom-alm-api.md appendix: curl-примеры с Description. - meeting-wishes-extraction.md Шаг 6: Description в инструкции + ссылка на секцию «тихое отбрасывание». - meeting-wishes-extraction.md Шаг 7: жёсткая формулировка «Ответ POST — недостаточное подтверждение успеха», ассерты на префикс UID, содержимое Description, Priority, Function; визуальная проверка в UI. - meeting-wishes-extraction.md Python-шаблон: Description + ассерты на размер тела (>100 символов).
claude-skills
Custom skills for Claude.ai (claude.ai → Settings → Skills).
Skills
| Skill | Description |
|---|---|
| bulletproof | 12-stage adaptive dev workflow (research → deploy). Adapted for Python/Docker/Traefik/MikroTik/embedded stacks, Gitea CI/CD, SonarQube. Based on Bulletproof v5.0 by Artemiy Miller. |
| embedded-firmware-engineer | Bare-metal & RTOS firmware: ESP32/ESP-IDF, STM32 HAL/LL, Nordic nRF, FreeRTOS, Zephyr. NASA/JPL Power of Ten rules, banned functions, DMA/cache coherence, GPIO policy, watchdog strategy, brown-out testing. |
| my-python-senior | Senior-level Python engineer for systems, containers, LLM workflows, networking, and file processing. |
| obsidian-memory | Protocol for using creator/obsidian-vault (Gitea repo) as Claude's long-term memory for the user's personal projects (infra, embedded, 1C-consulting, lotus-eletre, etc.). Vault layout, frontmatter conventions, Gitea REST API mechanics, write-permission boundaries, domain routing vs ucnl-market-memory. |
| pcb-ai-engineer | Code-driven schematic & PCB design using Circuit-Synth (Python) → KiCad → Altium. Universal STM-family abstraction with family → package → pinmap → capabilities data model. |
| ucnl-market-memory | Protocol for using ucnlmarket/ucnl-market-memory (Gitea repo) as Claude's long-term memory for UCN marketing and sales (clients, distributors, leads, trade shows, pricing, uWave/Zima2/uSpeak/USBL product marketing, export deals, regional markets). Multi-user (creator / d.zaitsev / v.vinogradova). sensitive: true flag for commercial data. Strict domain routing vs obsidian-memory. |
Structure
claude-skills/
├── README.md
├── bulletproof/
│ ├── SKILL.md
│ ├── agents/
│ │ └── code-reviewer.md
│ └── templates/
│ ├── handoff.md
│ ├── plan.md
│ ├── research.md
│ └── spec.md
├── embedded-firmware-engineer/
│ └── SKILL.md
├── my-python-senior/
│ ├── SKILL.md
│ ├── ai-ml-llm.md
│ ├── containers.md
│ ├── files-io.md
│ ├── networking.md
│ └── systems.md
├── obsidian-memory/
│ └── SKILL.md
├── pcb-ai-engineer/
│ ├── SKILL.md
│ ├── main.py
│ ├── mcu_core.py
│ ├── mcu_db.py
│ ├── mcu_peripherals.py
│ └── power.py
└── ucnl-market-memory/
└── SKILL.md
Usage
Each subdirectory is a standalone skill. Upload to Claude.ai via Settings → Profile → Custom Skills, or point Claude Code's --skill flag at the SKILL.md file.
License
Private — for personal use only.
Description
Languages
Python
60.9%
HTML
39.1%