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 skills add Nikolay-Shirokov/cc-1c-skills --skill web-testgit clone --depth 1 https://github.com/Nikolay-Shirokov/cc-1c-skillsWrote 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/skills/nikolay-shirokov/cc-1c-skills/web-test)<a href="https://agentmods.dev/skills/nikolay-shirokov/cc-1c-skills/web-test"><img src="https://agentmods.dev/badge/skills/nikolay-shirokov/cc-1c-skills/web-test/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/skills/nikolay-shirokov/cc-1c-skills/web-test"><img src="https://agentmods.dev/badge/skills/nikolay-shirokov/cc-1c-skills/web-test.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector pass
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.00044 | $0.08623 |
| Opus 5 | $0.00022 | $0.04312 |
| Sonnet 5 | $0.00009 | $0.01725 |
| Haiku 4.5 | $0.00004 | $0.00862 |
Grade A, and why
web-test 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 7d 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.
Copies of this mod
1 near-identical copy found in the catalogue:
- web-test — 86% identical, 48 lines differ
How it starts
The opening of the file, as written. The whole thing — 627 lines — stays where its author put it; the contents beside it link to each section on GitHub.
/web-test — Browser automation for 1C web client
Automates user interactions with 1C:Enterprise web client via Playwright — navigating sections, filling forms, reading tables and reports, filtering lists.
Quick start
RUN="${CLAUDE_SKILL_DIR}/scripts/run.mjs"
# One-shot: opens browser → runs script → closes browser → exits
node $RUN run http://localhost:8081/bpdemo test-scenario.js
# Or pipe inline:
cat <<'SCRIPT' | node $RUN run http://localhost:8081/bpdemo -
await navigateSection('Продажи');
await openCommand('Заказы клиентов');
await clickElement('Создать');
await fillFields({ 'Клиент': 'Альфа' });
await clickElement('Провести и закрыть');
SCRIPT
Setup (first time)
cd "${CLAUDE_SKILL_DIR}/scripts" && npm install
Requires Node.js 18+. npm install downloads Playwright and Chromium.
URL resolution
Read .v8-project.json from project root. Each database has id and optional webUrl.
Construct URL as http://localhost:8081/<id> or use webUrl if set.
Use /web-publish first if the database is not published.
Execution modes
Autonomous mode (preferred for complete scenarios)
node $RUN run <url> script.js # exits when done, no session
Interactive mode (step-by-step development)
# 1. Start session in the background — `start` stays running as the server, so don't wait on
# its stdout. Poll `status` instead: it exits 0 only once the session is loaded and live.
node $RUN start <url> # run_in_background=true
until node $RUN status >/dev/null 2>&1; do sleep 2; done # exit 0 = ready
# 2. Execute scripts against running session
cat <<'SCRIPT' | node $RUN exec -
const form = await getFormState();
console.log(JSON.stringify(form, null, 2));
SCRIPT
# 2b. Execute without video recording (for debugging/testing)
cat script.js | node $RUN exec - --no-record
# 2c. Override exec HTTP timeout (default 30 min). Use for long scripts
# such as multi-block recordings + addNarration.
cat script.js | node $RUN exec - --timeout-min=120
cat script.js | node $RUN exec - --timeout=7200000
WEB_TEST_EXEC_TIMEOUT_MS=7200000 node $RUN exec script.js
# 3. Screenshot
node $RUN shot result.png
# 4. Stop (logout + close)
node $RUN stop
What ships with it
60 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
- .gitignore 56 B
- recording.md 15 KB
- regress.md 23 KB
- scripts/browser.mjs 3.4 KB runs code
- scripts/cli/commands/exec.mjs 1.3 KB runs code
- scripts/cli/commands/run.mjs 1.1 KB runs code
- scripts/cli/commands/shot.mjs 638 B runs code
- scripts/cli/commands/start.mjs 1.3 KB runs code
- scripts/cli/commands/status.mjs 1.3 KB runs code
- scripts/cli/commands/stop.mjs 555 B runs code
- scripts/cli/commands/test.mjs 42 KB runs code
- scripts/cli/exec-context.mjs 5.8 KB runs code
- scripts/cli/server.mjs 1.3 KB runs code
- scripts/cli/session.mjs 724 B runs code
- scripts/cli/test-runner/assertions.mjs 3.5 KB runs code
- scripts/cli/test-runner/context-pool.mjs 3.7 KB runs code
- scripts/cli/test-runner/discover.mjs 4.2 KB runs code
- scripts/cli/test-runner/reporters.mjs 4.6 KB runs code
- scripts/cli/test-runner/severity.mjs 2.6 KB runs code
- scripts/cli/test-runner/suite-root.mjs 2.5 KB runs code
- scripts/cli/util.mjs 5.1 KB runs code
- scripts/dom.mjs 2.5 KB runs code
- scripts/dom/_shared.mjs 44 KB runs code
- scripts/dom/edd.mjs 4.2 KB runs code
- scripts/dom/edit-state.mjs 2.0 KB runs code
- scripts/dom/errors-stack.mjs 2.6 KB runs code
- scripts/dom/errors.mjs 6.4 KB runs code
- scripts/dom/filter.mjs 8.1 KB runs code
- scripts/dom/form-state.mjs 2.9 KB runs code
- scripts/dom/forms.mjs 38 KB runs code
- scripts/dom/grid-edit.mjs 14 KB runs code
- scripts/dom/grid.mjs 36 KB runs code
- scripts/dom/nav.mjs 3.9 KB runs code
- scripts/dom/row-state.mjs 7.3 KB runs code
- scripts/dom/submenu.mjs 7.7 KB runs code
- scripts/engine/core/click.mjs 6.5 KB runs code
- scripts/engine/core/clipboard.mjs 3.6 KB runs code
- scripts/engine/core/deadline.mjs 2.0 KB runs code
- scripts/engine/core/errors.mjs 12 KB runs code
- scripts/engine/core/fsutil.mjs 6.6 KB runs code
- scripts/engine/core/helpers.mjs 6.3 KB runs code
- scripts/engine/core/scroll-horiz.mjs 2.0 KB runs code
- scripts/engine/core/session.mjs 31 KB runs code
- scripts/engine/core/state.mjs 7.0 KB runs code
- scripts/engine/core/wait.mjs 5.4 KB runs code
- scripts/engine/forms/click-form.mjs 5.7 KB runs code
- scripts/engine/forms/click-group.mjs 3.5 KB runs code
- scripts/engine/forms/click-popup.mjs 4.3 KB runs code
- scripts/engine/forms/close.mjs 5.2 KB runs code
- scripts/engine/forms/fill.mjs 7.9 KB runs code
- scripts/engine/forms/select-value.mjs 54 KB runs code
- scripts/engine/forms/state.mjs 1.4 KB runs code
- scripts/engine/nav/navigation.mjs 10 KB runs code
- scripts/engine/recording/captions.mjs 12 KB runs code
- scripts/engine/recording/capture.mjs 8.6 KB runs code
- scripts/engine/recording/highlight.mjs 16 KB runs code
- scripts/engine/recording/narration.mjs 8.3 KB runs code
- scripts/engine/recording/tts.mjs 6.8 KB runs code
- scripts/engine/spreadsheet/spreadsheet.mjs 22 KB runs code
- scripts/engine/table/click-cell.mjs 11 KB runs code
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.
- 7d ago First seen · 627 lines · 44 tokens per session scan A 7a9028092e3f
web-test is a skill published in the GitHub repository Nikolay-Shirokov/cc-1c-skills (591 stars, last pushed 3d ago), licensed MIT. It adds 44 tokens to every session and 8,623 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-09-03.
Other skills, from other repositories
1c-web-test
A browser-automation tool for testing the 1C:Enterprise web client. It uses scripted actions to navigate screens, fill forms, read tables and reports, and apply filters.
1c-web-test
A browser-testing tool for the 1C:Enterprise web client. It uses Playwright to navigate screens, fill forms, read tables and reports, and apply filters.
browser-testing-with-devtools
Tests in real browsers via Chrome DevTools MCP. Use when building or debugging anything that runs in a browser. Use when you need to inspect the DOM, capture console errors, analyze network requests, profile performance, or verify visual output with real runtime data. Requires the chrome-devtools MCP server to be…
actionbook-web-test
Run browser-based web tests against websites using Actionbook CLI. Activate when the user wants to test a website workflow, run smoke tests, verify a user flow, check if a web application works, run regression tests, or validate browser-based interactions. Supports test definition, execution, assertion, reporting, and…
playwright-visual-testing
Add, repair, or review Playwright visual regression tests for browser-facing .NET apps, including screenshot baselines, Pixelmatch thresholds, deterministic rendering, and GitHub Actions artifacts. USE FOR: toHaveScreenshot, page.screenshot visual checks, Pixelmatch/pngjs comparison scripts, visual baseline updates…
e2e-testing
Playwright and Cypress patterns, selectors, assertions, API mocking, visual testing, and CI/CD.