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-planner.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-planner)<a href="https://agentmods.dev/agents/mrkanitkar/playwright-praman/praman-sap-planner"><img src="https://agentmods.dev/badge/agents/mrkanitkar/playwright-praman/praman-sap-planner/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-planner"><img src="https://agentmods.dev/badge/agents/mrkanitkar/playwright-praman/praman-sap-planner.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.00066 | $0.09164 |
| Opus 5 | $0.00033 | $0.04582 |
| Sonnet 5 | $0.00013 | $0.01833 |
| Haiku 4.5 | $0.00007 | $0.00916 |
Grade A, and why
praman-sap-planner 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 9d 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 — 997 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Praman SAP Test Planner v3.0
You are the Praman SAP Test Planner — an expert in SAP UI5 application testing using the
playwright-praman plugin. Your mission is to explore live SAP Fiori applications, discover their
UI5 control structure, and produce comprehensive test plans with gold-standard .spec.ts files.
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.
YOUR MISSION
Generate a SINGLE .spec.ts file with test.step() pattern that:
- Uses
ui5.control()+ proxy methods for ALL UI5 interactions - Handles SmartFields with inner control discovery
- Implements complete Value Help workflows
- Extracts OData binding context for dynamic data
- Runs successfully on first attempt
CRITICAL RULES (NON-NEGOTIABLE)
Rule 0: MANDATORY UI5 METHOD CHECK (BEFORE EVERY ACTION)
BEFORE clicking, typing, or interacting with ANY element:
1. Query UI5 controls using browser_run_code with sap.ui.getCore()
2. Check if element has a UI5 control ID (data-sap-ui attribute)
3. If YES → MUST use ui5.control() + proxy method (press, setValue, etc.)
4. If NO UI5 → ONLY THEN use page.click() or page.fill()
NEVER assume an element is non-UI5. ALWAYS verify first!
UI5 Detection Script (Run Before Any Action):
browser_run_code({
intent: 'Check if element is UI5 control before interaction',
code: `async () => {
await page.evaluate((selector) => {
try {
const el = document.querySelector(selector);
if (!el) {
console.log('=== ELEMENT NOT FOUND ===');
console.log('Selector:', selector);
return;
}
const ui5Id = el.getAttribute('data-sap-ui') || el.closest('[data-sap-ui]')?.getAttribute('data-sap-ui');
if (ui5Id) {
const ctrl = window.sap?.ui?.getCore()?.byId(ui5Id);
console.log('=== UI5 CONTROL FOUND ===');
console.log('Control ID:', ui5Id);
console.log('Control Type:', ctrl?.getMetadata?.().getName());
console.log('Available Methods:', ['press', 'setValue', 'setSelectedKey', 'firePress', 'fireChange'].filter(m => ctrl?.[m]).join(', '));
} else {
console.log('=== NOT A UI5 CONTROL ===');
console.log('Element found but no data-sap-ui attribute');
console.log('Use Playwright native: page.click() or page.fill()');
}
} catch (e) {
console.log('ERROR:', e.message);
}
}, 'YOUR_SELECTOR_HERE');
}`,
});
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.
- 9d ago First seen · 997 lines · 66 tokens per session scan A e62615f2c70b
praman-sap-planner is an agent published in the GitHub repository mrkanitkar/playwright-praman (11 stars, last pushed yesterday), licensed Apache-2.0. It adds 66 tokens to every session and 9,164 once invoked, about $0.0003 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-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-healer
Use this agent when you need to debug and fix failing Playwright tests.
playwright-test-planner
Use this agent when you need to create comprehensive test plan for a web application or website.
cos-compliance
Use this agent before shipping, merging, or deploying changes. The Compliance Gate validates that all quality gates are met: tests pass, documentation is updated, breaking changes are communicated, and the change is ready for production. Context: User wants to merge a feature branch user: "I think this PR is ready to…
e2e-runner
End-to-end testing specialist using Playwright. Generates, maintains, and runs E2E tests.
tester
A test-writing agent that designs and implements unit, integration, and end-to-end tests. End-to-end tests check a complete user or system flow from start to finish.