diff --git a/.github/workflows/trigger-website-deploy.yml b/.github/workflows/trigger-website-deploy.yml new file mode 100644 index 0000000..3280a46 --- /dev/null +++ b/.github/workflows/trigger-website-deploy.yml @@ -0,0 +1,52 @@ +# Triggers a Hookdeck source that forwards to the Vercel website deploy hook +# when product skills consumed by hookdeck/website change on main. +# +# The website build publishes `/.well-known/agent-skills/` from this repo +# (see hookdeck/website scripts/agent-skills-discovery.md). +# +# Required repository configuration (Settings → Secrets and variables → Actions): +# Secret: HOOKDECK_WEBSITE_DEPLOY_SOURCE_URL — Hookdeck inbound source URL +# Secret: VERCEL_WEBSITE_DEPLOY_HOOK_SOURCE_API_KEY — Hookdeck source x-api-key header +# +# Uses the same Hookdeck → Vercel hook as hookdeck/outpost +# (.github/workflows/trigger-website-deploy.yml). + +name: Trigger website deploy + +on: + push: + branches: + - main + paths: + - "skills/event-gateway/**" + - "skills/hookdeck/**" + - "skills/outpost/**" + +jobs: + hookdeck: + name: Notify Hookdeck (Vercel deploy) + runs-on: ubuntu-latest + steps: + - name: POST Hookdeck source + env: + HOOKDECK_SOURCE_URL: ${{ secrets.HOOKDECK_WEBSITE_DEPLOY_SOURCE_URL }} + HOOKDECK_SOURCE_API_KEY: ${{ secrets.VERCEL_WEBSITE_DEPLOY_HOOK_SOURCE_API_KEY }} + run: | + if [ -z "${HOOKDECK_SOURCE_URL}" ]; then + echo "::error::Missing secret HOOKDECK_WEBSITE_DEPLOY_SOURCE_URL" + exit 1 + fi + if [ -z "${HOOKDECK_SOURCE_API_KEY}" ]; then + echo "::error::Missing secret VERCEL_WEBSITE_DEPLOY_HOOK_SOURCE_API_KEY" + exit 1 + fi + curl -sS -f \ + --connect-timeout 10 \ + --max-time 30 \ + --retry 3 \ + --retry-delay 2 \ + --retry-all-errors \ + -X POST "${HOOKDECK_SOURCE_URL}" \ + -H "x-api-key: ${HOOKDECK_SOURCE_API_KEY}" \ + -H "Content-Type: application/json" \ + -d '{}' diff --git a/AGENTS.md b/AGENTS.md index 20f9a8e..487b2eb 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -4,6 +4,10 @@ Instructions for AI agents working on the Hookdeck Agent Skills repository. Read this file before creating, modifying, or reviewing any skill in this repo. +## hookdeck.com discovery index + +Product skills under **`skills/event-gateway/`**, **`skills/hookdeck/`**, and **`skills/outpost/`** are packaged at build time by the **[`hookdeck/website`](https://github.com/hookdeck/website)** repo and served from `https://hookdeck.com/.well-known/agent-skills/` (RFC v0.2.0 discovery index + `.tar.gz` archives). When those paths change on **`main`**, [`.github/workflows/trigger-website-deploy.yml`](.github/workflows/trigger-website-deploy.yml) notifies Hookdeck, which triggers a Vercel production deploy of the site (same Hookdeck source as Outpost docs; both configured as Actions secrets: `HOOKDECK_WEBSITE_DEPLOY_SOURCE_URL`, `VERCEL_WEBSITE_DEPLOY_HOOK_SOURCE_API_KEY`). See [website `scripts/agent-skills-discovery.md`](https://github.com/hookdeck/website/blob/main/scripts/agent-skills-discovery.md) for packaging details. + ## Specification All skills MUST conform to the [Agent Skills specification](https://agentskills.io/specification) and follow the [authoring best practices](https://platform.claude.com/docs/en/agents-and-tools/agent-skills/best-practices).