skills/ohdear/SKILL.md
Manage Oh Dear website monitoring using the ohdear CLI. ALWAYS activate when the user's message contains an ohdear.app URL (e.g. https://ohdear.app/monitors/123/check/broken-links/report). Extract the monitor ID and check type from the URL and use the CLI to fetch the data. Also use when the user wants to check if their site is up, view uptime or downtime, list or manage monitors, view broken links, mixed content, or certificate health, manage maintenance periods or status pages, configure cron checks, view DNS history or DNS blocklists, check port scan results, view sitemap checks, check application health, view Lighthouse performance reports, view crawled URLs summary and details, manage tags, manage notification destinations, manage teams, or interact with ohdear.app in any way.
npx skillsauth add ohdearapp/ohdear-cli ohdearInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
The ohdear CLI manages Oh Dear website monitoring from the terminal. Every Oh Dear API endpoint has a corresponding command.
ohdear --version # Check if installed
composer global require ohdearapp/ohdear-cli # Install if needed
ohdear login # Prompted for API token (get it at https://ohdear.app/user-settings/api)
ohdear logout # Clear credentials
If any command returns 401, run ohdear login again.
Commands use kebab-case names exactly as listed in references/commands.md. Do NOT guess command names — always look them up. Common mistakes to avoid:
sites:list~~ → list-monitorsmonitors:get~~ → get-monitoruptime:get~~ → get-uptimeAlways check references/commands.md before running a command. If unsure, run ohdear <command> --help to verify parameters.
Commands output human-readable text by default. For any task that requires analysis, comparison, filtering, or counting, always use --json to get structured output you can parse:
ohdear list-monitors --json # Get all monitors as JSON
ohdear get-uptime --monitor-id=1 --json # Get uptime data as JSON
Other format options: --yaml, --minify. Use -H to include response headers.
Note: --json works on API commands (list-, get-, etc.), not on utility commands (login, logout, clear-cache).
JSON structure: --json responses are paginated objects {data: [...], links: ...}, not bare arrays. Always use .data[] to access items (e.g. jq '.data[]'), never .[].
API keys are user-scoped. A user may belong to multiple teams. Monitors have a team_id field but no team_name. To resolve team names to IDs:
ohdear get-me --json | jq '.teams[] | {id, name}'
Then filter monitors by team_id. Do NOT use list-managed-teams — that's a reseller-only endpoint.
When presenting results to the user, summarize clearly:
--run-id with historical run IDs to compare across runs — see workflows)get-crawled-urls-summary (tiny payload: totals + by-type breakdown). Only use list-crawled-urls-details with jq filters — it returns 100 items/page and can be very large. Never dump raw details into context.Oh Dear docs are available in clean markdown for easy reading. Append .md to any docs URL or request with Accept: text/markdown:
https://ohdear.app/docs/general/introduction.md
https://ohdear.app/docs/api/monitors.md
Use this to look up feature details, API parameters, or setup instructions when helping the user.
tools
Use when work should span one or more detached tasks but still behave like one job with a single owner context. TaskFlow is the durable flow substrate under authoring layers like Lobster, ACPX, plugins, or plain code. Keep conditional logic in the caller; use TaskFlow for flow identity, child-task linkage, waiting state, revision-checked mutations, and user-facing emergence.
tools
# Lobster Lobster executes multi-step workflows with approval checkpoints. Use it when: - User wants a repeatable automation (triage, monitor, sync) - Actions need human approval before executing (send, post, delete) - Multiple tool calls should run as one deterministic operation ## When to use Lobster | User intent | Use Lobster? | | ------------------------------------------------------ | --------------------------
tools
# Lobster Lobster executes multi-step workflows with approval checkpoints. Use it when: - User wants a repeatable automation (triage, monitor, sync) - Actions need human approval before executing (send, post, delete) - Multiple tool calls should run as one deterministic operation ## When to use Lobster | User intent | Use Lobster? | | ------------------------------------------------------ | --------------------------
tools
A CLI tool for making authenticated requests to the X (Twitter) API. Use this skill when you need to post tweets, reply, quote, search, read posts, manage followers, send DMs, upload media, or interact with any X API v2 endpoint.