@codyswann/lisa 4.55.5 → 4.55.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cdk/copy-overwrite/tsconfig.eslint.json +1 -1
- package/dist/core/nightly-e2e-guard-behavior-certificate.js +2 -2
- package/dist/core/upstream-evidence-manifest.d.ts.map +1 -1
- package/dist/core/upstream-evidence-manifest.js +41 -40
- package/dist/core/upstream-evidence-manifest.js.map +1 -1
- package/expo/copy-overwrite/tsconfig.eslint.json +1 -1
- package/expo/create-only/bdd/coverage-map.json +1 -1
- package/nestjs/copy-overwrite/tsconfig.eslint.json +1 -1
- package/package.json +4 -4
- package/plugins/lisa/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa/.codex-plugin/skills/lisa-exploratory-qa/SKILL.md +8 -6
- package/plugins/lisa/.codex-plugin/skills/lisa-github-build-intake/SKILL.md +3 -0
- package/plugins/lisa/.codex-plugin/skills/lisa-github-write-issue/SKILL.md +6 -0
- package/plugins/lisa/.codex-plugin/skills/lisa-jira-build-intake/SKILL.md +3 -0
- package/plugins/lisa/.codex-plugin/skills/lisa-jira-write-ticket/SKILL.md +6 -0
- package/plugins/lisa/.codex-plugin/skills/lisa-learnings-audit/SKILL.md +2 -2
- package/plugins/lisa/.codex-plugin/skills/lisa-linear-build-intake/SKILL.md +3 -0
- package/plugins/lisa/.codex-plugin/skills/lisa-linear-write-issue/SKILL.md +6 -0
- package/plugins/lisa/.codex-plugin/skills/lisa-monitor/SKILL.md +1 -1
- package/plugins/lisa/.codex-plugin/skills/lisa-persist-learning/SKILL.md +5 -1
- package/plugins/lisa/.codex-plugin/skills/lisa-prd-source-write/SKILL.md +1 -0
- package/plugins/lisa/.codex-plugin/skills/lisa-project-ideation/SKILL.md +7 -5
- package/plugins/lisa/.codex-plugin/skills/lisa-repair-intake/SKILL.md +2 -3
- package/plugins/lisa/.codex-plugin/skills/lisa-research/SKILL.md +6 -2
- package/plugins/lisa/.codex-plugin/skills/lisa-rework-triage/SKILL.md +16 -13
- package/plugins/lisa/.codex-plugin/skills/lisa-track/SKILL.md +24 -6
- package/plugins/lisa/commands/exploratory-qa.md +2 -2
- package/plugins/lisa/rules/eager/do-it-now.md +5 -5
- package/plugins/lisa/rules/eager/tracked-work.md +2 -0
- package/plugins/lisa/rules/eager/upstream-to-lisa.md +7 -18
- package/plugins/lisa/rules/reference/bdd-e2e-coverage.md +10 -2
- package/plugins/lisa/rules/reference/claim-time-guards.md +4 -0
- package/plugins/lisa/rules/reference/do-it-now.md +9 -27
- package/plugins/lisa/rules/reference/observability-audit.md +2 -2
- package/plugins/lisa/rules/reference/ready-role-filing.md +6 -2
- package/plugins/lisa/rules/reference/rejection-detection.md +8 -2
- package/plugins/lisa/rules/reference/tracked-work.md +2 -0
- package/plugins/lisa/rules/reference/upstream-to-lisa.md +14 -43
- package/plugins/lisa/skills/lisa-exploratory-qa/SKILL.md +9 -7
- package/plugins/lisa/skills/lisa-github-build-intake/SKILL.md +3 -0
- package/plugins/lisa/skills/lisa-github-write-issue/SKILL.md +6 -0
- package/plugins/lisa/skills/lisa-jira-build-intake/SKILL.md +3 -0
- package/plugins/lisa/skills/lisa-jira-write-ticket/SKILL.md +6 -0
- package/plugins/lisa/skills/lisa-learnings-audit/SKILL.md +2 -2
- package/plugins/lisa/skills/lisa-linear-build-intake/SKILL.md +3 -0
- package/plugins/lisa/skills/lisa-linear-write-issue/SKILL.md +6 -0
- package/plugins/lisa/skills/lisa-monitor/SKILL.md +1 -1
- package/plugins/lisa/skills/lisa-persist-learning/SKILL.md +5 -1
- package/plugins/lisa/skills/lisa-prd-source-write/SKILL.md +1 -0
- package/plugins/lisa/skills/lisa-project-ideation/SKILL.md +7 -5
- package/plugins/lisa/skills/lisa-repair-intake/SKILL.md +2 -3
- package/plugins/lisa/skills/lisa-research/SKILL.md +6 -2
- package/plugins/lisa/skills/lisa-rework-triage/SKILL.md +16 -13
- package/plugins/lisa/skills/lisa-track/SKILL.md +24 -6
- package/plugins/lisa-agy/commands/lisa/exploratory-qa.md +2 -2
- package/plugins/lisa-agy/plugin.json +1 -1
- package/plugins/lisa-agy/skills/lisa-exploratory-qa/SKILL.md +9 -7
- package/plugins/lisa-agy/skills/lisa-github-build-intake/SKILL.md +3 -0
- package/plugins/lisa-agy/skills/lisa-github-write-issue/SKILL.md +6 -0
- package/plugins/lisa-agy/skills/lisa-jira-build-intake/SKILL.md +3 -0
- package/plugins/lisa-agy/skills/lisa-jira-write-ticket/SKILL.md +6 -0
- package/plugins/lisa-agy/skills/lisa-learnings-audit/SKILL.md +2 -2
- package/plugins/lisa-agy/skills/lisa-linear-build-intake/SKILL.md +3 -0
- package/plugins/lisa-agy/skills/lisa-linear-write-issue/SKILL.md +6 -0
- package/plugins/lisa-agy/skills/lisa-monitor/SKILL.md +1 -1
- package/plugins/lisa-agy/skills/lisa-persist-learning/SKILL.md +5 -1
- package/plugins/lisa-agy/skills/lisa-prd-source-write/SKILL.md +1 -0
- package/plugins/lisa-agy/skills/lisa-project-ideation/SKILL.md +7 -5
- package/plugins/lisa-agy/skills/lisa-repair-intake/SKILL.md +2 -3
- package/plugins/lisa-agy/skills/lisa-research/SKILL.md +6 -2
- package/plugins/lisa-agy/skills/lisa-rework-triage/SKILL.md +16 -13
- package/plugins/lisa-agy/skills/lisa-track/SKILL.md +24 -6
- package/plugins/lisa-cdk/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-cdk/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-cdk-agy/plugin.json +1 -1
- package/plugins/lisa-cdk-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-cdk-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-copilot/commands/lisa/exploratory-qa.md +2 -2
- package/plugins/lisa-copilot/rules/eager/do-it-now.md +5 -5
- package/plugins/lisa-copilot/rules/eager/tracked-work.md +2 -0
- package/plugins/lisa-copilot/rules/eager/upstream-to-lisa.md +7 -18
- package/plugins/lisa-copilot/rules/reference/bdd-e2e-coverage.md +10 -2
- package/plugins/lisa-copilot/rules/reference/claim-time-guards.md +4 -0
- package/plugins/lisa-copilot/rules/reference/do-it-now.md +9 -27
- package/plugins/lisa-copilot/rules/reference/observability-audit.md +2 -2
- package/plugins/lisa-copilot/rules/reference/ready-role-filing.md +6 -2
- package/plugins/lisa-copilot/rules/reference/rejection-detection.md +8 -2
- package/plugins/lisa-copilot/rules/reference/tracked-work.md +2 -0
- package/plugins/lisa-copilot/rules/reference/upstream-to-lisa.md +14 -43
- package/plugins/lisa-copilot/skills/lisa-exploratory-qa/SKILL.md +9 -7
- package/plugins/lisa-copilot/skills/lisa-github-build-intake/SKILL.md +3 -0
- package/plugins/lisa-copilot/skills/lisa-github-write-issue/SKILL.md +6 -0
- package/plugins/lisa-copilot/skills/lisa-jira-build-intake/SKILL.md +3 -0
- package/plugins/lisa-copilot/skills/lisa-jira-write-ticket/SKILL.md +6 -0
- package/plugins/lisa-copilot/skills/lisa-learnings-audit/SKILL.md +2 -2
- package/plugins/lisa-copilot/skills/lisa-linear-build-intake/SKILL.md +3 -0
- package/plugins/lisa-copilot/skills/lisa-linear-write-issue/SKILL.md +6 -0
- package/plugins/lisa-copilot/skills/lisa-monitor/SKILL.md +1 -1
- package/plugins/lisa-copilot/skills/lisa-persist-learning/SKILL.md +5 -1
- package/plugins/lisa-copilot/skills/lisa-prd-source-write/SKILL.md +1 -0
- package/plugins/lisa-copilot/skills/lisa-project-ideation/SKILL.md +7 -5
- package/plugins/lisa-copilot/skills/lisa-repair-intake/SKILL.md +2 -3
- package/plugins/lisa-copilot/skills/lisa-research/SKILL.md +6 -2
- package/plugins/lisa-copilot/skills/lisa-rework-triage/SKILL.md +16 -13
- package/plugins/lisa-copilot/skills/lisa-track/SKILL.md +24 -6
- package/plugins/lisa-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-cursor/commands/lisa/exploratory-qa.md +2 -2
- package/plugins/lisa-cursor/rules/bdd-e2e-coverage-reference.mdc +10 -2
- package/plugins/lisa-cursor/rules/claim-time-guards-reference.mdc +4 -0
- package/plugins/lisa-cursor/rules/do-it-now-reference.mdc +9 -27
- package/plugins/lisa-cursor/rules/do-it-now.mdc +5 -5
- package/plugins/lisa-cursor/rules/observability-audit-reference.mdc +2 -2
- package/plugins/lisa-cursor/rules/ready-role-filing-reference.mdc +6 -2
- package/plugins/lisa-cursor/rules/rejection-detection-reference.mdc +8 -2
- package/plugins/lisa-cursor/rules/tracked-work-reference.mdc +2 -0
- package/plugins/lisa-cursor/rules/tracked-work.mdc +2 -0
- package/plugins/lisa-cursor/rules/upstream-to-lisa-reference.mdc +14 -43
- package/plugins/lisa-cursor/rules/upstream-to-lisa.mdc +7 -18
- package/plugins/lisa-cursor/skills/lisa-exploratory-qa/SKILL.md +9 -7
- package/plugins/lisa-cursor/skills/lisa-github-build-intake/SKILL.md +3 -0
- package/plugins/lisa-cursor/skills/lisa-github-write-issue/SKILL.md +6 -0
- package/plugins/lisa-cursor/skills/lisa-jira-build-intake/SKILL.md +3 -0
- package/plugins/lisa-cursor/skills/lisa-jira-write-ticket/SKILL.md +6 -0
- package/plugins/lisa-cursor/skills/lisa-learnings-audit/SKILL.md +2 -2
- package/plugins/lisa-cursor/skills/lisa-linear-build-intake/SKILL.md +3 -0
- package/plugins/lisa-cursor/skills/lisa-linear-write-issue/SKILL.md +6 -0
- package/plugins/lisa-cursor/skills/lisa-monitor/SKILL.md +1 -1
- package/plugins/lisa-cursor/skills/lisa-persist-learning/SKILL.md +5 -1
- package/plugins/lisa-cursor/skills/lisa-prd-source-write/SKILL.md +1 -0
- package/plugins/lisa-cursor/skills/lisa-project-ideation/SKILL.md +7 -5
- package/plugins/lisa-cursor/skills/lisa-repair-intake/SKILL.md +2 -3
- package/plugins/lisa-cursor/skills/lisa-research/SKILL.md +6 -2
- package/plugins/lisa-cursor/skills/lisa-rework-triage/SKILL.md +16 -13
- package/plugins/lisa-cursor/skills/lisa-track/SKILL.md +24 -6
- package/plugins/lisa-expo/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-expo/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-expo/.codex-plugin/skills/e2e-coverage-gaps/SKILL.md +21 -9
- package/plugins/lisa-expo/.codex-plugin/skills/lisa-e2e-coverage-gaps/SKILL.md +1 -1
- package/plugins/lisa-expo/commands/e2e-coverage-gaps.md +2 -2
- package/plugins/lisa-expo/skills/e2e-coverage-gaps/SKILL.md +22 -10
- package/plugins/lisa-expo-agy/commands/lisa/e2e-coverage-gaps.md +2 -2
- package/plugins/lisa-expo-agy/plugin.json +1 -1
- package/plugins/lisa-expo-agy/skills/e2e-coverage-gaps/SKILL.md +22 -10
- package/plugins/lisa-expo-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-expo-copilot/commands/lisa/e2e-coverage-gaps.md +2 -2
- package/plugins/lisa-expo-copilot/skills/e2e-coverage-gaps/SKILL.md +22 -10
- package/plugins/lisa-expo-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-expo-cursor/commands/lisa/e2e-coverage-gaps.md +2 -2
- package/plugins/lisa-expo-cursor/skills/e2e-coverage-gaps/SKILL.md +22 -10
- package/plugins/lisa-harper-fabric/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-harper-fabric/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-harper-fabric/.codex-plugin/skills/e2e-coverage-gaps/SKILL.md +21 -9
- package/plugins/lisa-harper-fabric/.codex-plugin/skills/lisa-e2e-coverage-gaps/SKILL.md +1 -1
- package/plugins/lisa-harper-fabric/commands/e2e-coverage-gaps.md +2 -2
- package/plugins/lisa-harper-fabric/skills/e2e-coverage-gaps/SKILL.md +22 -10
- package/plugins/lisa-harper-fabric-agy/commands/lisa/e2e-coverage-gaps.md +2 -2
- package/plugins/lisa-harper-fabric-agy/plugin.json +1 -1
- package/plugins/lisa-harper-fabric-agy/skills/e2e-coverage-gaps/SKILL.md +22 -10
- package/plugins/lisa-harper-fabric-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-harper-fabric-copilot/commands/lisa/e2e-coverage-gaps.md +2 -2
- package/plugins/lisa-harper-fabric-copilot/skills/e2e-coverage-gaps/SKILL.md +22 -10
- package/plugins/lisa-harper-fabric-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-harper-fabric-cursor/commands/lisa/e2e-coverage-gaps.md +2 -2
- package/plugins/lisa-harper-fabric-cursor/skills/e2e-coverage-gaps/SKILL.md +22 -10
- package/plugins/lisa-nestjs/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-nestjs/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-nestjs-agy/plugin.json +1 -1
- package/plugins/lisa-nestjs-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-nestjs-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-openclaw/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-openclaw/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-openclaw-agy/plugin.json +1 -1
- package/plugins/lisa-openclaw-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-openclaw-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-phaser/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-phaser/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-phaser-agy/plugin.json +1 -1
- package/plugins/lisa-phaser-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-phaser-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-rails/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-rails/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-rails/.codex-plugin/skills/e2e-coverage-gaps/SKILL.md +21 -9
- package/plugins/lisa-rails/.codex-plugin/skills/lisa-e2e-coverage-gaps/SKILL.md +1 -1
- package/plugins/lisa-rails/commands/e2e-coverage-gaps.md +2 -2
- package/plugins/lisa-rails/skills/e2e-coverage-gaps/SKILL.md +22 -10
- package/plugins/lisa-rails-agy/commands/lisa/e2e-coverage-gaps.md +2 -2
- package/plugins/lisa-rails-agy/plugin.json +1 -1
- package/plugins/lisa-rails-agy/skills/e2e-coverage-gaps/SKILL.md +22 -10
- package/plugins/lisa-rails-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-rails-copilot/commands/lisa/e2e-coverage-gaps.md +2 -2
- package/plugins/lisa-rails-copilot/skills/e2e-coverage-gaps/SKILL.md +22 -10
- package/plugins/lisa-rails-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-rails-cursor/commands/lisa/e2e-coverage-gaps.md +2 -2
- package/plugins/lisa-rails-cursor/skills/e2e-coverage-gaps/SKILL.md +22 -10
- package/plugins/lisa-typescript/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-typescript/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-typescript-agy/plugin.json +1 -1
- package/plugins/lisa-typescript-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-typescript-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-wiki/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-wiki/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-wiki/scripts/_wiki-lib.mjs +2 -2
- package/plugins/lisa-wiki-agy/plugin.json +1 -1
- package/plugins/lisa-wiki-agy/scripts/_wiki-lib.mjs +2 -2
- package/plugins/lisa-wiki-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-wiki-copilot/scripts/_wiki-lib.mjs +2 -2
- package/plugins/lisa-wiki-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-wiki-cursor/scripts/_wiki-lib.mjs +2 -2
- package/plugins/src/base/commands/exploratory-qa.md +2 -2
- package/plugins/src/base/rules/eager/do-it-now.md +5 -5
- package/plugins/src/base/rules/eager/tracked-work.md +2 -0
- package/plugins/src/base/rules/eager/upstream-to-lisa.md +7 -18
- package/plugins/src/base/rules/reference/bdd-e2e-coverage.md +10 -2
- package/plugins/src/base/rules/reference/claim-time-guards.md +4 -0
- package/plugins/src/base/rules/reference/do-it-now.md +9 -27
- package/plugins/src/base/rules/reference/observability-audit.md +2 -2
- package/plugins/src/base/rules/reference/ready-role-filing.md +6 -2
- package/plugins/src/base/rules/reference/rejection-detection.md +8 -2
- package/plugins/src/base/rules/reference/tracked-work.md +2 -0
- package/plugins/src/base/rules/reference/upstream-to-lisa.md +14 -43
- package/plugins/src/base/skills/lisa-exploratory-qa/SKILL.md +9 -7
- package/plugins/src/base/skills/lisa-github-build-intake/SKILL.md +3 -0
- package/plugins/src/base/skills/lisa-github-write-issue/SKILL.md +6 -0
- package/plugins/src/base/skills/lisa-jira-build-intake/SKILL.md +3 -0
- package/plugins/src/base/skills/lisa-jira-write-ticket/SKILL.md +6 -0
- package/plugins/src/base/skills/lisa-learnings-audit/SKILL.md +2 -2
- package/plugins/src/base/skills/lisa-linear-build-intake/SKILL.md +3 -0
- package/plugins/src/base/skills/lisa-linear-write-issue/SKILL.md +6 -0
- package/plugins/src/base/skills/lisa-monitor/SKILL.md +1 -1
- package/plugins/src/base/skills/lisa-persist-learning/SKILL.md +5 -1
- package/plugins/src/base/skills/lisa-prd-source-write/SKILL.md +1 -0
- package/plugins/src/base/skills/lisa-project-ideation/SKILL.md +7 -5
- package/plugins/src/base/skills/lisa-repair-intake/SKILL.md +2 -3
- package/plugins/src/base/skills/lisa-research/SKILL.md +6 -2
- package/plugins/src/base/skills/lisa-rework-triage/SKILL.md +16 -13
- package/plugins/src/base/skills/lisa-track/SKILL.md +24 -6
- package/plugins/src/expo/commands/e2e-coverage-gaps.md +2 -2
- package/plugins/src/expo/skills/e2e-coverage-gaps/SKILL.md +22 -10
- package/plugins/src/harper-fabric/commands/e2e-coverage-gaps.md +2 -2
- package/plugins/src/harper-fabric/skills/e2e-coverage-gaps/SKILL.md +22 -10
- package/plugins/src/rails/commands/e2e-coverage-gaps.md +2 -2
- package/plugins/src/rails/skills/e2e-coverage-gaps/SKILL.md +22 -10
- package/plugins/src/wiki/scripts/_wiki-lib.mjs +2 -2
- package/typescript/copy-overwrite/tsconfig.eslint.json +1 -1
|
@@ -1,16 +1,18 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: e2e-coverage-gaps
|
|
3
|
-
description: Playwright/e2e coverage-gap explorer that FEEDS THE LIFECYCLE. Use when asked to find paths the automated end-to-end suite does NOT cover — routes with no test at all, or flows that are only happy-path tested (missing error, validation, permission, empty, loading, and edge states). It inventories the app's routes and the existing Playwright tests, explores the running app to confirm each uncovered or under-covered path is real and reachable, and files
|
|
3
|
+
description: Playwright/e2e coverage-gap explorer that FEEDS THE LIFECYCLE. Use when asked to find paths the automated end-to-end suite does NOT cover — routes with no test at all, or flows that are only happy-path tested (missing error, validation, permission, empty, loading, and edge states). It inventories the app's routes and the existing Playwright tests, explores the running app to confirm each uncovered or under-covered path is real and reachable, and files bounded build-ready work for worthwhile test gaps via lisa-tracker-write. For human usability/experience issues (confusing, cramped, or broken UI), use the lisa-exploratory-qa skill instead.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# E2E Coverage Gaps
|
|
7
7
|
|
|
8
|
+
On runtimes without the rule tree (Antigravity), read **Worth doing** in `lisa-track` for the same value and decline policy.
|
|
9
|
+
|
|
8
10
|
## Overview
|
|
9
11
|
|
|
10
12
|
Find where the automated end-to-end (Playwright) suite is **blind**: routes with no test at all, and
|
|
11
13
|
flows that only assert the **happy path** while ignoring error, permission, empty, loading, and edge
|
|
12
14
|
cases. Inventory the app's routes and the existing tests, explore the running app to confirm each gap
|
|
13
|
-
is real and reachable, then
|
|
15
|
+
is real and reachable, then group worthwhile gaps into **bounded build-ready missing-test work items** so it enters the
|
|
14
16
|
Lisa lifecycle.
|
|
15
17
|
|
|
16
18
|
This skill is purely about **automated-coverage gaps**. It does not judge whether the UI is confusing
|
|
@@ -62,15 +64,18 @@ Map routes/flows against existing coverage and classify each gap:
|
|
|
62
64
|
|
|
63
65
|
### 5. Explore to Confirm
|
|
64
66
|
|
|
67
|
+
- Apply `do-it-now`'s **Worth doing** guidance: missing coverage alone is not a defect. Identify a required behavior or credible material risk; decline low-value gaps without filing and group related accepted gaps.
|
|
65
68
|
- Navigate each candidate gap in the running app to confirm it is real, reachable, and worth a test.
|
|
66
69
|
Discard gaps that aren't actually reachable or are intentionally out of scope.
|
|
67
70
|
|
|
68
|
-
### 6. File
|
|
71
|
+
### 6. File Bounded Work for Accepted Gaps
|
|
69
72
|
|
|
70
|
-
Each
|
|
73
|
+
Each accepted gap or coherent group becomes a leaf **missing-test** work item created via `lisa-tracker-write` (the
|
|
71
74
|
vendor-neutral writer — it dispatches to the configured tracker and runs the validation gate; never
|
|
72
75
|
call a vendor `*-write-*` skill directly), `issue_type: Task`, **build-ready per the `ready` flag
|
|
73
|
-
(default `true`)**.
|
|
76
|
+
(default `true`)**. For `ready=true`, pass `build_ready: true`. For `ready=false`,
|
|
77
|
+
pass `human_gate: "Coverage work explicitly held for operator prioritization"` instead.
|
|
78
|
+
Each ticket MUST specify:
|
|
74
79
|
|
|
75
80
|
- The **route/flow** and the exact **user behavior the test must assert**.
|
|
76
81
|
- **Which scenario is missing** (uncovered vs which non-happy path: error / validation / permission /
|
|
@@ -80,11 +85,18 @@ call a vendor `*-write-*` skill directly), `issue_type: Task`, **build-ready per
|
|
|
80
85
|
|
|
81
86
|
### Idempotency — don't spam duplicates
|
|
82
87
|
|
|
83
|
-
Before creating a ticket,
|
|
84
|
-
|
|
85
|
-
scenario
|
|
86
|
-
|
|
87
|
-
|
|
88
|
+
Before creating a ticket, follow `rejection-detection` — **Proposal rejection memory**:
|
|
89
|
+
use `<!-- [lisa-e2e-coverage-gaps] key=<candidate-key> -->` with the normalized route +
|
|
90
|
+
missing scenario hashed deterministically by that rule's existing formula. Search open AND
|
|
91
|
+
closed tickets, including its body-enumeration fallback for search-index lag. Match by the
|
|
92
|
+
marker for any constituent gap, never by title alone. Reuse open matches. For legacy issues
|
|
93
|
+
without a marker or with the older `[lisa-e2e-coverage-gaps] <gap-key>` slug marker, read
|
|
94
|
+
bodies and closing discussions to establish a semantic match; title similarity
|
|
95
|
+
alone is insufficient. A **Not planned** decision suppresses the same accepted
|
|
96
|
+
limitation, even when seen again later. Re-propose only for a materially changed
|
|
97
|
+
consequence, requirement, or risk that addresses the decline. A completed fix may
|
|
98
|
+
have a real regression, which must be verified before filing. Grouped work retains
|
|
99
|
+
the constituent gap markers so a later pass can find it.
|
|
88
100
|
|
|
89
101
|
## Output
|
|
90
102
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
|
-
description: "Explore gaps in the automated Playwright/e2e suite: inventory the app's routes and existing tests, find routes with no coverage or flows tested only on the happy path (missing error, permission, empty, loading, and edge cases), confirm each in the running app, and file
|
|
2
|
+
description: "Explore gaps in the automated Playwright/e2e suite: inventory the app's routes and existing tests, find routes with no coverage or flows tested only on the happy path (missing error, permission, empty, loading, and edge cases), confirm each in the running app, and file bounded build-ready work for worthwhile test gaps via lisa:tracker-write. The optional ready flag (default true) controls build-ready vs backlog. For human usability issues, use exploratory-qa instead."
|
|
3
3
|
allowed-tools: ["Skill"]
|
|
4
4
|
argument-hint: "[target-url | env] [ready=true|false]"
|
|
5
5
|
---
|
|
6
6
|
|
|
7
|
-
Use the /lisa-harper-fabric:e2e-coverage-gaps skill to inventory the app's routes and the existing Playwright suite, find uncovered and happy-path-only paths, confirm each gap in the running app, and file
|
|
7
|
+
Use the /lisa-harper-fabric:e2e-coverage-gaps skill to inventory the app's routes and the existing Playwright suite, find uncovered and happy-path-only paths, confirm each gap in the running app, and file bounded build-ready work for worthwhile test gaps via lisa:tracker-write (build-ready per the ready flag, default true). For human usability/experience findings, use /lisa:exploratory-qa. $ARGUMENTS
|
|
@@ -1,16 +1,18 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: e2e-coverage-gaps
|
|
3
|
-
description: Playwright/e2e coverage-gap explorer that FEEDS THE LIFECYCLE. Use when asked to find paths the automated end-to-end suite does NOT cover — routes with no test at all, or flows that are only happy-path tested (missing error, validation, permission, empty, loading, and edge states). It inventories the app's routes and the existing Playwright tests, explores the running app to confirm each uncovered or under-covered path is real and reachable, and files
|
|
3
|
+
description: Playwright/e2e coverage-gap explorer that FEEDS THE LIFECYCLE. Use when asked to find paths the automated end-to-end suite does NOT cover — routes with no test at all, or flows that are only happy-path tested (missing error, validation, permission, empty, loading, and edge states). It inventories the app's routes and the existing Playwright tests, explores the running app to confirm each uncovered or under-covered path is real and reachable, and files bounded build-ready work for worthwhile test gaps via lisa-tracker-write. For human usability/experience issues (confusing, cramped, or broken UI), use the lisa-exploratory-qa skill instead.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# E2E Coverage Gaps
|
|
7
7
|
|
|
8
|
+
On runtimes without the rule tree (Antigravity), read **Worth doing** in `lisa-track` for the same value and decline policy.
|
|
9
|
+
|
|
8
10
|
## Overview
|
|
9
11
|
|
|
10
12
|
Find where the automated end-to-end (Playwright) suite is **blind**: routes with no test at all, and
|
|
11
13
|
flows that only assert the **happy path** while ignoring error, permission, empty, loading, and edge
|
|
12
14
|
cases. Inventory the app's routes and the existing tests, explore the running app to confirm each gap
|
|
13
|
-
is real and reachable, then
|
|
15
|
+
is real and reachable, then group worthwhile gaps into **bounded build-ready missing-test work items** so it enters the
|
|
14
16
|
Lisa lifecycle.
|
|
15
17
|
|
|
16
18
|
This skill is purely about **automated-coverage gaps**. It does not judge whether the UI is confusing
|
|
@@ -62,15 +64,18 @@ Map routes/flows against existing coverage and classify each gap:
|
|
|
62
64
|
|
|
63
65
|
### 5. Explore to Confirm
|
|
64
66
|
|
|
67
|
+
- Apply `do-it-now`'s **Worth doing** guidance: missing coverage alone is not a defect. Identify a required behavior or credible material risk; decline low-value gaps without filing and group related accepted gaps.
|
|
65
68
|
- Navigate each candidate gap in the running app to confirm it is real, reachable, and worth a test.
|
|
66
69
|
Discard gaps that aren't actually reachable or are intentionally out of scope.
|
|
67
70
|
|
|
68
|
-
### 6. File
|
|
71
|
+
### 6. File Bounded Work for Accepted Gaps
|
|
69
72
|
|
|
70
|
-
Each
|
|
73
|
+
Each accepted gap or coherent group becomes a leaf **missing-test** work item created via `lisa-tracker-write` (the
|
|
71
74
|
vendor-neutral writer — it dispatches to the configured tracker and runs the validation gate; never
|
|
72
75
|
call a vendor `*-write-*` skill directly), `issue_type: Task`, **build-ready per the `ready` flag
|
|
73
|
-
(default `true`)**.
|
|
76
|
+
(default `true`)**. For `ready=true`, pass `build_ready: true`. For `ready=false`,
|
|
77
|
+
pass `human_gate: "Coverage work explicitly held for operator prioritization"` instead.
|
|
78
|
+
Each ticket MUST specify:
|
|
74
79
|
|
|
75
80
|
- The **route/flow** and the exact **user behavior the test must assert**.
|
|
76
81
|
- **Which scenario is missing** (uncovered vs which non-happy path: error / validation / permission /
|
|
@@ -80,11 +85,18 @@ call a vendor `*-write-*` skill directly), `issue_type: Task`, **build-ready per
|
|
|
80
85
|
|
|
81
86
|
### Idempotency — don't spam duplicates
|
|
82
87
|
|
|
83
|
-
Before creating a ticket,
|
|
84
|
-
|
|
85
|
-
scenario
|
|
86
|
-
|
|
87
|
-
|
|
88
|
+
Before creating a ticket, follow `rejection-detection` — **Proposal rejection memory**:
|
|
89
|
+
use `<!-- [lisa-e2e-coverage-gaps] key=<candidate-key> -->` with the normalized route +
|
|
90
|
+
missing scenario hashed deterministically by that rule's existing formula. Search open AND
|
|
91
|
+
closed tickets, including its body-enumeration fallback for search-index lag. Match by the
|
|
92
|
+
marker for any constituent gap, never by title alone. Reuse open matches. For legacy issues
|
|
93
|
+
without a marker or with the older `[lisa-e2e-coverage-gaps] <gap-key>` slug marker, read
|
|
94
|
+
bodies and closing discussions to establish a semantic match; title similarity
|
|
95
|
+
alone is insufficient. A **Not planned** decision suppresses the same accepted
|
|
96
|
+
limitation, even when seen again later. Re-propose only for a materially changed
|
|
97
|
+
consequence, requirement, or risk that addresses the decline. A completed fix may
|
|
98
|
+
have a real regression, which must be verified before filing. Grouped work retains
|
|
99
|
+
the constituent gap markers so a later pass can find it.
|
|
88
100
|
|
|
89
101
|
## Output
|
|
90
102
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
|
-
description: "Explore gaps in the automated Playwright/e2e suite: inventory the app's routes and existing tests, find routes with no coverage or flows tested only on the happy path (missing error, permission, empty, loading, and edge cases), confirm each in the running app, and file
|
|
2
|
+
description: "Explore gaps in the automated Playwright/e2e suite: inventory the app's routes and existing tests, find routes with no coverage or flows tested only on the happy path (missing error, permission, empty, loading, and edge cases), confirm each in the running app, and file bounded build-ready work for worthwhile test gaps via lisa:tracker-write. The optional ready flag (default true) controls build-ready vs backlog. For human usability issues, use exploratory-qa instead."
|
|
3
3
|
allowed-tools: ["Skill"]
|
|
4
4
|
argument-hint: "[target-url | env] [ready=true|false]"
|
|
5
5
|
---
|
|
6
6
|
|
|
7
|
-
Use the /lisa-harper-fabric:e2e-coverage-gaps skill to inventory the app's routes and the existing Playwright suite, find uncovered and happy-path-only paths, confirm each gap in the running app, and file
|
|
7
|
+
Use the /lisa-harper-fabric:e2e-coverage-gaps skill to inventory the app's routes and the existing Playwright suite, find uncovered and happy-path-only paths, confirm each gap in the running app, and file bounded build-ready work for worthwhile test gaps via lisa:tracker-write (build-ready per the ready flag, default true). For human usability/experience findings, use /lisa:exploratory-qa. $ARGUMENTS
|
|
@@ -1,16 +1,18 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: e2e-coverage-gaps
|
|
3
|
-
description: Playwright/e2e coverage-gap explorer that FEEDS THE LIFECYCLE. Use when asked to find paths the automated end-to-end suite does NOT cover — routes with no test at all, or flows that are only happy-path tested (missing error, validation, permission, empty, loading, and edge states). It inventories the app's routes and the existing Playwright tests, explores the running app to confirm each uncovered or under-covered path is real and reachable, and files
|
|
3
|
+
description: Playwright/e2e coverage-gap explorer that FEEDS THE LIFECYCLE. Use when asked to find paths the automated end-to-end suite does NOT cover — routes with no test at all, or flows that are only happy-path tested (missing error, validation, permission, empty, loading, and edge states). It inventories the app's routes and the existing Playwright tests, explores the running app to confirm each uncovered or under-covered path is real and reachable, and files bounded build-ready work for worthwhile test gaps via lisa-tracker-write. For human usability/experience issues (confusing, cramped, or broken UI), use the lisa-exploratory-qa skill instead.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# E2E Coverage Gaps
|
|
7
7
|
|
|
8
|
+
On runtimes without the rule tree (Antigravity), read **Worth doing** in `lisa-track` for the same value and decline policy.
|
|
9
|
+
|
|
8
10
|
## Overview
|
|
9
11
|
|
|
10
12
|
Find where the automated end-to-end (Playwright) suite is **blind**: routes with no test at all, and
|
|
11
13
|
flows that only assert the **happy path** while ignoring error, permission, empty, loading, and edge
|
|
12
14
|
cases. Inventory the app's routes and the existing tests, explore the running app to confirm each gap
|
|
13
|
-
is real and reachable, then
|
|
15
|
+
is real and reachable, then group worthwhile gaps into **bounded build-ready missing-test work items** so it enters the
|
|
14
16
|
Lisa lifecycle.
|
|
15
17
|
|
|
16
18
|
This skill is purely about **automated-coverage gaps**. It does not judge whether the UI is confusing
|
|
@@ -62,15 +64,18 @@ Map routes/flows against existing coverage and classify each gap:
|
|
|
62
64
|
|
|
63
65
|
### 5. Explore to Confirm
|
|
64
66
|
|
|
67
|
+
- Apply `do-it-now`'s **Worth doing** guidance: missing coverage alone is not a defect. Identify a required behavior or credible material risk; decline low-value gaps without filing and group related accepted gaps.
|
|
65
68
|
- Navigate each candidate gap in the running app to confirm it is real, reachable, and worth a test.
|
|
66
69
|
Discard gaps that aren't actually reachable or are intentionally out of scope.
|
|
67
70
|
|
|
68
|
-
### 6. File
|
|
71
|
+
### 6. File Bounded Work for Accepted Gaps
|
|
69
72
|
|
|
70
|
-
Each
|
|
73
|
+
Each accepted gap or coherent group becomes a leaf **missing-test** work item created via `lisa-tracker-write` (the
|
|
71
74
|
vendor-neutral writer — it dispatches to the configured tracker and runs the validation gate; never
|
|
72
75
|
call a vendor `*-write-*` skill directly), `issue_type: Task`, **build-ready per the `ready` flag
|
|
73
|
-
(default `true`)**.
|
|
76
|
+
(default `true`)**. For `ready=true`, pass `build_ready: true`. For `ready=false`,
|
|
77
|
+
pass `human_gate: "Coverage work explicitly held for operator prioritization"` instead.
|
|
78
|
+
Each ticket MUST specify:
|
|
74
79
|
|
|
75
80
|
- The **route/flow** and the exact **user behavior the test must assert**.
|
|
76
81
|
- **Which scenario is missing** (uncovered vs which non-happy path: error / validation / permission /
|
|
@@ -80,11 +85,18 @@ call a vendor `*-write-*` skill directly), `issue_type: Task`, **build-ready per
|
|
|
80
85
|
|
|
81
86
|
### Idempotency — don't spam duplicates
|
|
82
87
|
|
|
83
|
-
Before creating a ticket,
|
|
84
|
-
|
|
85
|
-
scenario
|
|
86
|
-
|
|
87
|
-
|
|
88
|
+
Before creating a ticket, follow `rejection-detection` — **Proposal rejection memory**:
|
|
89
|
+
use `<!-- [lisa-e2e-coverage-gaps] key=<candidate-key> -->` with the normalized route +
|
|
90
|
+
missing scenario hashed deterministically by that rule's existing formula. Search open AND
|
|
91
|
+
closed tickets, including its body-enumeration fallback for search-index lag. Match by the
|
|
92
|
+
marker for any constituent gap, never by title alone. Reuse open matches. For legacy issues
|
|
93
|
+
without a marker or with the older `[lisa-e2e-coverage-gaps] <gap-key>` slug marker, read
|
|
94
|
+
bodies and closing discussions to establish a semantic match; title similarity
|
|
95
|
+
alone is insufficient. A **Not planned** decision suppresses the same accepted
|
|
96
|
+
limitation, even when seen again later. Re-propose only for a materially changed
|
|
97
|
+
consequence, requirement, or risk that addresses the decline. A completed fix may
|
|
98
|
+
have a real regression, which must be verified before filing. Grouped work retains
|
|
99
|
+
the constituent gap markers so a later pass can find it.
|
|
88
100
|
|
|
89
101
|
## Output
|
|
90
102
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "lisa-openclaw",
|
|
3
|
-
"version": "4.55.
|
|
3
|
+
"version": "4.55.7",
|
|
4
4
|
"description": "Connect staff roles to Telegram or Slack via OpenClaw — facilitator/specialist hub-and-spoke routing and repo-coding topics, for Claude Code and Codex",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Cody Swann"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "lisa-openclaw",
|
|
3
|
-
"version": "4.55.
|
|
3
|
+
"version": "4.55.7",
|
|
4
4
|
"description": "Connect staff roles to Telegram or Slack via OpenClaw — facilitator/specialist hub-and-spoke routing and repo-coding topics, across Claude and Codex.",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Cody Swann"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "lisa-openclaw",
|
|
3
|
-
"version": "4.55.
|
|
3
|
+
"version": "4.55.7",
|
|
4
4
|
"description": "Connect staff roles to Telegram or Slack via OpenClaw — facilitator/specialist hub-and-spoke routing and repo-coding topics, for Claude Code and Codex",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Cody Swann"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "lisa-openclaw",
|
|
3
|
-
"version": "4.55.
|
|
3
|
+
"version": "4.55.7",
|
|
4
4
|
"description": "Connect staff roles to Telegram or Slack via OpenClaw — facilitator/specialist hub-and-spoke routing and repo-coding topics, for Claude Code and Codex",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Cody Swann"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "lisa-openclaw",
|
|
3
|
-
"version": "4.55.
|
|
3
|
+
"version": "4.55.7",
|
|
4
4
|
"description": "Connect staff roles to Telegram or Slack via OpenClaw — facilitator/specialist hub-and-spoke routing and repo-coding topics, for Claude Code and Codex",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Cody Swann"
|
|
@@ -5,12 +5,14 @@ description: "Playwright/e2e coverage-gap…"
|
|
|
5
5
|
|
|
6
6
|
# E2E Coverage Gaps
|
|
7
7
|
|
|
8
|
+
On runtimes without the rule tree (Antigravity), read **Worth doing** in `lisa-track` for the same value and decline policy.
|
|
9
|
+
|
|
8
10
|
## Overview
|
|
9
11
|
|
|
10
12
|
Find where the automated end-to-end (Playwright) suite is **blind**: routes with no test at all, and
|
|
11
13
|
flows that only assert the **happy path** while ignoring error, permission, empty, loading, and edge
|
|
12
14
|
cases. Inventory the app's routes and the existing tests, explore the running app to confirm each gap
|
|
13
|
-
is real and reachable, then
|
|
15
|
+
is real and reachable, then group worthwhile gaps into **bounded build-ready missing-test work items** so it enters the
|
|
14
16
|
Lisa lifecycle.
|
|
15
17
|
|
|
16
18
|
This skill is purely about **automated-coverage gaps**. It does not judge whether the UI is confusing
|
|
@@ -62,15 +64,18 @@ Map routes/flows against existing coverage and classify each gap:
|
|
|
62
64
|
|
|
63
65
|
### 5. Explore to Confirm
|
|
64
66
|
|
|
67
|
+
- Apply `do-it-now`'s **Worth doing** guidance: missing coverage alone is not a defect. Identify a required behavior or credible material risk; decline low-value gaps without filing and group related accepted gaps.
|
|
65
68
|
- Navigate each candidate gap in the running app to confirm it is real, reachable, and worth a test.
|
|
66
69
|
Discard gaps that aren't actually reachable or are intentionally out of scope.
|
|
67
70
|
|
|
68
|
-
### 6. File
|
|
71
|
+
### 6. File Bounded Work for Accepted Gaps
|
|
69
72
|
|
|
70
|
-
Each
|
|
73
|
+
Each accepted gap or coherent group becomes a leaf **missing-test** work item created via `lisa-tracker-write` (the
|
|
71
74
|
vendor-neutral writer — it dispatches to the configured tracker and runs the validation gate; never
|
|
72
75
|
call a vendor `*-write-*` skill directly), `issue_type: Task`, **build-ready per the `ready` flag
|
|
73
|
-
(default `true`)**.
|
|
76
|
+
(default `true`)**. For `ready=true`, pass `build_ready: true`. For `ready=false`,
|
|
77
|
+
pass `human_gate: "Coverage work explicitly held for operator prioritization"` instead.
|
|
78
|
+
Each ticket MUST specify:
|
|
74
79
|
|
|
75
80
|
- The **route/flow** and the exact **user behavior the test must assert**.
|
|
76
81
|
- **Which scenario is missing** (uncovered vs which non-happy path: error / validation / permission /
|
|
@@ -80,11 +85,18 @@ call a vendor `*-write-*` skill directly), `issue_type: Task`, **build-ready per
|
|
|
80
85
|
|
|
81
86
|
### Idempotency — don't spam duplicates
|
|
82
87
|
|
|
83
|
-
Before creating a ticket,
|
|
84
|
-
|
|
85
|
-
scenario
|
|
86
|
-
|
|
87
|
-
|
|
88
|
+
Before creating a ticket, follow `rejection-detection` — **Proposal rejection memory**:
|
|
89
|
+
use `<!-- [lisa-e2e-coverage-gaps] key=<candidate-key> -->` with the normalized route +
|
|
90
|
+
missing scenario hashed deterministically by that rule's existing formula. Search open AND
|
|
91
|
+
closed tickets, including its body-enumeration fallback for search-index lag. Match by the
|
|
92
|
+
marker for any constituent gap, never by title alone. Reuse open matches. For legacy issues
|
|
93
|
+
without a marker or with the older `[lisa-e2e-coverage-gaps] <gap-key>` slug marker, read
|
|
94
|
+
bodies and closing discussions to establish a semantic match; title similarity
|
|
95
|
+
alone is insufficient. A **Not planned** decision suppresses the same accepted
|
|
96
|
+
limitation, even when seen again later. Re-propose only for a materially changed
|
|
97
|
+
consequence, requirement, or risk that addresses the decline. A completed fix may
|
|
98
|
+
have a real regression, which must be verified before filing. Grouped work retains
|
|
99
|
+
the constituent gap markers so a later pass can find it.
|
|
88
100
|
|
|
89
101
|
## Output
|
|
90
102
|
|
|
@@ -10,4 +10,4 @@ description: "Explore gaps in the automated…"
|
|
|
10
10
|
- Claude argument hint: `[target-url | env] [ready=true|false]`
|
|
11
11
|
- Claude allowed tools: `Skill`. Codex tool access is governed by the active Codex runtime and project policy.
|
|
12
12
|
|
|
13
|
-
Use the /lisa-rails:e2e-coverage-gaps skill to inventory the app's routes and the existing Playwright suite, find uncovered and happy-path-only paths, confirm each gap in the running app, and file
|
|
13
|
+
Use the /lisa-rails:e2e-coverage-gaps skill to inventory the app's routes and the existing Playwright suite, find uncovered and happy-path-only paths, confirm each gap in the running app, and file bounded build-ready work for worthwhile test gaps via lisa-tracker-write (build-ready per the ready flag, default true). For human usability/experience findings, use /lisa:exploratory-qa. Use the user's surrounding request as this command's arguments.
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
|
-
description: "Explore gaps in the automated Playwright/e2e suite: inventory the app's routes and existing tests, find routes with no coverage or flows tested only on the happy path (missing error, permission, empty, loading, and edge cases), confirm each in the running app, and file
|
|
2
|
+
description: "Explore gaps in the automated Playwright/e2e suite: inventory the app's routes and existing tests, find routes with no coverage or flows tested only on the happy path (missing error, permission, empty, loading, and edge cases), confirm each in the running app, and file bounded build-ready work for worthwhile test gaps via lisa-tracker-write. The optional ready flag (default true) controls build-ready vs backlog. For human usability issues, use exploratory-qa instead."
|
|
3
3
|
allowed-tools: ["Skill"]
|
|
4
4
|
argument-hint: "[target-url | env] [ready=true|false]"
|
|
5
5
|
---
|
|
6
6
|
|
|
7
|
-
Use the /lisa-rails:e2e-coverage-gaps skill to inventory the app's routes and the existing Playwright suite, find uncovered and happy-path-only paths, confirm each gap in the running app, and file
|
|
7
|
+
Use the /lisa-rails:e2e-coverage-gaps skill to inventory the app's routes and the existing Playwright suite, find uncovered and happy-path-only paths, confirm each gap in the running app, and file bounded build-ready work for worthwhile test gaps via lisa-tracker-write (build-ready per the ready flag, default true). For human usability/experience findings, use /lisa:exploratory-qa. $ARGUMENTS
|
|
@@ -1,16 +1,18 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: e2e-coverage-gaps
|
|
3
|
-
description: Playwright/e2e coverage-gap explorer that FEEDS THE LIFECYCLE. Use when asked to find paths the automated end-to-end suite does NOT cover — routes with no test at all, or flows that are only happy-path tested (missing error, validation, permission, empty, loading, and edge states). It inventories the app's routes and the existing Playwright tests, explores the running app to confirm each uncovered or under-covered path is real and reachable, and files
|
|
3
|
+
description: Playwright/e2e coverage-gap explorer that FEEDS THE LIFECYCLE. Use when asked to find paths the automated end-to-end suite does NOT cover — routes with no test at all, or flows that are only happy-path tested (missing error, validation, permission, empty, loading, and edge states). It inventories the app's routes and the existing Playwright tests, explores the running app to confirm each uncovered or under-covered path is real and reachable, and files bounded build-ready work for worthwhile test gaps via lisa-tracker-write. For human usability/experience issues (confusing, cramped, or broken UI), use the lisa-exploratory-qa skill instead.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# E2E Coverage Gaps
|
|
7
7
|
|
|
8
|
+
On runtimes without the rule tree (Antigravity), read **Worth doing** in `lisa-track` for the same value and decline policy.
|
|
9
|
+
|
|
8
10
|
## Overview
|
|
9
11
|
|
|
10
12
|
Find where the automated end-to-end (Playwright) suite is **blind**: routes with no test at all, and
|
|
11
13
|
flows that only assert the **happy path** while ignoring error, permission, empty, loading, and edge
|
|
12
14
|
cases. Inventory the app's routes and the existing tests, explore the running app to confirm each gap
|
|
13
|
-
is real and reachable, then
|
|
15
|
+
is real and reachable, then group worthwhile gaps into **bounded build-ready missing-test work items** so it enters the
|
|
14
16
|
Lisa lifecycle.
|
|
15
17
|
|
|
16
18
|
This skill is purely about **automated-coverage gaps**. It does not judge whether the UI is confusing
|
|
@@ -62,15 +64,18 @@ Map routes/flows against existing coverage and classify each gap:
|
|
|
62
64
|
|
|
63
65
|
### 5. Explore to Confirm
|
|
64
66
|
|
|
67
|
+
- Apply `do-it-now`'s **Worth doing** guidance: missing coverage alone is not a defect. Identify a required behavior or credible material risk; decline low-value gaps without filing and group related accepted gaps.
|
|
65
68
|
- Navigate each candidate gap in the running app to confirm it is real, reachable, and worth a test.
|
|
66
69
|
Discard gaps that aren't actually reachable or are intentionally out of scope.
|
|
67
70
|
|
|
68
|
-
### 6. File
|
|
71
|
+
### 6. File Bounded Work for Accepted Gaps
|
|
69
72
|
|
|
70
|
-
Each
|
|
73
|
+
Each accepted gap or coherent group becomes a leaf **missing-test** work item created via `lisa-tracker-write` (the
|
|
71
74
|
vendor-neutral writer — it dispatches to the configured tracker and runs the validation gate; never
|
|
72
75
|
call a vendor `*-write-*` skill directly), `issue_type: Task`, **build-ready per the `ready` flag
|
|
73
|
-
(default `true`)**.
|
|
76
|
+
(default `true`)**. For `ready=true`, pass `build_ready: true`. For `ready=false`,
|
|
77
|
+
pass `human_gate: "Coverage work explicitly held for operator prioritization"` instead.
|
|
78
|
+
Each ticket MUST specify:
|
|
74
79
|
|
|
75
80
|
- The **route/flow** and the exact **user behavior the test must assert**.
|
|
76
81
|
- **Which scenario is missing** (uncovered vs which non-happy path: error / validation / permission /
|
|
@@ -80,11 +85,18 @@ call a vendor `*-write-*` skill directly), `issue_type: Task`, **build-ready per
|
|
|
80
85
|
|
|
81
86
|
### Idempotency — don't spam duplicates
|
|
82
87
|
|
|
83
|
-
Before creating a ticket,
|
|
84
|
-
|
|
85
|
-
scenario
|
|
86
|
-
|
|
87
|
-
|
|
88
|
+
Before creating a ticket, follow `rejection-detection` — **Proposal rejection memory**:
|
|
89
|
+
use `<!-- [lisa-e2e-coverage-gaps] key=<candidate-key> -->` with the normalized route +
|
|
90
|
+
missing scenario hashed deterministically by that rule's existing formula. Search open AND
|
|
91
|
+
closed tickets, including its body-enumeration fallback for search-index lag. Match by the
|
|
92
|
+
marker for any constituent gap, never by title alone. Reuse open matches. For legacy issues
|
|
93
|
+
without a marker or with the older `[lisa-e2e-coverage-gaps] <gap-key>` slug marker, read
|
|
94
|
+
bodies and closing discussions to establish a semantic match; title similarity
|
|
95
|
+
alone is insufficient. A **Not planned** decision suppresses the same accepted
|
|
96
|
+
limitation, even when seen again later. Re-propose only for a materially changed
|
|
97
|
+
consequence, requirement, or risk that addresses the decline. A completed fix may
|
|
98
|
+
have a real regression, which must be verified before filing. Grouped work retains
|
|
99
|
+
the constituent gap markers so a later pass can find it.
|
|
88
100
|
|
|
89
101
|
## Output
|
|
90
102
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
|
-
description: "Explore gaps in the automated Playwright/e2e suite: inventory the app's routes and existing tests, find routes with no coverage or flows tested only on the happy path (missing error, permission, empty, loading, and edge cases), confirm each in the running app, and file
|
|
2
|
+
description: "Explore gaps in the automated Playwright/e2e suite: inventory the app's routes and existing tests, find routes with no coverage or flows tested only on the happy path (missing error, permission, empty, loading, and edge cases), confirm each in the running app, and file bounded build-ready work for worthwhile test gaps via lisa-tracker-write. The optional ready flag (default true) controls build-ready vs backlog. For human usability issues, use exploratory-qa instead."
|
|
3
3
|
allowed-tools: ["Skill"]
|
|
4
4
|
argument-hint: "[target-url | env] [ready=true|false]"
|
|
5
5
|
---
|
|
6
6
|
|
|
7
|
-
Use the /lisa-rails:e2e-coverage-gaps skill to inventory the app's routes and the existing Playwright suite, find uncovered and happy-path-only paths, confirm each gap in the running app, and file
|
|
7
|
+
Use the /lisa-rails:e2e-coverage-gaps skill to inventory the app's routes and the existing Playwright suite, find uncovered and happy-path-only paths, confirm each gap in the running app, and file bounded build-ready work for worthwhile test gaps via lisa-tracker-write (build-ready per the ready flag, default true). For human usability/experience findings, use /lisa:exploratory-qa. $ARGUMENTS
|