Force factual investigation before edits or commands to improve output quality.
Copy the install command and let the AI configure it · recommended for beginners
Please install the "gateguard" skill from askskill: 1. Download https://raw.githubusercontent.com/affaan-m/ECC/main/skills/gateguard/SKILL.md 2. Save it as ~/.claude/skills/gateguard/SKILL.md 3. Reload skills and tell me it's ready
Enable gateguard. Before modifying this repository, investigate the relevant import chain, data structures, config sources, and my actual requirement. Only allow Edit or MultiEdit after you present concrete findings and risks.
It first returns investigation findings, scope, and risks, then proceeds to concrete edits only when conditions are satisfied.
Use gateguard. Before running any Bash command, confirm the project type, dependency manager, environment variables, database schema, and user goal. If information is insufficient, ask follow-up questions or investigate further instead of executing immediately.
You get a pre-execution checklist and missing-information report, reducing commands based on false assumptions.
Have gateguard review this writing task: before generating the document, inspect existing materials, term definitions, target audience, and formatting requirements. If factual grounding or user instructions are incomplete, pause Write and explain why.
It first provides information gaps and clarification suggestions, then drafts the document once grounding is sufficient.
A PreToolUse hook that forces Claude to investigate before editing. Instead of self-evaluation ("are you sure?"), it demands concrete facts. The act of investigation creates awareness that self-evaluation never did.
LLM self-evaluation doesn't work. Ask "did you violate any policies?" and the answer is always "no." This is verified experimentally.
But asking "list every file that imports this module" forces the LLM to run Grep and Read. The investigation itself creates context that changes the output.
Three-stage gate:
1. DENY — block the first Edit/Write/Bash attempt
2. FORCE — tell the model exactly which facts to gather
3. ALLOW — permit retry after facts are presented
No competitor does all three. Most stop at deny.
Two independent A/B tests, identical agents, same task:
| Task | Gated | Ungated | Gap |
|---|---|---|---|
| Analytics module | 8.0/10 | 6.5/10 | +1.5 |
| Webhook validator | 10.0/10 | 7.0/10 | +3.0 |
| Average | 9.0 | 6.75 | +2.25 |
Both agents produce code that runs and passes tests. The difference is design depth.
MultiEdit is handled identically — each file in the batch is gated individually.
Before editing {file_path}, present these facts:
1. List ALL files that import/require this file (use Grep)
2. List the public functions/classes affected by this change
3. If this file reads/writes data files, show field names, structure,
and date format (use redacted or synthetic values, not raw production data)
4. Quote the user's current instruction verbatim
Before creating {file_path}, present these facts:
1. Name the file(s) and line(s) that will call this new file
2. Confirm no existing file serves the same purpose (use Glob)
3. If this file reads/writes data files, show field names, structure,
and date format (use redacted or synthetic values, not raw production data)
4. Quote the user's current instruction verbatim
Triggers on: rm -rf, git reset --hard, git push --force, drop table, etc.
1. List all files/data this command will modify or delete
2. Write a one-line rollback procedure
3. Quote the user's current instruction verbatim
1. The current user request in one sentence
2. What this specific command verifies or produces
The hook at scripts/hooks/gateguard-fact-force.js is included in this plugin. Enable it via hooks.json.
If GateGuard blocks setup or repair work, start the session with
ECC_GATEGUARD=off. For hook-level control, keep using
ECC_DISABLED_HOOKS with the GateGuard hook ID.
pip install gateguard-ai
gateguard init
This adds .gateguard.yml for per-project configuration (custom messages, ignore paths, gate toggles).
%Y/%m/%d %H:%M. Checking data structure (with redacted values) prevents this entire class of bugs.…
Create, configure, and refine Hookify rules and syntax patterns.
Refine retrieved context iteratively to improve subagent understanding and output quality.
Conduct multi-source web research and produce cited, source-attributed reports.
Manage Uncloud clusters for deployment, ingress, scaling, and operations troubleshooting.
Process documents with OCR, conversion, extraction, redaction, signing, and form filling.
Design security and risk controls for autonomous trading agents with transaction authority
Add quality gates for coding agents to catch common AI mistakes.
Add human approval and tamper-evident logs to risky AI agent actions.
Gate blockchain actions from AI agents with explainable allow, warn, or block decisions.
Drive evidence-based approval loops for Bright Data scraper repair workflows.
Detect promise and schedule conflicts in Korean messages before sending.
Run QA checks with screenshots, Sentry errors, and fix verification.