Individual skill

lock-in

Writes the 1 to 3 sentences straight after the hook so they pay it off and turn attention into trust, and finds the dead stretch that loses people after a good hook. Use when a hook stops the scroll but viewers still leave in the next few seconds.

lock-in/SKILL.md

Read pinned source

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/lock-in

( set -euo pipefail destination='./.claude/skills/lock-in' 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:lock-in' > "$work/skill.tar" mkdir -p -- './.claude/skills' mkdir -- "$destination" tar -xf "$work/skill.tar" -C "$destination" )
Codex

Destination .agents/skills/lock-in

( set -euo pipefail destination='./.agents/skills/lock-in' 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:lock-in' > "$work/skill.tar" mkdir -p -- './.agents/skills' mkdir -- "$destination" tar -xf "$work/skill.tar" -C "$destination" )
Cursor

Destination .cursor/skills/lock-in

( set -euo pipefail destination='./.cursor/skills/lock-in' 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:lock-in' > "$work/skill.tar" mkdir -p -- './.cursor/skills' mkdir -- "$destination" tar -xf "$work/skill.tar" -C "$destination" )
Gemini CLI

Destination .gemini/skills/lock-in

( set -euo pipefail destination='./.gemini/skills/lock-in' 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:lock-in' > "$work/skill.tar" mkdir -p -- './.gemini/skills' mkdir -- "$destination" tar -xf "$work/skill.tar" -C "$destination" )
GitHub Copilot

Destination .github/skills/lock-in

( set -euo pipefail destination='./.github/skills/lock-in' 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:lock-in' > "$work/skill.tar" mkdir -p -- './.github/skills' mkdir -- "$destination" tar -xf "$work/skill.tar" -C "$destination" )
OpenCode

Destination .opencode/skills/lock-in

( set -euo pipefail destination='./.opencode/skills/lock-in' 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:lock-in' > "$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.

Files and excerpt

File metadata and permitted, redacted excerpts come from the recorded scan. Source links are pinned to that commit.

Browse files
Read excerpt

# Lock-in

The hook makes a promise. The next 1 to 3 sentences decide whether the viewer believes it. If they get a detour, a backstory or a slow setup, the curiosity turns into "this was bait" and they leave.

## Step 1: Find the gap

Write what the hook promised, then what actually comes next in the video, with the time. Flag any stretch that doesn't serve the promise: an intro, a story about the creator, "before we start", a long setup. Say exactly what to cut or move.

## Step 2: Pick one lock-in move

| Move | When | Example shape |
|---|---|---|
| **Proof right away** | The hook made a claim | Show the result, the number (theirs), the screen |
| **Picture the result** | The viewer wants a change | "By the end you'll [see / have] [result]" said over the result |