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 HayoDev/safari-devtools-mcp --skill safari-specific-debugginggit clone --depth 1 https://github.com/HayoDev/safari-devtools-mcpWrote 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/hayodev/safari-devtools-mcp/safari-specific-debugging)<a href="https://agentmods.dev/skills/hayodev/safari-devtools-mcp/safari-specific-debugging"><img src="https://agentmods.dev/badge/skills/hayodev/safari-devtools-mcp/safari-specific-debugging/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/hayodev/safari-devtools-mcp/safari-specific-debugging"><img src="https://agentmods.dev/badge/skills/hayodev/safari-devtools-mcp/safari-specific-debugging.svg" alt="Reviewed on agentmods" width="80" height="20"></a>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.00000 | $0.00867 |
| Opus 5.5 | $0.00000 | $0.00347 |
| Sonnet 5.5 | $0.00000 | $0.00173 |
| Haiku 4.5 | $0.00000 | $0.00087 |
Grade A, and why
safari-specific-debugging 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 1mo 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.
How it starts
The opening of the file, as written. The whole thing — 133 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Safari-Specific Debugging
Use this skill when something works in other browsers but breaks in Safari, or when debugging WebKit-specific behavior.
Common Safari issues and how to debug them
CSS issues
Start by running check_webkit_compatibility — it checks every CSS property
on the page against the live Safari session via CSS.supports() and reports
what is actually broken (unsupported properties, missing -webkit- prefixes):
check_webkit_compatibility
For specific elements, inspect computed styles directly:
get_computed_style uid="<element-uid>" properties=["display", "gap", "aspect-ratio", "container-type", "backdrop-filter"]
Common Safari CSS gotchas:
-webkit-backdrop-filter: Still requires prefix in Safari <18.100vhon iOS Safari includes the address bar — use100dvhinstead.position: stickyinsideoverflow: autocontainers often breaks.:has()selector: Safari was first to ship it, but edge cases may differ.
JavaScript issues
Run diagnostics with evaluate_script:
evaluate_script function="() => {
return {
userAgent: navigator.userAgent,
webkitVersion: navigator.userAgent.match(/AppleWebKit\/(\d+)/)?.[1],
features: {
structuredClone: typeof structuredClone !== 'undefined',
requestIdleCallback: typeof requestIdleCallback !== 'undefined',
offscreenCanvas: typeof OffscreenCanvas !== 'undefined',
webComponents: typeof customElements !== 'undefined',
resizeObserver: typeof ResizeObserver !== 'undefined',
intersectionObserver: typeof IntersectionObserver !== 'undefined'
}
};
}"
Known Safari JS quirks:
requestIdleCallback: Not available — usesetTimeoutfallback.OffscreenCanvas: Partial support —2dcontext only, no WebGL.- Date parsing:
new Date('2024-01-15')works, butnew Date('01-15-2024')may fail. Always use ISO 8601. fetchwithkeepalive: Stricter size limits than Chrome.- Web Locks API: Not supported in older Safari versions.
<input type="date">: Renders differently. Check withtake_snapshot.
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.
- 1mo ago First seen · 133 lines · 0 tokens per session scan A 362360b96996
safari-specific-debugging is a skill published in the GitHub repository HayoDev/safari-devtools-mcp (2 stars, last pushed 6mo ago), licensed MIT. It costs nothing until one of its globs matches a file; then it loads 867 tokens. 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
react-sentinel-debug
Use React-Sentinel when a task needs live browser or React runtime inspection rather than static code reading alone.
inspecting-hermes-desktop-dom
Read the live Hermes desktop DOM/CSS over CDP.
opencli-autofix
Automatically fix broken OpenCLI adapters when commands fail. Load this skill when an opencli command fails — it guides you through collecting a trace artifact, patching the adapter, retrying, and filing an upstream GitHub issue after a verified fix. Works with any AI agent.
moli-webfetch
Fetch, inspect, crawl, and capture live, JavaScript-rendered websites with Moli. Use when Codex needs current web content, web research, fact lookup, link following, a bounded crawl, client-rendered or response-gated content, network diagnostics, or a standalone HTML, Markdown, JSON, semantic-tree, viewport or…
fixing-motion-performance
Audit and fix animation performance issues including layout thrashing, compositor properties, scroll-linked motion, and blur effects. Use when animations stutter, transitions jank, or reviewing CSS/JS animation performance.
systemic-issue-triage
Trigger: new issue, bug report, triage, backlog, issue flood, community report, root cause, dead-end, blocked user. Attack issues by root class, never one-by-one; fixes must shrink the system, not grow it.