cleanroom-implementer

Enforces clean-room source isolation for agents implementing drivers from verified specs.

2|Updated May 13, 2026
One-click install
npx skills add https://github.com/curtisgalloway/public-skills --skill cleanroom-implementer-curtisgalloway
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: cleanroom-implementer
Source: https://github.com/curtisgalloway/public-skills/tree/main/plugins/driver-porting/skills/cleanroom-implementer
Command: npx skills add https://github.com/curtisgalloway/public-skills --skill cleanroom-implementer-curtisgalloway

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes scripts (resource) and assets (resource) components.

What problem does it solve? When an AI agent implements a driver from a clean-room specification, it may be tempted to read the original encumbered source (Linux, U-Boot, TF-A) when the spec has gaps, contaminating the entire clean-room process and invalidating the legal provenance of the ported code. This Skill prevents, detects, and responds to that contamination. ## Core Features & Use Cases - Layered enforcement: Ships a PreToolUse hook, permission deny rules, a sandboxed restricted subagent definition, and standing AGENTS.md rules that together block reads of encumbered source across file, shell, web, and MCP tool paths. - Spec-gap protocol: Gives the implementing agent a sanctioned, low-cost path (append to docs/spec-gaps/, mark TODO(spec-gap)) so it never needs to consult the reference source. - Session auditing and evidence: The session_audit.py script scans transcripts, artifacts, and SQLite conversation stores for blocked targets, GPL license markers, and code-shaped network payloads, producing a provenance report for pre-merge review. - Use Case: A team porting a USB controller driver to a new OS runs implementation sessions under this Skill; when the agent attempts to fetch a kernel.org page, the hook blocks it, logs the attempt, and redirects the agent to file a spec-gap instead. ## Quick Start Ask the agent to implement the driver described in docs/<device>-spec.md under clean-room rules, filing spec-gaps instead of reading any Linux or U-Boot source.

Frequently Asked Questions about cleanroom-implementer

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I stop an AI agent from reading Linux source during driver implementation?▼

Install the shipped PreToolUse hook and permission deny rules, which block file reads, shell commands, and URLs matching kernel checkouts and mirrors. The hook returns spec-gap filing instructions to the model and logs every blocked attempt to docs/provenance/hook-blocks.jsonl.

How to audit an agent session for clean-room contamination?▼

Run scripts/session_audit.py against the session transcript and artifact directory. It checks tool-call targets against the clean-room policy, scans results for GPL and kernel license markers, flags code-shaped network payloads, and exits nonzero if findings exist.

Does the clean-room hook work with Claude Code as well as Antigravity?▼

Yes. The hook and audit scripts are harness-neutral, keying off argument names and event fields rather than tool-name tables, and they resolve policy from .agents, .agent, .gemini, or .claude directories. Deny output is emitted in both Antigravity and Claude Code dialects.

What happens when the agent is blocked from reading source it thinks it needs?▼

The hook denies the call and returns instructions to append the question to docs/spec-gaps/<device>.md and mark the code site TODO(spec-gap). The orchestrator later sweeps open gaps into fresh investigator runs that amend the spec.

What are the limitations of hook-based enforcement?▼

Shell blocking is best-effort regex matching and the Antigravity IDE does not reliably run CLI hooks. The real guarantees come from the environment tier: no encumbered checkout mounted in the workspace and network egress restricted to an allowlist.

What should I do if a session audit finds contamination?▼

Discard that session's entire diff with no partial salvage, add a ledger line recording the finding, and regenerate the work from the spec in a fresh restricted session. Provenance cannot be subdivided within a context window.