Hook Variant A/B Generator

A/B Hook Tester — two hooks, one variable, a real answer

by Ootto-AI · MIT license · ★ 139 on GitHub

A/B Hook Tester — two hooks, one variable, a real answer cover

Generates two genuinely distinct hook variants for the same reel so you can post-test which opening actually wins. Use when the user says "give me two hooks to test", "A/B this hook", "which opening should I use", "hook variants".

---
name: ab-hook-tester
description: >
  Generates two genuinely distinct hook variants for the same reel so you can post-test which
  opening actually wins.
  Use when the user says "give me two hooks to test", "A/B this hook", "which opening should I use", "hook variants".
user-invokable: true
argument-hint: "[the reel idea or script]"
license: MIT
metadata:
  author: Ootto
  version: "1.0.0"
  category: content
---

# A/B Hook Tester — two hooks, one variable, a real answer

Generates two genuinely distinct hook variants for the same reel so you can post-test which

Overview

Generates two genuinely distinct hook variants for the same reel so you can post-test which opening actually wins.

Manual install (npx, ZIP)
Claude Codenpx skills add Ootto-AI/claude-content-skills --skill ab-hook-tester -g -a claude-code
Claude Code (degit)npx degit Ootto-AI/claude-content-skills/skills/ab-hook-tester#main ~/.claude/skills/ab-hook-tester
Claude.ai / desktopZip the folder and upload it under Settings → Capabilities → Skills.
Codex, Cursor, other agentsPoint them at SKILL.md. The other files are plain text.

Connects with Agent Alley MCP · agentalley.io/mcp

Files included

  • SKILL.md1.9 KB
Read SKILL.md here
Ootto-AI/main1 file shown
SKILL.md
Show the full text54 lines

A/B Hook Tester — two hooks, one variable, a real answer

Generates two genuinely distinct hook variants for the same reel so you can post-test which opening actually wins.

When to use

You have a reel and two instincts about how to open it.

What you'll need

The script or the idea, plus what you're optimising for (retention, saves, DMs).

Instructions

Give Claude the input and run this.

You are my hook tester. Reel: [paste script or idea]. I care most about: [retention/saves/DMs].

Give me TWO hooks that use DIFFERENT MECHANISMS — not one hook reworded:
- HOOK A: [mechanism, e.g. result-first] — the exact on-screen text + spoken line.
- HOOK B: [a different mechanism, e.g. objection-first] — same.

Then:
1. HYPOTHESIS: what I learn if A wins, and what I learn if B wins.
2. HOLD CONSTANT: everything that must stay identical (cover, length, caption, posting time).
3. READ: which metric decides it, and at what point (3s retention, not likes).
4. SAMPLE: roughly how many views before the result means anything.

If both hooks pull the same lever, say so and replace one.

Honesty: One variable. If the cover or caption changes too, it isn't a test — it's two different reels.

Next: reel-scripter → cover-thumbnail-brief


Built by Ootto — the AI autopilot that connects your tools once and runs the busywork for you, automatically. Book a demo →

1---
2name: ab-hook-tester
3description: >
4 Generates two genuinely distinct hook variants for the same reel so you can post-test which
5 opening actually wins.
6 Use when the user says "give me two hooks to test", "A/B this hook", "which opening should I use", "hook variants".
7user-invokable: true
8argument-hint: "[the reel idea or script]"
9license: MIT
10metadata:
11 author: Ootto
12 version: "1.0.0"
13 category: content
14---
15 
16# A/B Hook Tester — two hooks, one variable, a real answer
17 
18Generates two genuinely distinct hook variants for the same reel so you can post-test which
19opening actually wins.
20 
21 
22## When to use
23You have a reel and two instincts about how to open it.
24 
25## What you'll need
26The script or the idea, plus what you're optimising for (retention, saves, DMs).
27 
28## Instructions
29Give Claude the input and run this.
30 
31```
32You are my hook tester. Reel: [paste script or idea]. I care most about: [retention/saves/DMs].
33 
34Give me TWO hooks that use DIFFERENT MECHANISMS — not one hook reworded:
35- HOOK A: [mechanism, e.g. result-first] — the exact on-screen text + spoken line.
36- HOOK B: [a different mechanism, e.g. objection-first] — same.
37 
38Then:
391. HYPOTHESIS: what I learn if A wins, and what I learn if B wins.
402. HOLD CONSTANT: everything that must stay identical (cover, length, caption, posting time).
413. READ: which metric decides it, and at what point (3s retention, not likes).
424. SAMPLE: roughly how many views before the result means anything.
43 
44If both hooks pull the same lever, say so and replace one.
45```
46 
47**Honesty:** One variable. If the cover or caption changes too, it isn't a test — it's two different reels.
48 
49**Next:** [reel-scripter](../reel-scripter/SKILL.md) → [cover-thumbnail-brief](../cover-thumbnail-brief/SKILL.md)
50 
51---
52 
53Built by **[Ootto](https://www.ootto.ai)** — the AI autopilot that connects your tools once and runs the busywork for you, automatically. [Book a demo →](https://www.ootto.ai)
54 
View all files on GitHub →

Details

License
MIT
Stars on the repo
★ 139
Checked
Source
Ootto-AI/claude-content-skills ↗
Creator
Ootto-AI · 36 listings
View creator

Similar skills

See all →
Skillshadcn/uishadcn-ui/ui · by shadcn-uiManages shadcn components and projects — adding, searching, fixing, debugging, styling, and composing UI, including chat interfaces. Provides project context, component docs, and usage examples. Applies when working with shadcn/ui, component registries, presets, --preset codes, or any project with a components.json file. Also triggers for "shadcn init", "create an app with --preset", or "switch to --preset".★ 124k GitHub starsSkillGoogle Agent ADK Guidegoogle/agents-cli · by googleThis skill should be used when the user wants to "write agent code", build an agent with ADK", "add a tool", "create a callback", "define an agent", use state management" — in a project that needs ADK (Agent Development Kit) API patterns and code examples. It provides a quick reference for agent types, tool definitions, orchestration patterns, callbacks, state management, the graph Workflow API, and reference recipes to study. Do NOT use for scaffolding (use google-agents-cli-scaffold) or deployment (use google-agents-cli-deploy).★ 6k GitHub starsSkillLive Visual EditorBuilderIO/skills · by BuilderIOOpen and collaboratively edit a running local app in Design, with shared fallback previews and source handoff. Use when the user asks to inspect, share, or edit a real local app in Design.★ 4.5k GitHub starsSkillClaude Mods TemplatesDannyMac180/skills · by DannyMac180Patterns, cost review and ready templates for Claude Mods (Claude Code plugins whose behaviour is a function-hooks module). Adds what the built-in mod authoring does not: proven designs (fork-check-draw, tool + ledger, mode registry, artifact-backed state), prompt-cache and token-cost review, a vetting pass for someone else's mod, and rules for mods that compose. USE WHEN: build a mod, make a claude mod, mod templates, quiz me after each turn, assumptions tool / register_assumption, supervisor that checks the turn, next-steps check, mode selector / mode registry, effort by domain, model router that keeps the cache, prompt cache cost of a mod, what does this mod cost per turn, review or vet someone's mod before installing, mods that work together, Kanban artifact as shared project state. NOT FOR: classic shell-command hooks in settings.json (PreToolUse etc.), a plain skill or slash command, MCP server authoring, or looking up the hooks API itself (use the engine's plugin-authoring guidance and generated types).★ 535 GitHub starsSkillPhysics-Based UI Motiondiip3sh/feel · by diip3shBuild UI interactions whose motion comes from a physical model instead of durations and easing curves. Turn a feel described in words ("a toggle that feels heavy", "a drawer with a magnetic snap", "a card you throw into a corner", "a knob with heavy detents", "a sticky slider") into a production component driven by mass, stiffness, damping and force fields (magnets, friction, walls), on a line, in a plane or around a dial, plus a test rig that plots position, velocity and the force field, overlays the model's prediction on the measured motion, and exports the same spring to Framer Motion, react-spring, SwiftUI, Compose or CSS linear(). Use this whenever someone asks for an animation, transition, spring, gesture, drag, flick, snap points, bottom sheet, toggle, slider, carousel or any micro-interaction that should "feel" a certain way, or wants to tune or explain a spring, even if they never say "physics".★ 48 GitHub starsSkillHTML Artifact Builderanthropics/skills · by anthropicsSuite of tools for creating elaborate, multi-component claude.ai HTML artifacts using modern frontend web technologies (React, Tailwind CSS, shadcn/ui). Use for complex artifacts requiring state management, routing, or shadcn/ui components - not for simple single-file HTML/JSX artifacts.★ 178k GitHub stars

More from Ootto-AI

SkillInternet Research RouterOotto-AI/claude-content-skills · by Ootto-AIMUST USE when user wants to 调研/research/搜索/search/查/找/look up anything on the internet — e.g. 全网调研 X / 帮我调研一下 X / 查一下 X / 搜搜 X / 看看大家怎么评价 X / X 上有什么讨论 / research this topic。 Also MUST USE when user mentions any platform or shares any URL/链接: 小红书/xiaohongshu/xhs, Twitter/推特/X, B站/bilibili, Reddit, V2EX, LinkedIn/领英/招聘/求职/jobs, YouTube, GitHub code search, 小宇宙播客, 雪球/股票行情, RSS feeds, or any web URL. 13 platforms, multi-backend routing (OpenCLI / per-platform CLIs / APIs). Zero config for 6 channels. Run `agent-reach doctor --json` to see which backend serves each platform right now. NOT for: 写报告/数据分析/翻译等内容加工(本 skill 只负责从互联网获取内容); 发帖/评论/点赞等写操作;已有专门 skill 的平台(先用专门 skill)。 【路由方式】SKILL.md 包含路由表和常用命令,复杂场景需按需阅读对应分类的 references/*.md。 分类:search / social (小红书/推特/B站/V2EX/Reddit) / career(LinkedIn) / dev(github) / web(网页/文章/RSS) / video(YouTube/B站/播客)。★ 139 GitHub starsSkillObsidian Long-Term MemoryOotto-AI/claude-content-skills · by Ootto-AIGive Claude a permanent, searchable long-term memory using an Obsidian vault as the store. At the end of a session, summarize what mattered and save it as a Markdown note in your "AI Brain" vault; at the start of a session (or on demand), read back only the relevant past notes. Local markdown you own — connected via the Filesystem MCP. Trigger with "wrap up", "save this session", or "remember this".★ 139 GitHub starsSkillAnalytics Readout TranslatorOotto-AI/claude-content-skills · by Ootto-AIReads your reel insights and explains in plain English what to make more of and what to stop — no jargon. Use when the user says "explain my analytics", "what do my numbers mean", "read my insights", "how did this reel do".★ 139 GitHub starsSkillSocial Audience PersonasOotto-AI/claude-content-skills · by Ootto-AIBuild evidence-led social audience personas from customer interviews, comments, reviews, or CRM notes.★ 139 GitHub starsSkillSocial Profile ConverterOotto-AI/claude-content-skills · by Ootto-AIRewrites your bio, name field and pinned-reel order to convert profile visits into follows and clicks. Use when the user says "rewrite my bio", "optimize my profile", "what should my bio say", "which reels should I pin".★ 139 GitHub starsSkillCampaign Strategy BriefOotto-AI/claude-content-skills · by Ootto-AIUse when a social campaign needs a decision-ready brief before anyone writes posts, books creators, or spends budget. Trigger phrases include "brief this launch", "turn this into a campaign plan", "what should this campaign say?", "make a social brief", and "align the team on this promotion". Do not use this for a content calendar, a single caption, or an unapproved product claim; use content-calendar for scheduling, caption-and-hashtags for a post, and positioning-audit when the core message is still unclear.★ 139 GitHub stars