Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add skills/luizedupp/rememb/webapp-testingnpx skills add LuizEduPP/Rememb --skill webapp-testinggit clone --depth 1 https://github.com/LuizEduPP/RemembWhat 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 | $0.00031 | $0.00556 |
| Opus 5 | $0.00015 | $0.00278 |
| Sonnet 5 | $0.00006 | $0.00111 |
| Haiku 4.5 | $0.00003 | $0.00056 |
Grade A, and why
webapp-testing 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 yesterday.
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 — 92 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Web Application Testing
Test web applications using Python Playwright scripts.
Decision Tree
User task → Is it static HTML?
├─ Yes → Read HTML file directly for selectors
│ └─ Write Playwright script
│
└─ No (dynamic webapp) → Is server already running?
├─ No → Start server first, then test
│
└─ Yes → Reconnaissance-then-action:
1. Navigate and wait for networkidle
2. Take screenshot or inspect DOM
3. Identify selectors from rendered state
4. Execute actions
Basic Playwright Script
from playwright.sync_api import sync_playwright
with sync_playwright() as p:
browser = p.chromium.launch(headless=True)
page = browser.new_page()
page.goto('http://localhost:5173')
page.wait_for_load_state('networkidle') # CRITICAL: Wait for JS
# Reconnaissance
page.screenshot(path='/tmp/inspect.png', full_page=True)
# Actions
page.click('button#submit')
browser.close()
Reconnaissance Pattern
-
Inspect DOM:
page.screenshot(path='/tmp/inspect.png', full_page=True) content = page.content() page.locator('button').all() -
Identify selectors from results
-
Execute actions with discovered selectors
Common Pitfall
❌ Inspect DOM before waiting for networkidle
✅ Always page.wait_for_load_state('networkidle') first
Best Practices
- Use
sync_playwright()for synchronous scripts - Always close browser when done
- Use descriptive selectors:
text=,role=, CSS, IDs - Add waits:
wait_for_selector(),wait_for_timeout() - Launch chromium in
headless=Truemode
Overview
Use this skill for the capability described in this document.
When to Use
Use this skill when the request matches the capability, constraints, and activation cues described below.
Core Workflow
Follow the primary workflow, commands, and decision points documented in the sections below.
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.
- yesterday First seen · 92 lines · 31 tokens per session scan A 7faef3a65a21
webapp-testing is a skill published in the GitHub repository LuizEduPP/Rememb (4 stars, last pushed 1mo ago), licensed MIT. It adds 31 tokens to every session and 556 once invoked, about $0.0002 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-31.
Other skills, from other repositories
claude-api
Build, debug, and optimize Claude API / Anthropic SDK apps. Apps built with this skill should include prompt caching. Also handles migrating existing Claude API code between Claude model versions (4.5 → 4.6, 4.6 → 4.7, retired-model replacements). TRIGGER when: code imports anthropic/@anthropic-ai/sdk; user asks for…
agent-coordination
Find other agents, list participants in a conversation, send routed messages, attach files, and recover earlier conversation context (history / resolve a fuzzy reference / read a quoted message / read compressed summaries). Use whenever you need to delegate to another agent, address a peer in a multi-agent…
image-generate
Generate an image from a text prompt via the cloud LLM image proxy, persist it as a content-addressed workspace asset, and return a ContentBlock that downstream renderers can attach. Use whenever the user asks "draw / generate / make an image of …", an agent needs a diagram / illustration as a follow-up artifact, or a…
claim-agent-ownership
Orchestrator skill for resolving multi-daemon binding contention. Use when you (the orchestrator) detect an agent.binding.contested sync event indicating two daemons are racing for the same agent — explicitly rebind ownership to a chosen target daemon so subsequent dispatches route deterministically. Implements Gap…
prismer-im-collab
Coordinate reliably in Prismer conversations, use workspace assets through bounded MCP tools, and keep task work on the board.
human-approval
Request human approval before performing a SAFETY-CRITICAL, IRREVERSIBLE, or SCOPE-EXPANDING action — submit a structured context (action, scope, risk, consequence) plus options, then STOP the current turn. The platform redispatches the agent after the human decides. NEVER use for routine deliverables (writing docs /…