agentsclimarketplace

Synthetic monitoring

Skill ulpi-io/plugin-marketplace/plugins/aj-geddes/skills/synthetic-monitoring

Implement synthetic monitoring and automated testing to simulate user behavior and detect issues before users. Use when creating end-to-end test scenarios, monitoring API flows, or validating user workflows.From its SKILL.md

Install
npx -y skills add ulpi-io/plugin-marketplace --skill synthetic-monitoring

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

2 things to look at

  • no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
  • 1 stars1 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

SKILL.md

2.6 KB, 524 tokens by cl100k_base, as published. Nobody here has run it

Synthetic Monitoring

Table of Contents

Overview

Set up synthetic monitoring to automatically simulate real user journeys, API workflows, and critical business transactions to detect issues and validate performance.

When to Use

  • End-to-end workflow validation
  • API flow testing
  • User journey simulation
  • Transaction monitoring
  • Critical path validation

Quick Start

Minimal working example:

// synthetic-tests.js
const { chromium } = require("playwright");

class SyntheticMonitor {
  constructor(config = {}) {
    this.baseUrl = config.baseUrl || "https://app.example.com";
    this.timeout = config.timeout || 30000;
  }

  async testUserFlow() {
    const browser = await chromium.launch();
    const page = await browser.newPage();
    const metrics = { steps: {} };
    const startTime = Date.now();

    try {
      // Step 1: Navigate to login
      let stepStart = Date.now();
      await page.goto(`${this.baseUrl}/login`, { waitUntil: "networkidle" });
      metrics.steps.navigation = Date.now() - stepStart;

      // Step 2: Perform login
      stepStart = Date.now();
      await page.fill('input[name="email"]', "[email protected]");
      await page.fill('input[name="password"]', "password123");
// ... (see reference guides for full implementation)

Reference Guides

Detailed implementations in the references/ directory:

GuideContents
Synthetic Tests with PlaywrightSynthetic Tests with Playwright
API Synthetic TestsAPI Synthetic Tests
Scheduled Synthetic MonitoringScheduled Synthetic Monitoring

Best Practices

✅ DO

  • Test critical user journeys
  • Simulate real browser conditions
  • Monitor from multiple locations
  • Track response times
  • Alert on test failures
  • Rotate test data
  • Test mobile and desktop
  • Include error scenarios

❌ DON'T

  • Test with production data
  • Reuse test accounts
  • Skip timeout configurations
  • Ignore test maintenance
  • Test too frequently
  • Hard-code credentials
  • Ignore geographic variations
  • Test only happy paths

What ships with it: 5 files

12.0 KB alongside SKILL.md, 2 of them executable

scripts/

templates/

Keep looking

Skills are one crate of 325,949. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.