Non-implementer review of skills/using-system-snapshot (v0.1.0). All three acceptance criteria pass: - trigger phrases cover real scenarios (4/4 positives + clean negatives) - no-claim-without-snapshot rule explicit (4 places) - output format brief (three lines, verified vs live payload) Evidence: live meta_system_snapshot call confirms the documented poller/docker/ tasks contract; 9 fresh-context subagents over a simulated registry (real descriptions + using-vds-ops/using-projects-meta/using-tasks competitors) routed 8 cleanly, incl. no false-positive on a docker-compose.yml edit. 3 informational findings, none blocking: 1. cross-project task-count phrasings overlap with using-projects-meta (by-design) 2. local-container deep diagnosis unowned — vds-ops scope, not this skill 3. deployment scaffold missing — not installed, not in hermes/mapping.yaml, no -install/-hermes-mapping/-test-trigger baseline tasks No SKILL.md edits -> no version bump. TDD N/A (review of markdown policy). Review outcome recorded in .wiki/concepts/using-system-snapshot-design.md + log. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
5.1 KiB
title, type, updated
| title | type | updated |
|---|---|---|
| using-system-snapshot skill design | concept | 2026-06-09 |
using-system-snapshot skill design
New policy+technique skill (v0.1.0) wrapping the single MCP call
mcp__projects-meta__meta_system_snapshot. Replaces the old scatter of
tasklist + docker ps + a manual meta_status read with one round-trip for
session-start ops orientation.
Why a skill
The failure mode it guards: an agent asserts "the poller is running" / "all containers are up" / "you have N active tasks" from memory or a stale earlier snapshot, without re-checking. The skill makes the rule explicit — no claim about poller / local-docker / task-load state without calling the tool in the current turn. Mirrors the read-only, no-grant posture of using-vds-ops.
Tool output shape (verified live 2026-06-09)
Three keys:
poller:{ running: bool, projects: "<owner/repo …>" }— live.docker:[{ name, status }]— local machine containers (includesagents-task-runner-*), NOT the VDS. Status strings likeUp 4 hours,Up 26 hours (healthy); problems show asRestarting/Exited/(unhealthy)/Created/Paused. live.tasks:{ "<owner>/<repo>": { active, blocked } }— from the projects-meta cache, so approximate.
Design decisions
- Output = three lines, one per section (per task spec). Docker line reports
N/N upwhen all healthy, else lists only the bad containers; tasks line gives Σ active / Σ blocked + the busiest 2–3 projects. Never dump raw JSON. - Liveness split made explicit. Poller + docker are read at call time; task
counts come from the cache. The skill tells the agent to flag task-count
staleness and defer precise per-task work to projects-meta-skills
(
using-projects-metaStep 0 freshness gate, or local.tasks/on disk). - Scope boundaries. Deep single-container diagnosis (logs/inspect/stats) is
explicitly out — that's using-vds-ops for the VDS or
docker logslocally. The snapshot only carries name + status. - Read-only, no per-session grant — same as using-vds-ops. The tool takes no args; no preview/confirm dance (unlike the projects-meta mutations).
Prerequisites
Needs mcp__projects-meta__meta_system_snapshot (shipped by projects-meta-mcp;
the meta-system-snapshot capability lives in OpeItcLoc03/common). If the tool
is absent, the server isn't registered → setup-projects-meta.
TDD note
Markdown policy artifact — no code/test surface (consistent with sibling skill
tasks). Behavioral trigger smoke-test is the paired skill-using-system-snapshot-review
task, not this implementation task.
Review outcome (2026-06-09, skill-using-system-snapshot-review)
Verdict: PASS on all three acceptance criteria. Reviewer was a non-implementer session.
- Tool contract verified live — a real
meta_system_snapshotcall returned exactly the documented shape (poller {running, projects},docker [{name, status}]incl.agents-task-runner-*withUp … (healthy)strings,tasks {owner/repo: {active, blocked}}). The "The call" table and this page are accurate. - Trigger phrases cover real scenarios ✅ — 9 fresh-context subagents, each
given a simulated skill registry (real descriptions +
using-vds-ops/using-projects-meta/using-taskscompetitors) and one trigger phrase, no hint of the expected answer. 4/4 positives →using-system-snapshot; VDS-logs →using-vds-ops; mutate/full-board →using-projects-meta;docker-compose.ymledit →none(no false-positive on the "docker" keyword). - No-claim-without-snapshot rule explicit ✅ — stated in 4 places (Overview core rule, "When to use", "What NOT to do", Common-mistakes table).
- Output format brief ✅ — three-line block, per-line rules, "no raw JSON"; confirmed achievable against the live payload.
Informational findings (none blocking):
- Task-count overlap with
using-projects-meta. «сколько активных задач по всем проектам» routed tousing-projects-meta, not the snapshot. By-design — the skill defers precise per-task work and thetasksline is a bonus of the combined ops view, not its headline — so no fix. Quick «сводка по задачам …» glances still route here correctly. - Local-container deep diagnosis is unowned. «локальный контейнер … почему
рестартует» routed to
using-vds-ops(its incident-phrase triggers grabbed a local container, which its VDS-only tools can't reach). Not this skill's defect — the snapshot correctly does not claim deep "why". Candidateusing-vds-opsscoping follow-up if it recurs. - Deployment scaffold missing. The skill is committed (
skills/…, v0.1.0) but is not installed to~/.claude/skills/, not inhermes/mapping.yaml, and has no-install/-hermes-mapping/-test-triggerbaseline tasks (unlikemeta-host-routing/delegate-task). Recommended follow-ups before it reaches live sessions; hermes mode could beautosince the skill is read-only (owner's call).