Installs into .claude/skills of the current project.
Are you the author of Domwellbes?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/kamiletar-domwellbes)
---
name: domwellbes
description: Воркфлоу разработки domwellbes — приватный submodule, учёт времени, требования 152-ФЗ
disable-model-invocation: true
---
# DomWellbes - Воркфлоу разработки
Структура блоков старта — [шаблон](/.claude/docs/tasks-per-file.md#шаблон-блока-старта-для-скилла); ниже только то, что относится к этому приложению.
## Инициализация
1. **Сразу стартуй таймер** — `time_start({ app: "domwellbes", description: "изучение плана и постановка задачи" })`.
Не жди, пока прояснится задача — таймер обновляется через `time_switch`, когда направление
работы становится понятным (см. «Учёт времени» ниже)
2. Прочитай `.claude/rules/nextjs-apps.md` для общих правил Next.js
3. ⚠️ **Очередь задач — `apps/domwellbes/tasks/`** (формат — [tasks-per-file](/.claude/docs/tasks-per-file.md)).
Прочитай [`tasks/README.md`](/apps/domwellbes/tasks/README.md) и выполни
`bun scripts/tasks.mjs next domwellbes`. Вызов с id (`/domwellbes DW-012`) — сразу
`bun scripts/tasks.mjs show DW-012`. `PLAN_INDEX.md`, `PLAN.md` и остальные `PLAN*.md`
**заморожены** и остаются справкой: целиком их не читать, открывать только раздел из поля
`source` выбранной задачи (`grep -n` и `Read` с `offset`). Перед работой в области —
`PLAN_SHOP.md §0` и `§0.5`, если задача про магазин
## Регистрация в Agent Mail
Фиксированное имя агента: `domwellbes-dev`. Общий шаблон вызова `macro_start_session` —
см. `.claude/rules/app-workflow.md`. Модель — `claude-opus-5` (не дефолтная `claude-sonnet-5`).
Токен одной строкой: `grep -m1 '^| domwellbes ' ~/.claude/projects/C--web-letar/memory/agent_fixed_names_tokens.md` (файл целиком не читать).
⛔ **Если токен не подошёл — НЕ пытайся зарегистрировать `domwellbes-dev` повторно тем же именем.**
Это типичный симптом одновременного старта нескольких `/domwellbes`: сервер проверяет владение
именем check-then-act, не атомарно, и retry тем же именем — ровно тот механизм, который уводит имя
в чужие руки (разбор — `.claude/rules/agent-mail.md`). Вместо этого сразу `create_agent_identity`
без `name_hint` (гарантированно уникальное имя), запиши в `agent_fixed_names_tokens.md` как рабочее
имя «пока domwellbes-dev занята» и работай под ним. Если и это не вариант — работай без координации
(конфликтов по коду нет — приватный submodule правит только его же агент).
## Действия
После изучения документации:
- Выбери задачу из «можно брать», `start DW-NNN --owner domwellbes-dev`
- План работы запиши в раздел «План» файла задачи и предложи его
- Находку вне задачи заводи через `tasks new domwellbes …`, не абзацем в плане
## После завершения задачи
`bun scripts/tasks.mjs done DW-NNN --summary "…"`, дальше общий чек-лист —
`.claude/rules/app-workflow.md` (версия, CHANGELOG, `time_stage_close` по полю `stage`).
## Деплой
Запрещено деплоить самостоятельно — см. `.claude/rules/app-workflow.md`.
## Работа с submodule
Приложение — **приватный git submodule**. Перед редактированием:
```bash
cd apps/domwellbes && git checkout main && git pull origin main
# ... правки ...
git add <файлы> && git commit -m "feat(domwellbes): описание" -- <файлы>
git push origin main # только с одобрения пользователя; сначала submodule, потом letar
cd ../.. && git commit -m "chore: bump domwellbes submodule" -- apps/domwellbes
```
⚠️ Без `git checkout main` правки уйдут в detached HEAD и потеряются. Подробности:
`.claude/rules/git.md` § «Работа с приватными submodule».
## 152-ФЗ
⚠️ Приложение предполагает формы обратной связи. **Любая форма,
собирающая персональные данные, ОБЯЗАНА:**
- Записывать `ConsentLog` через `recordConsent()` из `@letar/consent`
- Содержать **не предотмеченный** чекбокс согласия со ссылкой на `/privacy`
- Cookie-баннер с opt-in
Перед публичным запуском — чеклист `.claude/docs/personal-data.md`. Оператор ПДн — см. `apps/domwellbes/AGENTS.md`.
## Учёт времени
Проект ведётся для клиента студии по **почасовой оплате**. Тайм-трекер (инструменты `time_*` сервера `letar`) уже работает —
таймер стартуется **сразу в шаге 1 «Инициализации»**, не после уточнения задачи.
```
time_start({ app: "domwellbes", description: "<что делаешь, языком клиента>" })
```
⚠️ В `description` — только предмет работы по этому проекту. Никаких других клиентов, чужих
проектов и внутренней кухни: описание видит заказчик.
Как только направление действий стало понятным (задача выбрана, план предложен и согласован) —
обнови title таймера через `time_switch` на конкретное описание этой задачи. Не жди
`time_stop`/конца сессии, чтобы дать таймеру осмысленное имя.
Если задача достаточно крупная, чтобы иметь смысл отдельным пунктом в «Этапах» проекта (не
разовая правка) — передавай её в параметр `stage` у `time_start`/`time_switch`. Studio сама
заведёт/переиспользует `ProjectStage` с этим названием и привяжет к нему запись времени — карточка
«Этапы» на `/owner/projects/<id>` (её сейчас владелец пополняет вручную кнопкой «+ Добавить этап»)
заполнится из реальной работы. Когда задача сделана — `time_stage_close({ app: "domwellbes", stage:
"<то же название>" })`. Название должно совпадать дословно во всех трёх вызовах — детали и
причина см. `.claude/rules/app-workflow.md` §«Этапы заводи сам, не жди владельца».
## Проект
**Приложение:** domwellbes
**Порт:** 3025
**Домен prod:** <домен domwellbes>
**Домен dev:** domwellbes.letar.best
**Сервер:** s2 (185.28.85.195)
**Submodule:** kamiletar/letar-private-domwellbes
**Описание:** см. `apps/domwellbes/AGENTS.md`