CtrlK
BlogDocsLog inGet started
Tessl Logo

git-guardrails-claude-code

Set up Claude Code hooks to block dangerous git commands (push, reset --hard, clean, branch -D, etc.) before they execute. Use when user wants to prevent destructive git operations, add git safety hooks, or block git push/reset in Claude Code.

71

Quality

89%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Passed

No findings from the security scan

The canonical home for this skill is git-guardrails-claude-code in mattpocock/skills

SKILL.md
Quality
Evals
Security

Quality

Content

86%Weight 40%Scale 1-5

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

A tight, executable setup guide: correct bundle reference, complete settings snippets, merge-safe instructions, and a verification test. The only improvements are collapsing the duplicated JSON block and adding a failure-path for the verification step.

Suggestions

Show the project settings JSON once and state the global variant differs only in the command path ('~/.claude/hooks/block-dangerous-git.sh'), saving ~18 lines.

Add one line of error recovery to Step 5, e.g. 'If it does not block, check the script is executable and the settings JSON is valid.'

DimensionReasoningScore

Conciseness

The body is lean and assumes competence — no explanation of what git or hooks are — but the project and global settings JSON blocks are near-identical duplicates differing only in the command path, which is trimmable token cost. Efficient with minor instances that could be tightened, matching anchor 4 rather than the 'every token earns its place' of 5.

4 / 5

Actionability

Fully executable guidance throughout: exact copy destinations, chmod, two copy-paste-ready settings JSON blocks (with the documented "$CLAUDE_PROJECT_DIR" pattern), a merge instruction to avoid clobbering existing settings, and a concrete verification command with expected exit code 2 and stderr message. The only placeholder, <path-to-script>, is self-explanatory. Matches anchor 5's copy-paste-ready coverage of common cases.

5 / 5

Workflow Clarity

Five clearly sequenced steps with an explicit validation step ("Should exit with code 2 and print a BLOCKED message to stderr"), so the destructive/batch cap of 3 does not apply. It stops short of anchor 5 because there is no feedback loop — no guidance on what to do if the verification test fails to block.

4 / 5

Progressive Disclosure

Verified against the actual bundle: the single referenced file, [scripts/block-dangerous-git.sh](scripts/block-dangerous-git.sh), exists, is correctly linked, one level deep, and holds exactly the content that belongs outside SKILL.md (the pattern-matching logic). The body is a well-sectioned overview (blocked list, steps, verify) with no content that should be split out. Clear overview with a well-signaled one-level reference matches anchor 5.

5 / 5

Total

18

/

20

Passed

Description

87%Weight 40%Scale 1-5

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

A strong description: concrete commands, an explicit third-person 'Use when' clause with natural trigger phrases, and a well-defined niche. The only gaps are minor coverage misses in both the command list and trigger synonyms.

Suggestions

Replace 'etc.' with the full blocked-command list or at least include 'git checkout .' and 'git restore .' so specificity reaches comprehensive coverage.

Add one or two natural trigger synonyms users might say, e.g. 'force push' or 'protect my repo from destructive git commands'.

DimensionReasoningScore

Specificity

"block dangerous git commands (push, reset --hard, clean, branch -D, etc.) before they execute" lists several specific concrete commands with the mechanism (PreToolUse-style hook setup). It falls short of the 5 anchor's "comprehensive coverage" because the trailing "etc." admits gaps — e.g., "git checkout ." and "git restore .", which the body blocks, are absent from the description.

4 / 5

Completeness

Both parts are explicit and concrete: the what is "Set up Claude Code hooks to block dangerous git commands... before they execute" and the when is a full "Use when..." clause with three concrete trigger phrases. This matches the 5 anchor exactly; the 4 anchor's weaker "'when' could be more explicit" does not apply.

5 / 5

Trigger Term Quality

"prevent destructive git operations, add git safety hooks, or block git push/reset in Claude Code" gives good natural-phrase coverage users would actually say. Not 5: common synonyms/variants like "force push", "protect", or "git hook safety" are missing, so coverage is good but not comprehensive.

4 / 5

Distinctiveness Conflict Risk

It carves a clear niche — PreToolUse git-blocking hooks specifically in Claude Code — with distinct triggers ("git safety hooks", "block git push/reset") that no general git or hooks skill would claim. Conflict risk is minimal, matching the 5 anchor.

5 / 5

Total

18

/

20

Passed

Validation

100%

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

Validation — 16 / 16 Passed

Validation for skill structure

No warnings or errors.

Repository
koenighotze/wheel-of-meeting
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.