monitoring

SKILL.md

Checkly Monitoring

  • Refer to docs for Checkly CLI v6.0.0 and above.
  • Check the Checkly CLI output to figure out into which folder the setup was generated.
  • Use the Checkly CLI reference documentation.
  • Use the Checkly construct reference documentation.
  • Import and / or require any constructs you need in your code, such as ApiCheck, BrowserCheck, or PlaywrightCheck from the checkly/constructs package.
  • Always ground generated code and CLI commands against the official documentation and examples in this file.

Using the Checkly CLI

  • Use npx checkly instead of installing the Checkly CLI globally.
  • NEVER make up commands that do not exist.
  • Use npm create checkly@latest to set up a new Checkly project via the CLI.

Project Structure

  • checkly.config.ts - Mandatory global project and CLI configuration. We recommend using TypeScript.
  • *.check.ts|js - TS / JS files that define the checks.
  • *.spec.ts|js - TS / JS files that contain Playwright code for Browser and MultiStep checks.
  • src/__checks__ - Default directory where all your checks are stored. Use this directory if it already exists, otherwise create a new directory for your checks.
  • package.json - Standard NPM project manifest.

Here is an example directory tree of what that would look like:

. |-- checkly.config.ts |-- package.json -- src -- checks |-- alert-channels.ts |-- api-check.check.ts `-- homepage.spec.ts

The checkly.config.ts at the root of your project defines a range of defaults for all your checks.

Reference: https://www.checklyhq.com/docs/constructs/project/

import { defineConfig } from 'checkly'
import { Frequency } from 'checkly/constructs'

export default defineConfig({
  projectName: "Production Monitoring Suite",
  logicalId: "prod-monitoring-2025",
  repoUrl: "https://github.com/acme/monitoring",
  checks: {
    activated: true,
    muted: false,
    runtimeId: "2025.04",
    frequency: Frequency.EVERY_10M,
    locations: ["us-east-1", "eu-west-1", "ap-southeast-1"],
    tags: ["production", "critical"],
    checkMatch: "**/__checks__/*.check.ts",
    ignoreDirectoriesMatch: ["node_modules/**", "dist/**"],
    playwrightConfig: {
      use: {
        baseURL: "https://app.example.com",
      },
    },
    browserChecks: {
      frequency: Frequency.EVERY_30M,
      testMatch: "**/__tests__/*.spec.ts",
    },
  },
  cli: {
    runLocation: "eu-west-1",
    privateRunLocation: "private-dc1",
    retries: 2,
  },
})

Check and Monitor Constructs

Parse and read further reference documentation when tasked with creating or managing any of the following Checkly constructs:

  • API Checks - ApiCheck construct, assertions, and authentication setup scripts
  • Browser Checks - BrowserCheck construct with Playwright test files
  • Playwright Checks - PlaywrightCheck construct for multi-browser test suites
  • MultiStep Checks - MultiStepCheck construct for complex user flows
  • Uptime Monitors - TCP (TcpMonitor), URL (UrlMonitor), DNS (DnsMonitor), ICMP (IcmpMonitor), and Heartbeat monitors (HeartbeatMonitor)
  • Check Groups - CheckGroupV2 construct for organizing checks
  • Alert Channels - Email, Phone, and Slack alert channels
  • Supporting Constructs - Status pages, dashboards, maintenance windows, and private locations

Testing and Debugging

  • Test checks using the npx checkly test command. Pass environment variables with the -e flag, use --record to persist results, and use --verbose to see all errors.
Weekly Installs
43
GitHub Stars
93
First Seen
Feb 4, 2026
Installed on
opencode42
gemini-cli41
github-copilot41
amp41
codex41
kimi-cli41