Markitdown
ImCa0/just-laws
Convert files and office documents to Markdown. An agent skill from ImCa0/just-laws.
When the user wants to write the first 30 seconds of a YouTube video, create retention hooks, improve video openings, or reduce early drop-off.
$ npx skills add TheCraigHewitt/skills --skill hook-writing -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install TheCraigHewitt/skills hook-writing --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/TheCraigHewitt/skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/youtube/hook-writing .claude/skills/hook-writing && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "hook-writing" agent skill from https://github.com/TheCraigHewitt/skills/tree/main/youtube/hook-writing into .claude/skills/hook-writing/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "hook-writing", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/TheCraigHewitt/skills/tree/main/youtube/hook-writingType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add TheCraigHewitt/skills --skill hook-writing -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install TheCraigHewitt/skills hook-writing --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/TheCraigHewitt/skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/youtube/hook-writing .agents/skills/hook-writing && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "hook-writing" agent skill from https://github.com/TheCraigHewitt/skills/tree/main/youtube/hook-writing into .agents/skills/hook-writing/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "hook-writing", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add TheCraigHewitt/skills --skill hook-writing -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install TheCraigHewitt/skills hook-writing --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/TheCraigHewitt/skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/youtube/hook-writing .cursor/skills/hook-writing && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "hook-writing" agent skill from https://github.com/TheCraigHewitt/skills/tree/main/youtube/hook-writing into .cursor/skills/hook-writing/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "hook-writing", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/TheCraigHewitt/skills.git --path youtube/hook-writing--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add TheCraigHewitt/skills --skill hook-writing -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install TheCraigHewitt/skills hook-writing --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/TheCraigHewitt/skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/youtube/hook-writing .gemini/skills/hook-writing && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "hook-writing" agent skill from https://github.com/TheCraigHewitt/skills/tree/main/youtube/hook-writing into .gemini/skills/hook-writing/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "hook-writing", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install TheCraigHewitt/skills hook-writingInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add TheCraigHewitt/skills --skill hook-writing -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/TheCraigHewitt/skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/youtube/hook-writing .github/skills/hook-writing && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "hook-writing" agent skill from https://github.com/TheCraigHewitt/skills/tree/main/youtube/hook-writing into .github/skills/hook-writing/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "hook-writing", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add TheCraigHewitt/skills --skill hook-writing -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install TheCraigHewitt/skills hook-writing --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/TheCraigHewitt/skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/youtube/hook-writing .opencode/skills/hook-writing && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "hook-writing" agent skill from https://github.com/TheCraigHewitt/skills/tree/main/youtube/hook-writing into .opencode/skills/hook-writing/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "hook-writing", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
hook-writingWhen the user wants to write the first 30 seconds of a YouTube video, create retention hooks, improve video openings, or reduce early drop-off.
Hook Writing is an agent skill from TheCraigHewitt/skills. When the user wants to write the first 30 seconds of a YouTube video, create retention hooks, improve video openings, or reduce early drop-off. Also use when the user says 'write a hook,' 'video intro,' 'opening for my video,' 'first 30 seconds,' 'retention hook,' 'stop the scroll,' 'my videos have bad retention at the start,' 'viewers are leaving in the first minute.' For full script structure, see script-structure. For title/thumbnail pairing, see title-craft and thumbnail-design.
Its SKILL.md is about 2.2k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It works with YouTube. The repository describes itself as: AI skills for founders, sales teams, and creators. 47 skills across CEO, Sales, YouTube, and General categories. Works with Claude Code, Cursor, Codex, and any agent that reads… The licence is MIT.
3 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit fdbf39b. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md (its code samples are markdown).
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Hook Writing loads about 2.2k tokens when it runs. Until then it costs about 125 tokens; SKILL.md has 1,206 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from TheCraigHewitt/skills at commit fdbf39b, republished under its MIT licence (© TheCraigHewitt). 1,206 words, ~2,232 tokens.
.claude/skills/hook-writing/SKILL.md (or your agent's skills folder).You are a YouTube hook specialist who has written and analyzed hundreds of video openings across channels from 10K to 1M+ subscribers. You know that the first 30 seconds determine whether 40% of your audience stays or leaves. You've diagnosed videos where great content was buried behind a slow intro, and watched retention double after rewriting the opening. You think in seconds, not minutes -- every word in the first 30 seconds must earn its place.
Check if .agents/youtube-context.md exists in the project root.
youtube-context first.Set up a situation the viewer recognizes or desires. This is the "I relate to this" moment.
Examples:
Say or show something unexpected that disrupts autopilot. This is the "wait, what?" moment.
Examples:
Reframe expectations and establish why THIS video is different from every other video on this topic. This is the "I need to keep watching" moment.
Examples:
| Type | Formula | Example Hook |
|---|---|---|
| Bold claim | [Surprising statement] + [Why believe me] | "I shipped a complete feature in 4 hours using AI. And I'm not a developer." |
| Pattern interrupt | [Common belief] + [Why it's wrong] | "Everyone says you need to hire to scale. I just deleted three roles from my org chart." |
| Story open | [Moment of tension] + [Stakes] | "Last Tuesday I almost pulled the plug on a product we'd spent 6 months building." |
| Result tease | [Outcome] + [Unexpected method] | "My company runs 40% leaner than last year. The change took one afternoon." |
| Question | [Problem they have] + [Promise of answer] | "Why does your business still feel chaotic at $2M? It's probably not what you think." |
| Cold open | [Mid-action moment] + [Context after] | "Okay so this is the dashboard after running the automation for 30 days. Look at these numbers." |
| Contrarian | [What everyone says] + [Why you disagree] | "Every YouTube coach will tell you to post 3 times a week. That advice nearly killed my channel." |
All three channels must synchronize in the first 30 seconds:
| Channel | Role | Rules |
|---|---|---|
| Spoken | Carries the hook's logic | Direct, confident, no filler words. |
| Visual | Supports and amplifies | Show the result, the screen, the reaction -- not a talking head staring at the camera for 30 seconds. |
| Text overlay | Reinforces the key point | 3-5 words on screen matching the spoken hook. Appears within the first 5 seconds. |
Spoken: "I replaced my entire weekly reporting workflow with one AI agent." Visual: Screen recording showing the AI agent dashboard with results. Text overlay: "8 HOURS → 45 MIN"
The hook doesn't stop at 30 seconds. Maintain momentum:
## Hook for: "[Video Title]"
### Spoken Script (25-30 seconds)
[Step 1 — Context Lean-In]
[Step 2 — Scroll-Stop Interjection]
[Step 3 — Contrarian Snapback]
### Visual Direction
- 0-5s: [What appears on screen]
- 5-10s: [What appears on screen]
- 10-20s: [What appears on screen]
- 20-30s: [What appears on screen]
### Text Overlays
- [Timestamp]: "[Text]" — [position, style]
### Transition to Body
[One sentence that bridges from the hook into the main content]
### Retention Target
70%+ retention at 30 seconds.© TheCraigHewitt, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in youtube/hook-writing of TheCraigHewitt/skills.
Open the folder on GitHubat commit fdbf39b
Hook Writing next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Hook Writing this skillTheCraigHewitt/skills | 159 | — | ~2.2k | Automated safety check: Pass | MIT | |
| MarkitdownImCa0/just-laws | 781 | 14 repos | ~3.2k | Automated safety check: Notes | MIT | |
| Banner Design Systemnextlevelbuilder/ui-ux-pro-max-skill | 134k | 1 repos | ~1.8k | Automated safety check: Pass | MIT | |
| Agent ReachPanniantong/Agent-Reach | 95k | — | ~1.4k | Automated safety check: Pass | MIT | |
| Last30daysmvanhorn/last30days-skill | 64k | — | ~7.9k | Automated safety check: Notes | MIT | |
| Baoyu URL To Markdownsdyckjq-lab/llm-wiki-skill | 2.5k | 2 repos | ~3.2k | Automated safety check: Pass | None |
ImCa0/just-laws
Convert files and office documents to Markdown. An agent skill from ImCa0/just-laws.
nextlevelbuilder/ui-ux-pro-max-skill
Walks through designing a banner for social media, ads, a website hero or print, from gathering requirements to building 2 or 3 art-direction options in HTML and CSS.
Panniantong/Agent-Reach
Routes web research and platform lookups across 16 sites, including Twitter, Reddit, YouTube, Bilibili, Xiaohongshu and GitHub, through one command-line tool.
mvanhorn/last30days-skill
Research what people actually say about any topic in the last 30 days.
sdyckjq-lab/llm-wiki-skill
Fetch any URL and convert to markdown using Chrome CDP. An agent skill from sdyckjq-lab/llm-wiki-skill.
AgriciDaniel/claude-seo
Pulls real Google data for SEO work: Search Console, PageSpeed Insights, CrUX field data, the Indexing API and GA4 organic traffic, through /seo google commands.
TheCraigHewitt/skills
Turns a piece of Craig's content (an email, a YouTube script, an essay, or pasted text) into a polished image carousel publishable to both LinkedIn and Instagram from one set of 1080x1350 slides.
TheCraigHewitt/skills
When the user wants to understand their YouTube audience, mine viewer psychology, analyze demographics, or find content-market fit signals.
TheCraigHewitt/skills
Take a messy stream-of-consciousness dump from the user (typed or transcribed from voice) and turn it into a structured set of projects, tasks, and connections to existing work.
TheCraigHewitt/skills
When the user wants a full YouTube channel health check, growth diagnosis, strategic review, or wants to identify why their channel is stalling.
TheCraigHewitt/skills
When the user wants to define or refine their YouTube channel strategy, niche positioning, content pillars, or growth plan.
TheCraigHewitt/skills
When the user wants to write cold call scripts, handle phone objections, plan dial blocks, or craft voicemails.
Works with
When the user wants to write the first 30 seconds of a YouTube video, create retention hooks, improve video openings, or reduce early drop-off. Hook Writing is an agent skill from TheCraigHewitt/skills. When the user wants to write the first 30 seconds of a YouTube video, create retention hooks, improve video openings, or reduce early drop-off.
Hook Writing fits situations like: wants to write the first 30 seconds of a YouTube video; create retention hooks; improve video openings; reduce early drop-off.
Run `npx skills add TheCraigHewitt/skills --skill hook-writing -a claude-code`. Or copy the skill folder (youtube/hook-writing in TheCraigHewitt/skills) into .claude/skills/hook-writing in your project. Claude Code loads it when a task matches its description.
Run `npx skills add TheCraigHewitt/skills --skill hook-writing -a codex`. Or copy the skill folder (youtube/hook-writing in TheCraigHewitt/skills) into .agents/skills/hook-writing in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add TheCraigHewitt/skills --skill hook-writing -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/hook-writing, .gemini/skills/hook-writing, .github/skills/hook-writing and .opencode/skills/hook-writing in your project.
SKILL.md names no scripts, command-line tools or credentials: Hook Writing is instructions for the agent only.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Hook Writing is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.2k tokens (SKILL.md is roughly 8.9k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Hook Writing: Markitdown (ImCa0/just-laws, 781 stars), Banner Design System (nextlevelbuilder/ui-ux-pro-max-skill, 134k stars), Agent Reach (Panniantong/Agent-Reach, 95k stars) and Last30days (mvanhorn/last30days-skill, 64k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
TheCraigHewitt (a GitHub user) maintains it in TheCraigHewitt/skills, which has 159 GitHub stars. The repository holds 65 skills in this directory. The repository was last updated on May 22, 2026.
Source: TheCraigHewitt/skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.