Mirroir Onboard
jfarcand/mirroir-mcp
Onboard a consumer web app to mirroir's .mirroir/ dotfile by EXPLORING the running app (chrome-devtools-mcp) — derive real selectors from the accessibility tree, exercise each surface's primary…
Post-implementation end-to-end feature verification. An agent skill from LanternOps/breeze.
$ npx skills add LanternOps/breeze --skill feature-testing -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install LanternOps/breeze feature-testing --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/LanternOps/breeze.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/feature-testing .claude/skills/feature-testing && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "feature-testing" agent skill from https://github.com/LanternOps/breeze/tree/main/.claude/skills/feature-testing into .claude/skills/feature-testing/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "feature-testing", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/LanternOps/breeze/tree/main/.claude/skills/feature-testingType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add LanternOps/breeze --skill feature-testing -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install LanternOps/breeze feature-testing --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/LanternOps/breeze.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.claude/skills/feature-testing .agents/skills/feature-testing && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "feature-testing" agent skill from https://github.com/LanternOps/breeze/tree/main/.claude/skills/feature-testing into .agents/skills/feature-testing/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "feature-testing", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add LanternOps/breeze --skill feature-testing -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install LanternOps/breeze feature-testing --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/LanternOps/breeze.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.claude/skills/feature-testing .cursor/skills/feature-testing && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "feature-testing" agent skill from https://github.com/LanternOps/breeze/tree/main/.claude/skills/feature-testing into .cursor/skills/feature-testing/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "feature-testing", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/LanternOps/breeze.git --path .claude/skills/feature-testing--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add LanternOps/breeze --skill feature-testing -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install LanternOps/breeze feature-testing --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/LanternOps/breeze.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.claude/skills/feature-testing .gemini/skills/feature-testing && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "feature-testing" agent skill from https://github.com/LanternOps/breeze/tree/main/.claude/skills/feature-testing into .gemini/skills/feature-testing/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "feature-testing", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install LanternOps/breeze feature-testingInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add LanternOps/breeze --skill feature-testing -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/LanternOps/breeze.git skills-src && mkdir -p .github/skills && cp -r skills-src/.claude/skills/feature-testing .github/skills/feature-testing && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "feature-testing" agent skill from https://github.com/LanternOps/breeze/tree/main/.claude/skills/feature-testing into .github/skills/feature-testing/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "feature-testing", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add LanternOps/breeze --skill feature-testing -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install LanternOps/breeze feature-testing --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/LanternOps/breeze.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.claude/skills/feature-testing .opencode/skills/feature-testing && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "feature-testing" agent skill from https://github.com/LanternOps/breeze/tree/main/.claude/skills/feature-testing into .opencode/skills/feature-testing/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "feature-testing", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
feature-testingPost-implementation end-to-end feature verification. An agent skill from LanternOps/breeze.
Feature Testing is an agent skill from LanternOps/breeze. Post-implementation end-to-end feature verification. Use after implementing a feature to verify it works across UI, API, and agent layers using Playwright MCP tools, make dev-push, diagnostic logs API, and structured test logging.
Its SKILL.md is about 3k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Testing & QA, covering Browser testing, End-to-end testing and MCP servers. It works with Playwright and macOS. The repository describes itself as: The open-source IT platform that comes with the workers. RMM + PSA in one system, with a governed AI operator built in. The licence is AGPL-3.0.
8 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 1f72bb7. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
makecurlpython3dockerpnpmFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use curl, docker and pnpm, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Names these keys or tokens, usually read from environment variables:
E2E_ADMIN_PASSWORDBREEZE_API_KEYAUTH_TOKENREDIS_PASSWORDFrom names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Feature Testing loads about 3k tokens when it runs. Until then it costs about 62 tokens; SKILL.md has 951 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check noted patterns worth knowing about, such as sudo or a known installer.
code credentials. Always read from root `.env` using the `E2E_*` variables (`E2E_BASE_URL`, `E2E_API_URL`, `E2E_ADMIN_EM### Required .env VariablesRead the root `.env` file and confirm these are set:MIN_PASSWORD` | Login password | (set in .env) |redis-cli -a "$(grep '^REDIS_PASSWORD=' .env | cut -d= -f2)" --no-auth-warning EVAL "local k=redis.call('KEYS','login:*Reads defaults from `../.env.dev` (gitignored):& make dev-push # Use .env.dev defaultsredis-cli -a "$(grep '^REDIS_PASSWORD=' .env | cut -d= -f2)" --no-auth-warning EVAL "local k=redis.call('KEYS','login:*Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from LanternOps/breeze at commit 1f72bb7, republished under its AGPL-3.0 licence (© LanternOps). 951 words, ~2,957 tokens.
.claude/skills/feature-testing/SKILL.md (or your agent's skills folder).Use this skill after implementing a feature to verify it actually works end-to-end. It guides you through phased verification across UI, API, and agent layers — using Playwright MCP for browser testing, make dev-push for agent deploys, the diagnostic logs API for agent verification, and a markdown log for tracking results.
When to invoke: After completing implementation of any feature, bugfix, or behavior change. Before claiming "done" or creating a PR.
Credentials: NEVER hardcode credentials. Always read from root .env using the E2E_* variables (E2E_BASE_URL, E2E_API_URL, E2E_ADMIN_EMAIL, E2E_ADMIN_PASSWORD, E2E_MACOS_DEVICE_ID, E2E_WINDOWS_DEVICE_ID). For agent deploys, use BREEZE_API_KEY and BREEZE_DEV_DEVICE from .env.dev. Source these files before running any commands that need auth.
Determine which phases to run based on what was implemented:
| Feature Type | Example | Phases |
|---|---|---|
| UI-only | New dashboard widget, form validation | 2, 4, 7 |
| API-only | New endpoint, query change | 2, 5, 7 |
| Agent-side | New command handler, collector | 2, 3, 5, 6, 7 |
| Full-stack | New feature spanning UI + API + agent | 2, 3, 4, 5, 6, 7 |
Read the root .env file and confirm these are set:
| Variable | Purpose | Example |
|---|---|---|
E2E_BASE_URL | Web app URL | http://localhost:4321 (or the baseUrl from pnpm wt-stack up) |
E2E_API_URL | API URL | http://localhost:3001 |
E2E_ADMIN_EMAIL | Login email | admin@breeze.local |
E2E_ADMIN_PASSWORD | Login password | (set in .env) |
E2E_MACOS_DEVICE_ID | macOS test device | UUID |
E2E_WINDOWS_DEVICE_ID | Windows test device | UUID |
Point these at a local or lab stack, never at a hosted production URL.
Check that required services are running:
docker compose ps --format "table {{.Name}}\t{{.Status}}" | grep -E "api|web|postgres|redis"All four services (api, web, postgres, redis) must show "Up".
curl -sf "${E2E_API_URL}/api/v1/devices/${E2E_MACOS_DEVICE_ID}" \
-H "X-API-Key: ${BREEZE_API_KEY}" | python3 -c "import sys,json; d=json.load(sys.stdin); print(f'{d[\"hostname\"]} — {d[\"status\"]}')"Prevent login failures during testing:
docker exec breeze-redis redis-cli -a "$(grep '^REDIS_PASSWORD=' .env | cut -d= -f2)" --no-auth-warning EVAL "local k=redis.call('KEYS','login:*'); for _,v in ipairs(k) do redis.call('DEL',v) end; return #k" 0Use make dev-push to build and deploy agent code to the test device. The Makefile target at agent/Makefile:116-144 handles: detect platform, cross-compile, upload binary, trigger restart.
cd agent
make dev-pushReads defaults from ../.env.dev (gitignored):
BREEZE_DEV_DEVICE — target device UUIDBREEZE_API_KEY — API key (brz_...) or JWTBREEZE_API_URL — API base URLOverride any default: make dev-push DEVICE=<id> AUTH_TOKEN=<key> API_URL=<url>
Poll the device API to confirm the new version is running:
curl -sf "${E2E_API_URL}/api/v1/devices/${DEVICE_ID}" \
-H "X-API-Key: ${BREEZE_API_KEY}" | python3 -c "import sys,json; d=json.load(sys.stdin); print(f'version={d.get(\"agentVersion\",\"?\")} status={d[\"status\"]}')"The version should show dev-<unix-timestamp>. Agent typically restarts within 5-10 seconds.
Use Playwright MCP tools for browser-based verification. Load tools via ToolSearch first.
1. browser_navigate → ${E2E_BASE_URL}/login
2. browser_snapshot → confirm login form rendered
3. browser_fill_form → email + password fields
4. browser_click → submit button
5. browser_wait_for → URL changes away from /login (timeout 10s)
6. browser_snapshot → confirm dashboard loaded| Page | URL |
|---|---|
| Dashboard | / |
| Devices | /devices |
| Device Detail | /devices/{id} |
| Alerts | /alerts |
| Scripts | /scripts |
| Automations | /automations |
| Reports | /reports |
| Settings | /settings |
| Monitoring | /monitoring |
| Discovery | /network/discovery |
| CIS Benchmarks | /compliance/cis |
| Policies | /policies |
browser_snapshot to get accessibility tree, confirm elements renderbrowser_click, browser_fill_form, browser_select_option to exercise the featurebrowser_take_screenshot for visual confirmation if snapshot isn't enoughbrowser_console_messages to catch JS errorsbrowser_network_requests to verify API calls succeed (no 4xx/5xx)Astro React islands hydrate after initial page load. After browser_navigate, wait for network idle before interacting with React components. If clicks don't register, the island hasn't hydrated yet — add a short wait or re-snapshot to confirm interactive elements are present.
Use browser_snapshot output (accessibility tree) to find elements. Common patterns:
button role with name textlink role with name texttextbox role with name matching labeltable, row, cell roles| Method | Header | When to use |
|---|---|---|
| API Key | X-API-Key: brz_... | Automated testing, scripts |
| JWT | Authorization: Bearer <token> | After login, browser-initiated |
To get a JWT for API testing:
curl -sf -X POST "${E2E_API_URL}/api/v1/auth/login" \
-H "Content-Type: application/json" \
-d "{\"email\":\"${E2E_ADMIN_EMAIL}\",\"password\":\"${E2E_ADMIN_PASSWORD}\"}" \
| python3 -c "import sys,json; print(json.load(sys.stdin)['tokens']['accessToken'])"| Endpoint | Method | Purpose |
|---|---|---|
/api/v1/devices | GET | List devices |
/api/v1/devices/:id | GET | Device detail |
/api/v1/devices/:id/diagnostic-logs | GET | Agent logs |
/api/v1/alerts | GET | List alerts |
/api/v1/scripts | GET | List scripts |
/api/v1/automations | GET | List automations |
/api/v1/auth/login | POST | Login |
/api/v1/auth/refresh | POST | Refresh token |
/api/v1/dev/push | POST | Dev push binary |
# Example: verify a new endpoint returns expected data
TOKEN=$(curl -sf -X POST "${E2E_API_URL}/api/v1/auth/login" \
-H "Content-Type: application/json" \
-d "{\"email\":\"${E2E_ADMIN_EMAIL}\",\"password\":\"${E2E_ADMIN_PASSWORD}\"}" \
| python3 -c "import sys,json; print(json.load(sys.stdin)['tokens']['accessToken'])")
curl -sf "${E2E_API_URL}/api/v1/<endpoint>" \
-H "Authorization: Bearer ${TOKEN}" | python3 -m json.toolCheck for:
GET /api/v1/devices/:deviceId/diagnostic-logs
Query parameters:
| Param | Type | Description |
|---|---|---|
level | string | Comma-separated: debug, info, warn, error |
component | string | Filter by component: heartbeat, websocket, updater, main, etc. |
since | ISO string | Start of time range |
until | ISO string | End of time range |
search | string | Text search in message + fields |
page | number | Page number (default 1) |
limit | number | Results per page (default/max 1000) |
Example:
curl -sf "${E2E_API_URL}/api/v1/devices/${DEVICE_ID}/diagnostic-logs?level=error,warn&since=$(date -u -v-5M +%Y-%m-%dT%H:%M:%SZ)" \
-H "Authorization: Bearer ${TOKEN}" | python3 -m json.toolIf the API is unreachable or for richer queries:
docker exec breeze-postgres-dev psql -U breeze -d breeze -c "
SELECT timestamp, level, component, message, agent_version
FROM agent_logs
WHERE device_id = '${DEVICE_ID}'
AND timestamp > now() - interval '5 minutes'
ORDER BY timestamp DESC LIMIT 30;"dev-<timestamp> matching the deployDefault shipping level is warn. To get full detail during testing:
{
"type": "set_log_level",
"payload": { "level": "debug", "durationMinutes": 30 }
}Send via device commands endpoint or WebSocket. Auto-reverts after duration.
Log test results in docs/testing/FEATURE_TEST_LOG.md for traceability.
## [Feature Name] — YYYY-MM-DD
**Branch:** `branch-name`
**Commit:** `abc1234`
**Tested by:** Claude / Human
**Result:** PASS / PARTIAL / FAIL
### What was tested
- [ ] UI: description of UI verification
- [ ] API: description of API verification
- [ ] Agent: description of agent verification
### Evidence
- Screenshot: (path or description)
- API response: (summary)
- Agent logs: (relevant excerpt)
### Issues Found
- (none, or describe issues)
### Notes
- (any additional context)After recording results, create tasks for any follow-up:
If you brought the stack up for this verification (pnpm wt-stack up,
pnpm test-stack up, or a compose-mode up), tear it down from the same
worktree and branch — nothing does it for you:
pnpm wt-stack down # dev stack (drops volumes)
pnpm test-stack down # integration pg+redis
docker compose ls -a # confirm nothing from this run is still listedIf you verified against a shared dev stack you did not start, leave it up.
Either way, state in the final summary what is still running. Full checklist
(orphaned projects, bare containers): worktree-stack skill → "Tear down when
done".
Load tools first: ToolSearch("playwright")
| Action | Tool |
|---|---|
| Open URL | browser_navigate |
| Get page structure | browser_snapshot |
| Click element | browser_click |
| Fill form fields | browser_fill_form |
| Take screenshot | browser_take_screenshot |
| Check JS errors | browser_console_messages |
| Check network | browser_network_requests |
| Press key | browser_press_key |
| Wait for element | browser_wait_for |
| Select dropdown | browser_select_option |
cd agent && make dev-push # Use .env.dev defaults
cd agent && make dev-push DEVICE=<uuid> # Override device
cd agent && make dev-push API_URL=<url> # Override API URLdocker exec breeze-redis redis-cli -a "$(grep '^REDIS_PASSWORD=' .env | cut -d= -f2)" --no-auth-warning EVAL "local k=redis.call('KEYS','login:*'); for _,v in ipairs(k) do redis.call('DEL',v) end; return #k" 0© LanternOps, AGPL-3.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in .claude/skills/feature-testing of LanternOps/breeze.
Open the folder on GitHubat commit 1f72bb7
Feature Testing next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Feature Testing this skillLanternOps/breeze | 130 | — | ~3k | Automated safety check: Notes | AGPL-3.0 | |
| Mirroir Onboardjfarcand/mirroir-mcp | 245 | — | ~4.4k | Automated safety check: Notes | Apache-2.0 | |
| Playwright E2Ehmislk/hmis | 236 | — | ~2.3k | Automated safety check: Warn | GPL-3.0 | |
| Web Application Testinganthropics/skills | 180k | 51 repos | ~966 | Automated safety check: Pass | Apache-2.0 | |
| playwright-cli Browser Automationgithub/gh-aw | 5.3k | 23 repos | ~2.8k | Automated safety check: Pass | MIT | |
| Write and Verify Playwright Testsappsmithorg/appsmith | 41k | — | ~2.9k | Automated safety check: Notes | Apache-2.0 |
jfarcand/mirroir-mcp
Onboard a consumer web app to mirroir's .mirroir/ dotfile by EXPLORING the running app (chrome-devtools-mcp) — derive real selectors from the accessibility tree, exercise each surface's primary…
hmislk/hmis
Drive the running HMIS app with the Playwright MCP server for end-to-end verification of a feature (login, department selection, PrimeFaces AJAX forms, confirm dialogs, DB-backed verification).
anthropics/skills
Tests local web applications with Python Playwright scripts, checking frontend behavior, capturing screenshots and reading browser console logs.
github/gh-aw
Drives a real browser from the command line with playwright-cli to open pages, interact, mock requests, save state and work with Playwright tests.
appsmithorg/appsmith
Writes a Playwright end-to-end test from a prompt, runs it against a live Appsmith deployment and retries with fixes up to three times until it passes.
langgenius/dify
Guides changes and reviews of the Cucumber and Playwright end-to-end suite under `e2e/`: feature files, step definitions, support code, tags, locators and assertions.
LanternOps/breeze
Quick reference for the Breeze RMM Go agent architecture, commands, configuration, build process, and data flows.
LanternOps/breeze
A skill your agent uses when debugging agent issues, investigating agent errors, checking agent connectivity, or reviewing agent diagnostic logs.
LanternOps/breeze
Quick reference for the Breeze RMM AI Agent system architecture, MCP tools, streaming chat, cost tracking, guardrails, and MCP server.
LanternOps/breeze
Quick reference for the Breeze Helper Tauri desktop app — architecture, Rust backend commands, React frontend, config files, IPC with the Go agent, helper chat API routes, tool approval flow, and…
LanternOps/breeze
A skill your agent uses 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…
LanternOps/breeze
A skill your agent uses when orchestrating Breeze implementation work from this seat — dispatching waves or issue fixes to background sessions, deciding whether an open PR gets merged, handling a…
Works with
Categories
Post-implementation end-to-end feature verification. An agent skill from LanternOps/breeze. Feature Testing is an agent skill from LanternOps/breeze. Post-implementation end-to-end feature verification.
Feature Testing fits situations like: tasks that involve Browser testing; tasks that involve End-to-end testing; tasks that involve MCP servers.
Run `npx skills add LanternOps/breeze --skill feature-testing -a claude-code`. Or copy the skill folder (.claude/skills/feature-testing in LanternOps/breeze) into .claude/skills/feature-testing in your project. Claude Code loads it when a task matches its description.
Run `npx skills add LanternOps/breeze --skill feature-testing -a codex`. Or copy the skill folder (.claude/skills/feature-testing in LanternOps/breeze) into .agents/skills/feature-testing in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add LanternOps/breeze --skill feature-testing -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/feature-testing, .gemini/skills/feature-testing, .github/skills/feature-testing and .opencode/skills/feature-testing in your project.
Going by SKILL.md and its folder, Feature Testing needs the command-line tools its instructions call (make, curl, python3, docker and pnpm) and credentials named E2E_ADMIN_PASSWORD, BREEZE_API_KEY, AUTH_TOKEN and REDIS_PASSWORD. Our summary lists: Python 3; Docker; A credential in BREEZE_API_KEY; A credential in AUTH_TOKEN.
SKILL.md contains no URLs. Its commands use curl and docker, which can reach the network depending on how they are called. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found notes only (mentions a .env file), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.
Feature Testing is published under the AGPL-3.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 3k tokens (SKILL.md is roughly 12k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Feature Testing: Mirroir Onboard (jfarcand/mirroir-mcp, 245 stars), Playwright E2E (hmislk/hmis, 236 stars), Web Application Testing (anthropics/skills, 180k stars) and playwright-cli Browser Automation (github/gh-aw, 5.3k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
LanternOps (a GitHub organization) maintains it in LanternOps/breeze, which has 130 GitHub stars. The repository holds 14 skills in this directory. The repository was last updated on October 7, 2026.
Source: LanternOps/breeze on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.