manage-headers
Installation
SKILL.md
Plugin check: Run
node "${CLAUDE_PLUGIN_ROOT}/scripts/check-version.js"— if it outputs a message, show it to the user before proceeding.
Manage Headers
Inspect and configure the HTTP security headers for a Power Pages site. Headers are configured as HTTP/* site settings stored in .powerpages-site/site-settings/ YAML files.
Initial request: $ARGUMENTS
Gotchas
- Site settings are YAML files. Each header is a separate
.ymlfile in.powerpages-site/site-settings/. The file name uses-instead of/(e.g.,HTTP/X-Frame-Options→http-x-frame-options.sitesetting.yml). - Absent = no header. When a site setting is absent, the runtime omits that header entirely (except CSP on new sites — see headers-reference.md).
- HSTS and Cache-Control are platform-managed. Do not try to set
HTTP/Strict-Transport-Security— the runtime does not recognize it and the setting has no effect. - Maker-mode bypasses headers. Requests from Power Pages Studio skip all
HTTP/*header emission. Verify headers in an incognito tab, not the studio preview. - CSP is pass-through. The runtime emits the value verbatim — it does NOT merge runtime sources automatically. The CSP MUST include Power Pages runtime hosts or the site breaks.
- CSP nonce. When
script-srccontains'nonce', the runtime replaces it per-request with'nonce-<random>'and auto-hashes inline event handlers. Scripts created dynamically viadocument.createElementdo NOT receive the nonce. SameSite=Nonerequires HTTPS. The runtime setsSecureon every cookie over HTTPS automatically.- CORS
*is auto-specialized. The runtime replaces*per-request with the specific requesting Origin — the browser sees a single-origin header, not a wildcard.