CtrlK
BlogDocsLog inGet started
Tessl Logo

gateguard

Fact-forcing gate that blocks Edit/Write/Bash (including MultiEdit) and demands concrete investigation (importers, data schemas, user instruction) before allowing the action. Measurably improves output quality by +2.25 points vs ungated agents.

60

Quality

72%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide

SecuritybySnyk

High

Do not use without reviewing

Fix and improve this skill with Tessl

tessl review fix ./skills/gateguard/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

77%

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

The body is highly actionable with a clear gated workflow, but it carries marketing/justification prose that hurts conciseness and references a hook script that is not present in the bundle, breaking the main quick-start path.

Suggestions

Trim the Evidence A/B-test table and 'Core Concept' justification/marketing prose — they argue for the skill rather than instruct execution and inflate the token budget.

Add the referenced 'scripts/hooks/gateguard-fact-force.js' to the bundle or remove the 'zero install' Option A, since the primary quick-start path currently points to a non-existent file.

Move the env-var tuning details (ECC_GATEGUARD, GATEGUARD_FACT_FORCE_FULL_DENIALS, #2142) into a separate reference file to keep SKILL.md lean and one level deep.

DimensionReasoningScore

Conciseness

The core gate checklists are efficient, but the Evidence A/B-test table, the 'Core Concept' rationale ('LLM self-evaluation doesn't work... verified experimentally'), and 'No competitor does all three. Most stop at deny.' are justification/marketing prose that does not help Claude execute.

2 / 3

Actionability

Provides concrete, copy-paste-ready guidance: numbered fact-gathering checklists ('List ALL files that import/require this file (search the tree — Glob/Grep, or find/grep via Bash)', 'Quote the user's current instruction verbatim'), executable commands ('pip install gateguard-ai; gateguard init'), and specific env vars.

3 / 3

Workflow Clarity

The three-stage DENY → FORCE → ALLOW gate is a clearly sequenced feedback loop with explicit checkpoints; the destructive Bash gate requires a rollback procedure; and MultiEdit batch handling ('each file in the batch is gated individually') is addressed.

3 / 3

Progressive Disclosure

Sections are well-organized and references are explicitly signaled, but Option A points to 'scripts/hooks/gateguard-fact-force.js' which is absent from the bundle (no scripts/, references/, or assets/ directories exist), so the primary quick-start path is broken.

2 / 3

Total

10

/

12

Passed

Description

67%

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

The description is specific and occupies a distinct niche, but it lacks an explicit 'Use when...' trigger clause and leans on mechanism language plus a marketing metric rather than natural user trigger phrases.

Suggestions

Add an explicit trigger clause, e.g. 'Use when Claude tends to edit files without first checking importers, data schemas, or the user's actual instruction' to clearly answer 'when' and raise completeness.

Replace mechanism terms with natural user phrasing ('investigate before editing', 'check importers and data formats before changes') so users would naturally say them when they need this skill.

Drop the marketing metric '+2.25 points vs ungated agents' from the description — it is an over-claim that adds fluff without aiding trigger matching.

DimensionReasoningScore

Specificity

Lists multiple concrete actions — 'blocks Edit/Write/Bash (including MultiEdit) and demands concrete investigation (importers, data schemas, user instruction)' — matching the score-3 anchor for multiple specific concrete actions.

3 / 3

Completeness

The 'what' is explicit (a fact-forcing gate that blocks edits and demands investigation), but the 'when' is only implied — there is no 'Use when...' clause or equivalent explicit trigger guidance, which caps completeness at 2 per the guidelines.

2 / 3

Trigger Term Quality

Relevant keywords exist (Edit/Write/Bash, investigation, importers, data schemas) but they describe the mechanism rather than phrases a user would naturally say; missing common natural variations like 'investigate before editing' or 'check importers before changes'.

2 / 3

Distinctiveness Conflict Risk

Occupies a clear niche — a pre-action fact-forcing gate distinct from runtime safety checks or post-edit review — and is unlikely to trigger for the wrong skill.

3 / 3

Total

10

/

12

Passed

Validation

87%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation14 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

metadata_version

'metadata.version' is missing

Warning

referenced_paths_exist

Referenced path issues: 1 missing, 1 deeper-than-1-level

Warning

Total

14

/

16

Passed

Repository
affaan-m/ECC
Reviewed

Table of Contents

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.