Agent SkillsLanternOps/breeze › e2e-coverage

e2e-coverage

GitHub

用于对 Breeze RMM 进行广泛的端到端验证,覆盖自上次发布或扫描以来的所有变更。通过记录测试结果避免重复测试,确保版本就绪状态。

.claude/skills/e2e-coverage/SKILL.md LanternOps/breeze

Trigger Scenarios

执行全量端到端回归测试 版本发布前的就绪性检查 恢复未完成的测试扫描

Install

npx skills add LanternOps/breeze --skill e2e-coverage -g -y
More Options

Non-standard path

npx skills add https://github.com/LanternOps/breeze/tree/main/.claude/skills/e2e-coverage -g -y

Use without installing

npx skills use LanternOps/breeze@e2e-coverage

指定 Agent (Claude Code)

npx skills add LanternOps/breeze --skill e2e-coverage -a claude-code -g -y

安装 repo 全部 skill

npx skills add LanternOps/breeze --all -g -y

预览 repo 内 skill

npx skills add LanternOps/breeze --list

SKILL.md

Frontmatter
{
    "name": "e2e-coverage",
    "description": "Use when running a broad manual\/AI-driven end-to-end verification of Breeze RMM across many merged PRs or commits — \"test everything since the last release\", release-readiness sweeps, or resuming a partial sweep. Tracks coverage across runs so each sweep only tests the delta. NOT for single-feature post-implementation checks (use feature-testing for that)."
}

E2E Coverage Sweep

Overview

A coverage sweep verifies everything that changed since a baseline (a release tag or the last sweep), live, across UI/API/agent layers — and records what passed, failed, or was deferred so the next sweep is cheaper.

Core principle: every sweep starts from the last sweep. You test the delta (new commits + previously-deferred items), reuse a known-good environment recipe, and write results back to a durable ledger. Efficiency compounds: the env setup is recorded once, and covered ground is never re-tested.

For single-feature post-implementation verification, use the feature-testing skill instead — this skill is for broad multi-PR passes and reuses feature-testing's per-layer mechanics.

The trap that costs the most time

The running containers may NOT be running the code you think they are. A checked-out branch does not mean the live stack serves it — the containers can be an old image, a detached build, or a stale dist/. Testing against the wrong build produces false PASSes and phantom 404s.

Always verify the live stack before testing anything. See runbook.md → "Verify the stack is running the code under test". This is step 0 of every sweep.

The efficiency loop

digraph sweep {
  rankdir=TB;
  baseline [label="1. Baseline = max(last release tag, last swept commit)", shape=box];
  delta    [label="2. Delta = git log baseline..HEAD + carry-forward unresolved items", shape=box];
  env      [label="3. Verify/bring up env (runbook.md) — confirm it serves HEAD", shape=box];
  classify [label="4. Classify each item: P0/P1/P2 x API/UI/AGENT/SKIP, creds-free vs creds-gated", shape=box];
  test     [label="5. Test the delta (reuse runbook recipes); record as you go", shape=box];
  record   [label="6. Write plan + results files; update the index pointer", shape=box];
  baseline -> delta -> env -> classify -> test -> record;
}
  1. Baseline. git tag --sort=-creatordate | head → last released tag. Find the most recent docs/testing/*-test-results.md and its "last swept commit". Baseline = whichever is newer. If no prior sweep, baseline = the last release tag.
  2. Delta + carry-forward. git log <baseline>..HEAD --oneline. Open the previous results file and carry forward every item still marked DEFERRED / NEEDS-CREDS / open FAIL — recheck whether creds/agents are now available. Items marked PASS below the baseline are not re-tested.
  3. Verify/bring up env. Step 0 above — confirm the live stack serves HEAD, then bring up only what's missing. All breeze-specific recipes are in runbook.md. Don't rediscover them.
  4. Classify each delta commit/PR using the legend below. Map each to the layer(s) that can prove it, and mark whether it needs external credentials or a live agent (defer those explicitly — never silently drop them).
  5. Test the delta. Reuse runbook.md recipes (login/JWT, RBAC negative tests, device lookups) and feature-testing's per-layer mechanics. Record each result immediately.
  6. Record. Write/update the two ledger files and the index pointer (below).

The coverage ledger

Two files per sweep in docs/testing/, plus one living index. Keep the existing format (see docs/testing/v0.66.1-to-HEAD-*.md as the reference shape).

File Purpose
docs/testing/<baseline>-to-HEAD-test-plan.md The classified checklist of delta items (one per PR/commit), P0/P1/P2 + layer tags
docs/testing/<baseline>-to-HEAD-test-results.md Results: per-item status + evidence, findings, bugs filed. Records the "last swept commit".
docs/testing/e2e-coverage-index.md One line per sweep: baseline → results file → last-swept commit. The pointer the next sweep reads first.

Status legend (use these exact tokens so the next sweep can grep them):

  • PASS — verified live, with evidence.
  • FAIL — broken; file/track a bug, link it. Stays carried-forward until fixed+reverified.
  • DEFERRED — testable but not exercised this run (time/data); say why.
  • NEEDS-CREDS — blocked on external credentials or a live agent (Google/M365 tenant, Win/macOS agent). Carried forward.
  • SKIP — covered by unit/CI; no manual E2E warranted (dep bumps, internal refactors). Note it; don't silently omit.

Priority legend: P0 = security / auth / multi-tenant isolation / data corruption. P1 = user-visible new feature or behavior change. P2 = secondary surface or pre-existing area touched.

Quick reference

Need Command / pointer
Last release tag git tag --sort=-creatordate | head
Delta since baseline git log <baseline>..HEAD --oneline
Is the live stack serving HEAD? runbook.md → stale-stack verification
Bring up local env (caddy + dev mode) runbook.md → bring-up
Local login → JWT runbook.md → JWT helper (admin@breeze.local / BreezeAdmin123!)
RBAC negative tests runbook.md → site-scoped e2e-sitea user
Seed topology (orgs/sites/devices) runbook.md → seed topology
curl fails inside a loop? runbook.md → sandbox gotcha (use /usr/bin/curl, no loops)

Common mistakes

  • Testing against a stale stack. The #1 false-PASS source. Verify the live build serves HEAD before anything (runbook step 0).
  • Re-testing covered ground. Read the previous results file first; only test the delta + carried-forward items.
  • Silently dropping creds-gated items. Mark NEEDS-CREDS and carry forward — don't let them vanish from coverage.
  • Using the prod E2E_* env creds locally. Those target 2breeze.app (often down). Local DB uses admin@breeze.local / BreezeAdmin123! — see runbook.
  • Trusting a single-org admin to catch tenant bugs. The seed partner admin is multi-org on purpose; org-resolution bugs only surface with multi-org/multi-site users (runbook → seed topology).
  • Forgetting to write results back. The ledger is the efficiency engine. No results file = next sweep redoes your work.

Version History

  • 10bb1af Current 2026-08-20 08:50

Same Skill Collection

.claude/skills/agent-info/SKILL.md
.claude/skills/agent-log-debugging/SKILL.md
.claude/skills/ai-agent/SKILL.md
.claude/skills/breeze-helper/SKILL.md
.claude/skills/breeze-testing/SKILL.md
.claude/skills/feature-testing/SKILL.md
.claude/skills/issue-to-pr/SKILL.md
.claude/skills/security-review/SKILL.md
.claude/skills/worktree-stack/SKILL.md
.claude/skills/gh-queue/SKILL.md
.claude/skills/ui-qa-sweep/SKILL.md

Metadata

Files
0
Version
0ee1815
Hash
60d56e75
Indexed
2026-08-20 08:50

inicio - Wiki
Copyright © 2011-2026 iteam. Current version is 2.155.2. UTC+08:00, 2026-09-16 17:26
浙ICP备14020137号-1 $mapa de visitantes$