From c23bb086c8a72dfe3f3942be26cca7a9f5befb1f Mon Sep 17 00:00:00 2001 From: Michael Kantor <6068672+kantorcodes@users.noreply.github.com> Date: Tue, 25 Aug 2026 09:48:03 -0400 Subject: [PATCH 1/4] feat: add HOL Guard Firebase agent safety skill --- skills/firebase-hol-guard/SKILL.md | 87 ++++++++++++++++++++++++++++++ 1 file changed, 87 insertions(+) create mode 100644 skills/firebase-hol-guard/SKILL.md diff --git a/skills/firebase-hol-guard/SKILL.md b/skills/firebase-hol-guard/SKILL.md new file mode 100644 index 00000000..111a7d27 --- /dev/null +++ b/skills/firebase-hol-guard/SKILL.md @@ -0,0 +1,87 @@ +--- +name: firebase-hol-guard +description: >- + Protect local AI coding-agent sessions before Firebase CLI, MCP, and Agent + Skills workflows with HOL Guard. Use when an agent can run commands or mutate + a Firebase project and you want Guard-owned harness protection and evidence. +--- + +# Protect Firebase agent workflows with HOL Guard + +Use HOL Guard at the local coding-agent boundary before starting Firebase work. +It protects supported local agent harnesses before their tools run. It does not +run inside Firebase services and does not replace Firebase Authentication, +Security Rules, App Check, IAM, emulator validation, or normal change review. + +## Set up protection + +Install HOL Guard in an isolated Python application environment: + +```bash +pipx install hol-guard +``` + +Check the machine and discover supported local harnesses: + +```bash +hol-guard status +hol-guard detect --json +``` + +For the harness that will perform Firebase work, bootstrap and install Guard, +then verify a protected launch before making project changes: + +```bash +hol-guard bootstrap +hol-guard install +hol-guard run --dry-run +hol-guard run +hol-guard status +``` + +Use the harness identifier reported by `hol-guard detect`. Supported harnesses +include Codex, Claude Code, Copilot CLI, Cursor, Gemini, Hermes, OpenClaw, +OpenCode, and Antigravity. Do not claim a workspace is protected until Guard +reports the harness setup successfully. + +## Use with Firebase Agent Skills + +Start the coding agent through `hol-guard run ` first. From that +protected session, use the Firebase skills and their documented Firebase CLI or +MCP workflows normally. Keep Firebase's own safety instructions in force, +including project-selection checks, user confirmation where a skill requires +it, Security Rules review, and emulator or preview steps. + +HOL Guard owns the local harness protection boundary. This skill does not claim +that every Firebase CLI subcommand has a dedicated Guard classifier or that +Guard intercepts hosted Firebase services directly. + +## Handle Guard decisions + +If Guard blocks or queues work, inspect the request before proceeding: + +```bash +hol-guard approvals +hol-guard approvals open +hol-guard receipts +hol-guard diff +``` + +Only approve after reviewing the risk reason and requested scope. Never bypass +Guard by launching an unprotected copy of the agent or editing around +Guard-owned hooks. + +## Diagnose protection + +If the harness does not appear protected, stop mutating Firebase resources and +inspect the setup: + +```bash +hol-guard doctor +hol-guard doctor --json +hol-guard detect --json +hol-guard settings show +``` + +Resume Firebase mutations only after Guard output proves the local harness is +protected, or continue without claiming HOL Guard protection. From 943ec6ae1a9349809667e69e6cc7d58779609da0 Mon Sep 17 00:00:00 2001 From: Michael Kantor <6068672+kantorcodes@users.noreply.github.com> Date: Tue, 25 Aug 2026 10:01:34 -0400 Subject: [PATCH 2/4] fix: simplify HOL Guard setup guidance --- skills/firebase-hol-guard/SKILL.md | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/skills/firebase-hol-guard/SKILL.md b/skills/firebase-hol-guard/SKILL.md index 111a7d27..f0d0d90e 100644 --- a/skills/firebase-hol-guard/SKILL.md +++ b/skills/firebase-hol-guard/SKILL.md @@ -28,20 +28,18 @@ hol-guard status hol-guard detect --json ``` -For the harness that will perform Firebase work, bootstrap and install Guard, -then verify a protected launch before making project changes: +For the harness that will perform Firebase work, install Guard, then verify a +protected launch before making project changes: ```bash -hol-guard bootstrap hol-guard install hol-guard run --dry-run hol-guard run hol-guard status ``` -Use the harness identifier reported by `hol-guard detect`. Supported harnesses -include Codex, Claude Code, Copilot CLI, Cursor, Gemini, Hermes, OpenClaw, -OpenCode, and Antigravity. Do not claim a workspace is protected until Guard +Use the exact harness identifier reported by `hol-guard detect`; do not infer or +substitute a product name. Do not claim a workspace is protected until Guard reports the harness setup successfully. ## Use with Firebase Agent Skills From e26c8fb4c63d45530ba503acd0895ccf8f44a50a Mon Sep 17 00:00:00 2001 From: Michael Kantor <6068672+kantorcodes@users.noreply.github.com> Date: Wed, 26 Aug 2026 06:08:49 -0400 Subject: [PATCH 3/4] fix: restore canonical HOL Guard bootstrap flow --- skills/firebase-hol-guard/SKILL.md | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/skills/firebase-hol-guard/SKILL.md b/skills/firebase-hol-guard/SKILL.md index f0d0d90e..3b042112 100644 --- a/skills/firebase-hol-guard/SKILL.md +++ b/skills/firebase-hol-guard/SKILL.md @@ -28,17 +28,20 @@ hol-guard status hol-guard detect --json ``` -For the harness that will perform Firebase work, install Guard, then verify a -protected launch before making project changes: +Initialize Guard-managed local state, then install Guard for the exact harness +reported by `hol-guard detect` and verify a protected launch before making +project changes: ```bash +hol-guard bootstrap hol-guard install hol-guard run --dry-run hol-guard run hol-guard status ``` -Use the exact harness identifier reported by `hol-guard detect`; do not infer or +`hol-guard bootstrap` is part of HOL Guard's maintained setup flow. Use the +exact harness identifier reported by `hol-guard detect`; do not infer or substitute a product name. Do not claim a workspace is protected until Guard reports the harness setup successfully. From 97b58cf4aaf1246639612d68f2b645f23167919f Mon Sep 17 00:00:00 2001 From: Michael Kantor <6068672+kantorcodes@users.noreply.github.com> Date: Fri, 28 Aug 2026 11:39:10 -0400 Subject: [PATCH 4/4] fix: pass request id to approvals open --- skills/firebase-hol-guard/SKILL.md | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/skills/firebase-hol-guard/SKILL.md b/skills/firebase-hol-guard/SKILL.md index 3b042112..fa5a5d18 100644 --- a/skills/firebase-hol-guard/SKILL.md +++ b/skills/firebase-hol-guard/SKILL.md @@ -63,14 +63,15 @@ If Guard blocks or queues work, inspect the request before proceeding: ```bash hol-guard approvals -hol-guard approvals open +hol-guard approvals open hol-guard receipts hol-guard diff ``` -Only approve after reviewing the risk reason and requested scope. Never bypass -Guard by launching an unprotected copy of the agent or editing around -Guard-owned hooks. +Pass the pending approval request ID to `hol-guard approvals open` so the CLI +opens the specific queued request. Only approve after reviewing the risk reason +and requested scope. Never bypass Guard by launching an unprotected copy of the +agent or editing around Guard-owned hooks. ## Diagnose protection