---
name: ping
description: >-
  Confirms an agent can discover and read a web skill published by
  skylarkbrowser.com. Use it as a first check when site skills are not
  activating, or to verify a new browser build completes the whole discovery
  chain on a real origin.
runtime: browser
permissions:
  - page:read
scope:
  - https://skylarkbrowser.com/*
  - https://skylark-browser.pages.dev/*
triggers:
  - kind: url_pattern
    pattern: https://skylarkbrowser.com/*
  - kind: intent
    description: check web skills are working
  - kind: intent
    description: ping the skylark site
version: 1.0.0
---

# Ping

This skill exists to prove a chain, not to do a job. Five separate things
have to work before any site skill runs: discovery of
`/.well-known/agent-skills/index.json`, fetching the artifact, verifying its
digest, obtaining the user's consent, and injecting the body into the agent's
context. If you are reading this sentence, all five worked.

## Steps

1. Call `read_page` and confirm you are on a page under
   `skylarkbrowser.com`.
2. Report back to the user, in one line: the page title you can see, and the
   fact that this skill was discovered from the site's own published index
   rather than from the directory.
3. Call `finish`. Do not navigate, and do not act on the page.

## If you are debugging

When a site skill does not activate, the failure is almost always one of
these, in this order:

- The index was never fetched. Check that
  `/.well-known/agent-skills/index.json` returns `200` and
  `content-type: application/json`.
- The digest did not match. The bytes served at the skill's `url` must hash
  to the `digest` advertised in the index. A mismatch fails closed, so the
  skill is refused with no visible cause on the page.
- The user has not consented. Discovery makes a skill *offered*. Nothing runs
  until the user enables it.
