Individual skill
four-failures-check
Checks a video opening for the four ways hooks fail (delay, confusion, irrelevance, disinterest) and points at the exact words or shot that cause each one. Use on any hook draft, script opening or filmed first 3 seconds.
four-failures-check/SKILL.md
Source commit 287053a825efc992e38653a66fc298925293bf36
What was checked
- Matches the observed repository HEAD
- Yes
- Scanner rules are current
- Yes
- Repository scan complete
- Yes
- Skill scan complete
- Yes
- Observed behavior
- Instructions only
- Last checked
- Nov 6, 2026
These are observations at the recorded commit, not a guarantee of safety. Review the source before running it.
Install this skill
Choose an agent in your Stack or copy a command below. Commands fetch the pinned commit and copy only this skill directory. Existing destinations are refused. Copying a command does not install anything.
Claude Code
Destination .claude/skills/four-failures-check
(
set -euo pipefail
destination='./.claude/skills/four-failures-check'
if [ -e "$destination" ] || [ -L "$destination" ]; then printf '%s\n' 'Destination already exists; nothing overwritten.' >&2; exit 1; fi
work=$(mktemp -d)
trap 'rm -rf -- "$work"' EXIT
git clone --filter=blob:none --no-checkout -- 'https://github.com/Liamrjohnston/hook-master-skill.git' "$work/repo"
git -C "$work/repo" checkout --detach 287053a825efc992e38653a66fc298925293bf36
git -C "$work/repo" archive --format=tar '287053a825efc992e38653a66fc298925293bf36:four-failures-check' > "$work/skill.tar"
mkdir -p -- './.claude/skills'
mkdir -- "$destination"
tar -xf "$work/skill.tar" -C "$destination"
)Codex
Destination .agents/skills/four-failures-check
(
set -euo pipefail
destination='./.agents/skills/four-failures-check'
if [ -e "$destination" ] || [ -L "$destination" ]; then printf '%s\n' 'Destination already exists; nothing overwritten.' >&2; exit 1; fi
work=$(mktemp -d)
trap 'rm -rf -- "$work"' EXIT
git clone --filter=blob:none --no-checkout -- 'https://github.com/Liamrjohnston/hook-master-skill.git' "$work/repo"
git -C "$work/repo" checkout --detach 287053a825efc992e38653a66fc298925293bf36
git -C "$work/repo" archive --format=tar '287053a825efc992e38653a66fc298925293bf36:four-failures-check' > "$work/skill.tar"
mkdir -p -- './.agents/skills'
mkdir -- "$destination"
tar -xf "$work/skill.tar" -C "$destination"
)Cursor
Destination .cursor/skills/four-failures-check
(
set -euo pipefail
destination='./.cursor/skills/four-failures-check'
if [ -e "$destination" ] || [ -L "$destination" ]; then printf '%s\n' 'Destination already exists; nothing overwritten.' >&2; exit 1; fi
work=$(mktemp -d)
trap 'rm -rf -- "$work"' EXIT
git clone --filter=blob:none --no-checkout -- 'https://github.com/Liamrjohnston/hook-master-skill.git' "$work/repo"
git -C "$work/repo" checkout --detach 287053a825efc992e38653a66fc298925293bf36
git -C "$work/repo" archive --format=tar '287053a825efc992e38653a66fc298925293bf36:four-failures-check' > "$work/skill.tar"
mkdir -p -- './.cursor/skills'
mkdir -- "$destination"
tar -xf "$work/skill.tar" -C "$destination"
)Gemini CLI
Destination .gemini/skills/four-failures-check
(
set -euo pipefail
destination='./.gemini/skills/four-failures-check'
if [ -e "$destination" ] || [ -L "$destination" ]; then printf '%s\n' 'Destination already exists; nothing overwritten.' >&2; exit 1; fi
work=$(mktemp -d)
trap 'rm -rf -- "$work"' EXIT
git clone --filter=blob:none --no-checkout -- 'https://github.com/Liamrjohnston/hook-master-skill.git' "$work/repo"
git -C "$work/repo" checkout --detach 287053a825efc992e38653a66fc298925293bf36
git -C "$work/repo" archive --format=tar '287053a825efc992e38653a66fc298925293bf36:four-failures-check' > "$work/skill.tar"
mkdir -p -- './.gemini/skills'
mkdir -- "$destination"
tar -xf "$work/skill.tar" -C "$destination"
)GitHub Copilot
Destination .github/skills/four-failures-check
(
set -euo pipefail
destination='./.github/skills/four-failures-check'
if [ -e "$destination" ] || [ -L "$destination" ]; then printf '%s\n' 'Destination already exists; nothing overwritten.' >&2; exit 1; fi
work=$(mktemp -d)
trap 'rm -rf -- "$work"' EXIT
git clone --filter=blob:none --no-checkout -- 'https://github.com/Liamrjohnston/hook-master-skill.git' "$work/repo"
git -C "$work/repo" checkout --detach 287053a825efc992e38653a66fc298925293bf36
git -C "$work/repo" archive --format=tar '287053a825efc992e38653a66fc298925293bf36:four-failures-check' > "$work/skill.tar"
mkdir -p -- './.github/skills'
mkdir -- "$destination"
tar -xf "$work/skill.tar" -C "$destination"
)OpenCode
Destination .opencode/skills/four-failures-check
(
set -euo pipefail
destination='./.opencode/skills/four-failures-check'
if [ -e "$destination" ] || [ -L "$destination" ]; then printf '%s\n' 'Destination already exists; nothing overwritten.' >&2; exit 1; fi
work=$(mktemp -d)
trap 'rm -rf -- "$work"' EXIT
git clone --filter=blob:none --no-checkout -- 'https://github.com/Liamrjohnston/hook-master-skill.git' "$work/repo"
git -C "$work/repo" checkout --detach 287053a825efc992e38653a66fc298925293bf36
git -C "$work/repo" archive --format=tar '287053a825efc992e38653a66fc298925293bf36:four-failures-check' > "$work/skill.tar"
mkdir -p -- './.opencode/skills'
mkdir -- "$destination"
tar -xf "$work/skill.tar" -C "$destination"
)Repository context
- Repository stars (not skill ratings)
- 31
- Repository last updated
- Oct 25, 2026
- License
- MIT
Observed agent integration: No specific integration evidence. Standard SKILL.md installation does not imply verified compatibility.
- claude-code Repository topic
- claude-skills Repository topic
- content-creation Repository topic
- hooks Repository topic
- engineering Derived category
Files and excerpt
File metadata and permitted, redacted excerpts come from the recorded scan. Source links are pinned to that commit.
Browse files
SKILL.mdcore · 3,121 bytesreferences/failure-examples.mddoc · 1,750 bytes
Read excerpt
# Four Failures Check
A hook that loses people almost always does one of four things. Check all four, in order, and point at the exact words or frame. Never give a verdict without a quote.
## The four failures
| Failure | What it looks like | The test | The fix |
|---|---|---|---|
| **Delay** | The topic arrives late. Greetings, names, "welcome back", "so", "before we get into it", a slow walk in | Count the words (or seconds) before a stranger knows what the video is about | Cut to the first word that carries the subject. Move the payoff frame to second zero |
| **Confusion** | More than one possible meaning, insider words, a pronoun with nothing behind it, a clever line that needs a second listen | Read it as a complete outsider, not as the expert who wrote it. Could a tired stranger say back what the video is about after one listen? | One meaning. Plain active verbs. Name the thing. Enough words to be clear, not as few as possible |
| **Irrelevance** | It's about the creator, not the viewer. "My journey", "a bit about me", a logo, a title card with the brand | Would the viewer think "this is for me" in the first sentence? | Put the viewer's problem, want or belief first. The creator's story can come later as proof |
| **Disinterest** | Clear and relevant but obvious. Nothing to wonder about. "Gardening tips!!", "Here's how our product works" | Is there a gap between what the viewer believes now and what this video shows? | Add contrast: what they expect versus what's true, the old way versus this way, the fail versus the fix |
Two things that are not failures: