Files
skills/skills/using-system-snapshot/SKILL.md
vitya 15a7d72024 feat(using-system-snapshot): v1.0.0 — mappa meta.health/admin.status + machine snapshot (#983)
Два слоя: mappa-сервис (meta_health + admin_status — живая нагрузка) +
машина (meta_system_snapshot: поллер/докер/таски из кэша).
2026-08-24 16:43:21 +03:00

7.4 KiB
Raw Blame History

name, author, version, description
name author version description
using-system-snapshot ours 1.0.0 Use at the start of an ops-context session, and ALWAYS before asserting anything about the mappa meta-service, the agent poller, local docker containers, or cross-project task load — call `mcp__mappa__meta_health` + `mcp__mappa__admin_status` (сервис жив, нагрузка) and `mcp__projects-meta__meta_system_snapshot` (поллер/докер/таски) instead of running `tasklist` / `docker ps` / guessing by hand. Triggers on «что запущено», «что сейчас крутится», «состояние системы», «состояние машины», «поллер работает?», «поллер живой?», «что с докером», «сводка по задачам», «what's running», «system status», «system snapshot», «is the poller up», «is the runner alive», «what containers are up». Read-only — no per-session grant needed. Skip for deep single-container docker diagnosis (that's using-vds-ops for the VDS / docker logs locally) and for mutating or precise per-task work (that's using-projects-meta / mappa task.*).

using-system-snapshot

Overview

Two layers, one mental model: mappa meta-service (решение 14/15 — мета в сервисе) + машина (поллер/докер/таск-нагрузка — внешняя инфра).

  1. Сервис жив и как загружен: mcp__mappa__meta_health (no args → {ok}) + mcp__mappa__admin_status (счётчики сущностей по типам/проектам — живая нагрузка).
  2. Машина: mcp__projects-meta__meta_system_snapshot — поллер agents-task-runner, локальные docker-контейнеры, сводка таск-нагрузки из кэша.

Заменяет старый разброс tasklist / docker ps / ручного meta_status одной-двумя зондами.

Core rule: never assert состояние сервиса, поллера, контейнеров или таск-нагрузки без вызова тула в этом же turn. Память и «он же работал ранее» — не evidence.

When to use

  • Session start в ops-контексте — ориентация перед infra/раннер/борд-работой.
  • User спрашивает что живо: «что запущено», «состояние системы», «поллер работает?», «что с докером», «what's running», «is the poller up».
  • Перед любым claim о живости mappa-сервиса, поллера, контейнера или числа активных/блокированных тасок.
  • Быстрый взгляд на таск-нагрузку (где сейчас сконцентрирована работа).

When NOT to use

  • Глубокая диагностика одного контейнера (logs/inspect/stats/restart-loop) — это using-vds-ops для Rusonyx VDS или docker logs локально.
  • Мутации тасок или чтение полного борда/тела задачи — using-projects-meta (и mappa task.* / локальный .tasks/ для текущего проекта).
  • Библиотечные доки, поиск по коду — не сюда.

Prerequisites

  • mcp__mappa__* — mappa MCP (сервис meta; установка — setup-проект mappa).
  • mcp__projects-meta__meta_system_snapshot — projects-meta-mcp (поллер/докер/кэш-таски). Если тула нет — setup-projects-meta.

The calls

mcp__mappa__meta_health — no args, read-only. {ok: true, service: "mappa"} — сервис жив. mcp__mappa__admin_status — no args, read-only. Счётчики по типам и проектам. mcp__projects-meta__meta_system_snapshot — no args, read-only. Три ключа:

Key Shape Liveness
poller { running: bool, projects: "<owner/repo …>" } live на момент вызова
docker [{ name, status }] — локальные контейнеры live на момент вызова
tasks { "<owner>/<repo>": { active, blocked }, … } из кэша projects-meta — может быть stale

dockerлокальная машина (включая agents-task-runner-*), НЕ VDS. tasks — кэш; для точного состояния — using-projects-meta Step 0 или mappa/локальный .tasks/.

Output format — одна строка на секцию

Сожми в 34 строки, не дампи raw-object.

🟢 Mappa alive — 42 wiki / 18 tasks, 12 проектов
🟢 Poller running — OpeItcLoc03/skills     (🔴 если running:false)
🟢 Docker — 8/8 up                                 (иначе только проблемные)
📋 Tasks — 23 active / 41 blocked, 17 проектов     (назвать 23 самых загруженных)

Правила на строку:

  • Mappa🟢/🔴 + admin_status-сводка (счётчики по типам или проектам — кратко). Сервис упал = заголовок.
  • Poller🟢/🔴 + running-flag + projects-строка. Остановлен — скажи прямо.
  • Docker — если всё Up (вкл. Up … (healthy)) — N/N up. Иначе только проблемные (Restarting, Exited, (unhealthy), Created, Paused) по имени + статусу.
  • Tasks — суммы (Σ active / Σ blocked) + 23 проекта с наибольшей активностью. Полный расклад — только по запросу.

What NOT to do

  • НЕ утверждай «поллер работает» / «все контейнеры up» / «N активных тасок» по памяти или прошлому снапшоту. Зови тулы в текущем turn — liveness требует свежих данных.
  • НЕ падай на tasklist / docker ps / ручной meta_status — это scatter, который скил заменяет. (docker logs — только для глубокой диагностики одного контейнера.)
  • НЕ вставляй raw-JSON. Строки, по одной на секцию.
  • НЕ подавай tasks-счётчики как точные — они из кэша. При важности точности — флаг сталезности + using-projects-meta.

Common mistakes

Mistake Fix
«Сервис жив» без вызова в этом turn Зови meta_health/admin_status — liveness требует текущих данных.
«Poller up» без вызова meta_system_snapshot в текущем turn.
docker ps / tasklist вместо зондов Один-два вызова тула; в этом смысл.
Читать снапшот-docker как VDS-флот Это локальная машина. VDS — using-vds-ops.
tasks-счётчики как авторитетные Они кэшированы. Точность — using-projects-meta Step 0 / mappa / .tasks/.
Дампить raw-объект Сожми в строки (mappa / poller / docker / tasks).