← all publishers

michaelbel

@michaelbel source repo

19 published skills

  1. Create Guide · michaelbel bundle
    Use when пользователь просит создать практический Android-гайд по конкретному API или теме, который публикуется как связанная пара артефактов: рабочий публичный GitHub-репозиторий и объясняющая страница в Notion — например "создай гайд по Navigation3", "сделай гайд про EyeDropper", "напиши гайд по Paging 3 с RemoteMediator". Проводит исследование по первичным источникам, создаёт и проверяет Android-проект из актуального `MyApplication`, пишет или обновляет страницу Notion в data source `POSTS` и публикует оба артефакта. Не используй для обычной фичи, экрана или доработки в уже существующем прикладном проекте — для этого есть `create-feature-scaffold-screen` и другие `create-*` skills. Не используй, если нужен только пустой Android-проект без исследования и без Notion-страницы — для этого есть `create-project-from-template`.
    0
    installs
  2. Interview Me · michaelbel
    Use when требования расплывчаты, противоречат друг другу или короче, чем заслуживает задача — перед тем как ставить acceptance criteria и делегировать реализацию. Триггерные фразы: "добавь оффлайн", "сделай синхронизацию", "разберись сам", одна-две фразы на фичу, которая явно больше одной фразы, противоречие между тем, что просит пользователь, и тем, что уже делает код. Структурированный опрос малыми пачками вопросов вместо накопления предположений: поднимает уверенность в требованиях до ~95%, прежде чем main-сессия сформулирует задачу профильному агенту (`kotlin-engineer`, `compose-builder`, `swift-engineer`, `swiftui-builder`, `guide-android-builder` и т.д.) или бизнес-аналитику `business-analyst`. Не используй, если задача маленькая и однозначная (переименование, точечный багфикс с понятной причиной) или acceptance criteria уже явно заданы пользователем/issue — в этом случае сразу делегируй по `rules/workflow.md`.
    0
    installs
  3. Create Usecase · michaelbel
    Use when пользователь просит добавить один `UseCase` или `FlowUseCase` в `shared/domain/usecase` — одну suspend-операцию или один наблюдаемый Flow — или говорит "add a use case", "new UseCase", "new FlowUseCase". Предполагает, что требуемые endpoint, DAO/entity и мапперы уже существуют. Не используй для их создания, Worker/realtime lifecycle или ViewModel; выбери соответствующий атомарный skill либо create-data-layer для составного потока.
    0
    installs
  4. Create Data Layer · michaelbel
    Use when пользователь просит собрать или расширить составной поток данных фичи между Ktor, Room, мапперами, use case, realtime или WorkManager — например "wire up API and Room", "add a data layer", "reload persisted data from a socket event" или "sync in background". Выбирает минимальный поток и маршрутизирует работу к специализированным skills. Не используй для одного уже определённого endpoint, DAO/entity, mapper, use case, worker или realtime-канала; используй соответствующий атомарный skill напрямую. Не используй для Screen/ViewModel.
    0
    installs
  5. Create Paging Flow · michaelbel
    Use when пользователь просит добавить Android Paging 3 поток, пагинируемый список или бесконечную загрузку через Room PagingSource, network PagingSource либо RemoteMediator с локальным кэшем, включая Pager, FlowUseCase и подключение Compose UI. Не используй для обычного непагинируемого списка во Flow, ручной кнопки «загрузить ещё» или карусели с уже загруженными элементами. Не создавай Room-кэш или RemoteMediator, если задача требует только network-only пагинацию.
    0
    installs
  6. Create Room Storage · michaelbel
    Use when пользователь просит добавить или изменить законченную единицу Room-хранилища: entity, DAO, Pojo/relations, регистрацию в AppDatabase, version и migration. Не используй для сетевого endpoint, mapper, use case или полного data flow; выбирай соответствующий отдельный skill.
    0
    installs
  7. Create Domain Mapper · michaelbel
    Use when пользователь просит создать или изменить mapper между network, Room и domain-моделями либо KTX-функции `entity`/`entities`. Не используй для создания самих API-моделей, DAO, endpoint или бизнес-операции use case.
    0
    installs
  8. Create Ktor Endpoint · michaelbel
    Use when пользователь просит добавить Ktor API endpoint, request/response-модели или настроить отдельный HttpClient для нового backend. Не используй для Room, mapper, use case, WebSocket или полного потока данных от API до UI.
    0
    installs
  9. Github Repo Settings · michaelbel
    Use when the user asks to configure a GitHub repository after creation — set its description and topics, disable Wikis, Issues, Discussions, Projects and Pull Requests, hide Releases, Packages and Deployments from the repository home page, enable Sponsorships, or says "configure repo settings" or "set up GitHub repository". Applies and verifies repository-level settings step by step through `gh`, the documented GitHub REST API and browser UI. Do not use for tracked repository files such as README.md, FUNDING.yml, CODEOWNERS or `.github/workflows`.
    0
    installs
  10. Create Offline Outbox · michaelbel
    Use when пользователь просит реализовать offline-first очередь исходящих мутаций, outbox или гарантированную последующую отправку локально сохранённых действий через Room, WorkManager и Ktor. Не используй для обычной фоновой загрузки, периодического refresh, fire-and-forget telemetry или запроса, который можно безопасно повторить напрямую без durable queue; для них достаточно WorkManager- или Ktor-workflow. Этот skill требует серверной либо protocol-level стратегии идемпотентности.
    0
    installs
  11. Create Signalr Channel · michaelbel
    Use when пользователь просит добавить или изменить SignalR hub/channel, realtime DataSource, обработчики server events либо подключить канал к session lifecycle. Не используй для Ktor HTTP endpoint, Ktor WebSocket или общего socket-решения на другом протоколе.
    0
    installs
  12. Create Shared Component · michaelbel
    Use when пользователь просит создать переиспользуемый Compose UI-компонент для `shared/ui/components`, или говорит "create a shared component", "add a reusable component", "new UI component". Строит либо простой composable с обычными типизированными параметрами (для универсальных layout-примитивов), либо composable с `{Component}State`-холдером (для компонентов конкретной предметной области, просто вынесенных в отдельный файл), плюс его preview. Не используй для диалога; используй вместо этого [create-feature-alert-dialog](../create-feature-alert-dialog/SKILL.md). Не используй для bottom sheet; используй вместо этого [create-feature-bottom-sheet](../create-feature-bottom-sheet/SKILL.md). Не используй для полного экрана, привязанного к ViewModel; используй вместо этого [create-feature-scaffold-screen](../create-feature-scaffold-screen/SKILL.md).
    0
    installs
  13. Create Workmanager Task · michaelbel
    Use when пользователь просит создать или изменить Android WorkManager-задачу, CoroutineWorker, её enqueue/cancel use case, constraints, unique work или retry policy. Не используй для обычного suspend use case без фонового планирования или для foreground service.
    0
    installs
  14. Create Notification Flow · michaelbel
    Use when пользователь просит реализовать Android local или push notification flow: routing входящего push, notification channels, runtime permission, стабильные tag/id, отображение, deep link/PendingIntent или обработку push token. Не используй для in-app списка уведомлений без системных Android notifications и не добавляй WorkManager только потому, что событие приходит в фоне; подключай его лишь когда работа действительно должна быть durable, отложенной или ограниченной constraints.
    0
    installs
  15. Create Datastore Preference · michaelbel
    Use when пользователь просит добавить или изменить типизированную настройку, флаг, идентификатор или timestamp в Preferences DataStore, предоставить для него read/write/Flow use case либо определить очистку при logout, смене пользователя или reset. Не используй для коллекций, связанных сущностей, очередей операций и данных, которым нужны запросы или транзакции Room; для них нужен Room-backed workflow. Не используй для полного экрана, который лишь потребляет уже существующую настройку.
    0
    installs
  16. Create Feature Alert Dialog · michaelbel
    Use when пользователь просит создать в Compose диалог подтверждения, alert dialog, picker dialog или простой status popup с явным действием confirm/dismiss, либо говорит "create a dialog", "add an alert dialog", "confirmation popup", "new AlertDialog". Строит `AlertDialog` с одной или двумя кнопками для подтверждающих сценариев и `BasicAlertDialog` — для пикера без кнопок действия. Если нужна прокручиваемая модальная поверхность, закреплённая снизу экрана, используй [create-feature-bottom-sheet](../create-feature-bottom-sheet/SKILL.md) вместо этого скилла. Для полного экрана используй [create-feature-scaffold-screen](../create-feature-scaffold-screen/SKILL.md), для простого переиспользуемого компонента без диалоговой семантики — [create-shared-component](../create-shared-component/SKILL.md).
    0
    installs
  17. Create Feature Bottom Sheet · michaelbel
    Use when пользователь просит создать Compose bottom sheet, modal sheet фичу или пакет `_sheet`, или говорит "create a bottom sheet", "add a modal sheet", "new ModalBottomSheet". Покрывает раскладку пакета `{feature}_sheet`, `SharedModalBottomSheet`, `rememberModalBottomSheetState` и его preview. Не используй для диалога с простыми кнопками confirm/dismiss; используй вместо этого [create-feature-alert-dialog](../create-feature-alert-dialog/SKILL.md). Не используй для полного навигируемого экрана; используй вместо этого [create-feature-scaffold-screen](../create-feature-scaffold-screen/SKILL.md).
    0
    installs
  18. Create Project From Template · michaelbel bundle
    Use when пользователь просит создать и оформить новый Android-проект копированием шаблона `Projects/MyApplication`: задать имя проекта, package/namespace/applicationId, GitHub metadata, package directories и выбрать `.idea/icon.svg` для Android, Compose или Jetpack. Не используй для добавления модуля или фичи в существующий проект и не используй для проекта, который должен быть создан другим шаблоном или Android Studio wizard.
    0
    installs
  19. Create Feature Scaffold Screen · michaelbel bundle
    Use when пользователь просит создать новый Android Compose-экран или MVI-фичу с Screen/ViewModel/Intent/Model/Event и опциональным route. Поддерживает static, network-only, Room-backed collect/load, form и paginated экраны. Не используй для отдельного переиспользуемого компонента, alert dialog или bottom sheet; используй create-shared-component, create-feature-alert-dialog или create-feature-bottom-sheet. Не используй только для data/domain слоя без экрана.
    0
    installs