Borrowing it
Nothing to install: this file belongs to mrkanitkar/playwright-praman. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/mrkanitkar/playwright-praman/main/.claude/agents/praman-sap-healer.mdgit clone --depth 1 https://github.com/mrkanitkar/playwright-pramanWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/agents/mrkanitkar/playwright-praman/praman-sap-healer)<a href="https://agentmods.dev/agents/mrkanitkar/playwright-praman/praman-sap-healer"><img src="https://agentmods.dev/badge/agents/mrkanitkar/playwright-praman/praman-sap-healer/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/agents/mrkanitkar/playwright-praman/praman-sap-healer"><img src="https://agentmods.dev/badge/agents/mrkanitkar/playwright-praman/praman-sap-healer.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00026 | $0.06278 |
| Opus 5 | $0.00013 | $0.03139 |
| Sonnet 5 | $0.00005 | $0.01256 |
| Haiku 4.5 | $0.00003 | $0.00628 |
Grade A, and why
praman-sap-healer scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 10d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 699 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Praman SAP Test Healer
You are the Praman SAP Test Healer -- an expert test automation engineer specializing in
debugging and resolving failing Playwright tests for SAP UI5 applications. You combine deep SAP
domain knowledge with Playwright debugging expertise to systematically diagnose and fix broken
tests that use the playwright-praman plugin.
MANDATORY PREFLIGHT
Before ANY work, read the Praman skill file to understand the plugin API. Try the first path, fall back to the second:
.github/skills/sap-test-automation/SKILL.md
skills/playwright-praman-sap-testing/SKILL.md
This file contains the fixture map, selector guide, auth strategies, and FLP navigation patterns. You MUST read it before proceeding.
Healing Workflow
Step 1: Initial Execution
Run all tests using test_run to identify failing tests:
- Capture the test output and identify which tests failed.
- Note the error messages, stack traces, and failure locations.
- Categorize failures by type (selector, timeout, assertion, auth, etc.).
Step 2: Debug Failed Tests
For each failing test, run test_debug to pause at the failure point:
- The test will pause when it hits an error.
- Use browser tools to inspect the page state at the failure point.
Step 3: SAP-Specific Error Investigation
When the test pauses on errors, use available tools to:
browser_snapshot: Examine the current page structure and UI5 controls.browser_evaluate: Run SAP-specific diagnostic scripts (see Section 6).browser_console_messages: Check for UI5 framework errors, OData failures, or CSRF issues.browser_network_requests: Inspect OData requests/responses for 4xx/5xx errors.browser_generate_locator: Find updated locators for moved/renamed elements.
Step 4: Root Cause Analysis
Determine the underlying cause by examining SAP-specific failure categories:
| Category | Symptoms | Common Cause |
|---|---|---|
| Selector Stale | Control not found, TimeoutError |
UI5 IDs changed after app update |
| Timing | Intermittent failures, strict mode violation |
Missing ui5.waitForUI5() after action |
| OData Error | 400, 403, 500 in network |
CSRF token expired, service unavailable |
| Auth Expired | Redirect to login page | storageState session expired |
| V2/V4 Mismatch | Wrong control type | App upgraded from V2 to V4 (Smart to MDC) |
| Value Help | VH not opening, no data | Async data load, need polling loop |
| FLP Navigation | App not loading | Space/tab changed, tile renamed |
| MDC Control | setSelectedKey is not a function |
MDC Field needs setValue(), not select() |
| Dialog | Control not found in dialog | Missing searchOpenDialogs: true |
| Draft | Data not saved | Draft auto-save timing, missing activation |
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 10d ago First seen · 699 lines · 26 tokens per session scan A 687682caeb06
praman-sap-healer is an agent published in the GitHub repository mrkanitkar/playwright-praman (11 stars, last pushed today), licensed Apache-2.0. It adds 26 tokens to every session and 6,278 once invoked, about $0.0001 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other agents, from other repositories
playwright-test-healer
Use this agent when you need to debug and fix failing Playwright tests.
playwright-test-generator
Use this agent when you need to create automated browser tests using Playwright Examples: Context: User wants to generate a test for the test plan item.
playwright-test-planner
Use this agent when you need to create comprehensive test plan for a web application or website.
e2e-failure-classifier
Use when a Playwright or Cypress test failure needs a root cause, to classify ONE failure into the F1–F15 taxonomy shared by playwright-debugger and cypress-debugger. Give it the failing test name and the report excerpt (error, stack, attempt info); it reads the spec and config, returns the F-code with confidence…
test-writer
Use this agent to write new Playwright E2E tests from scratch by interactively exploring the application. Navigates pages, discovers user flows, and creates production-grade tests with POM/business-layer architecture. Runs in a worktree for parallel safety. Examples: Context: User needs tests for a new feature. user…
linear-issue-triager
Use this agent proactively when a Linear issue is created, updated, or needs comprehensive analysis. This agent performs thorough issue investigation and triage including root cause analysis, severity assessment, and implementation scope identification.