Individual skill
viewer-panel
Six different viewers watch the first 3 seconds of a video and each says swipe or stay, and why. Use to pressure-test a hook from the point of view of the doom-scroller, the sceptic, the beginner, the niche expert, the buyer and the rival creator.
viewer-panel/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/viewer-panel
(
set -euo pipefail
destination='./.claude/skills/viewer-panel'
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:viewer-panel' > "$work/skill.tar"
mkdir -p -- './.claude/skills'
mkdir -- "$destination"
tar -xf "$work/skill.tar" -C "$destination"
)Codex
Destination .agents/skills/viewer-panel
(
set -euo pipefail
destination='./.agents/skills/viewer-panel'
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:viewer-panel' > "$work/skill.tar"
mkdir -p -- './.agents/skills'
mkdir -- "$destination"
tar -xf "$work/skill.tar" -C "$destination"
)Cursor
Destination .cursor/skills/viewer-panel
(
set -euo pipefail
destination='./.cursor/skills/viewer-panel'
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:viewer-panel' > "$work/skill.tar"
mkdir -p -- './.cursor/skills'
mkdir -- "$destination"
tar -xf "$work/skill.tar" -C "$destination"
)Gemini CLI
Destination .gemini/skills/viewer-panel
(
set -euo pipefail
destination='./.gemini/skills/viewer-panel'
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:viewer-panel' > "$work/skill.tar"
mkdir -p -- './.gemini/skills'
mkdir -- "$destination"
tar -xf "$work/skill.tar" -C "$destination"
)GitHub Copilot
Destination .github/skills/viewer-panel
(
set -euo pipefail
destination='./.github/skills/viewer-panel'
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:viewer-panel' > "$work/skill.tar"
mkdir -p -- './.github/skills'
mkdir -- "$destination"
tar -xf "$work/skill.tar" -C "$destination"
)OpenCode
Destination .opencode/skills/viewer-panel
(
set -euo pipefail
destination='./.opencode/skills/viewer-panel'
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:viewer-panel' > "$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
- testing 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 · 2,802 bytes
Read excerpt
# Viewer Panel
A hook is judged by strangers in a few seconds. Simulate six of them. Each one watches only what is actually in the first 3 seconds: the first shot, the on-screen text and the spoken words. They know nothing else.
This is a thinking tool, not data. Never present the panel as a survey, a prediction or a percentage of real viewers.
## The six viewers
| Viewer | Who they are | What makes them stay | What makes them swipe |
|---|---|---|---|
| **Doom-scroller** | Thumb moving, half watching, sound maybe off | A clear picture of something surprising or wanted, readable text | Talking head with nothing happening, a greeting, a logo |
| **Sceptic** | Has seen a thousand hooks, smells clickbait | A specific, checkable claim with proof on screen | "Nobody tells you", "secret", round stats with no source, hype |
| **Beginner** | New to the topic, doesn't know the words | Their own problem in their own words | Jargon, insider terms, assumes knowledge |
| **Niche expert** | Knows the topic well | A real detail or a claim that's new to them | The obvious advice they already know |