Agent skill

Jab Hook

by coreyhaines31 in coreyhaines31/makerskills

Gary Vaynerchuk's jab-jab-jab-right-hook framework applied to a personal portfolio rotation on X and LinkedIn.

MITAuto-check passedTesting & QA

Install Jab Hook

skills CLI
$ npx skills add coreyhaines31/makerskills --skill jab-hook -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install coreyhaines31/makerskills jab-hook --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/coreyhaines31/makerskills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/jab-hook .claude/skills/jab-hook && rm -rf skills-src

Use ~/.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/

Facts

Skill name
jab-hook
GitHub stars
851
Token cost
~2.1k tokens
SKILL.md length
985 words
Files
10 (incl. references)
Skills in repo
21
Repo updated
First seen
Licence
MIT

At a glance

Gary Vaynerchuk's jab-jab-jab-right-hook framework applied to a personal portfolio rotation on X and LinkedIn.

  • Works in 5 steps: Pick the mode → Load context → Mode logic → …
  • What should I post
  • SKILL.md covers Mental model, Step 1 — Pick the mode, Step 2 — Load context and Step 3 — Mode logic, plus 5 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Jab Hook is an agent skill from coreyhaines31/makerskills. Gary Vaynerchuk's jab-jab-jab-right-hook framework applied to a personal portfolio rotation on X and LinkedIn. Jabs = build-in-public + educational (value). Hooks = promo (the ask). Each property in the user's configured portfolio (see ~/.config/makerskills/jab-hook/properties.yaml) gets a hook at least once every ~3 weeks; jabs fill the rest. Drafts go into the user's Typefully workspace via MCP. Modes — plan (7-day plan), pick-next (single post), audit (coverage report), draft (specific post). Triggers on…

Its SKILL.md is about 2.1k tokens, which your agent loads only when the skill is triggered. The skill folder holds 10 other files, including reference files (for example `references/content-types.md`, `references/inspiration.example.md` and `references/inspiration.md`).

It sits in Testing & QA, covering Test coverage. It works with LinkedIn and Model Context Protocol. The repository describes itself as: AI agent skills for the personal operator's craft — decisions, research, second-brain, content rotation, scenario modeling, and meta-skills to author more. Works with Claude… The licence is MIT.

When your agent uses it

  • What should I post
  • Plan my socials
  • Social rotation
  • Promote [property]

Example prompts

  • “/jab-hook,”
  • “what should I post,”
  • “plan my socials,”
  • “/jab-hook”

Workflow steps

5 steps, taken from the step headings in SKILL.md.

  1. Pick the mode
  2. Load context
  3. Mode logic
  4. Draft
  5. Syndicate to Typefully

What it can do on your machine

Read from SKILL.md and the folder at commit cc31579. It shows what the files ask for, not the result of running them.

  • Tool permissions

    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.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md.

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Jab Hook loads about 2.1k tokens when it runs, and up to ~7.3k if it reads all its reference files. Until then it costs about 180 tokens; SKILL.md has 985 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~180
When it runs · the whole SKILL.md, loaded when a task matches
~2.1k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~7.3k

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.

Safety

Auto-check passed

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.

SKILL.md

The full file from coreyhaines31/makerskills at commit cc31579, republished under its MIT licence (© coreyhaines31). 985 words, ~2,064 tokens.

Download SKILL.mdSave it as .claude/skills/jab-hook/SKILL.md (or your agent's skills folder). This skill also uses 9 other files; get the full folder from GitHub.
name
jab-hook
description
Gary Vaynerchuk's jab-jab-jab-right-hook framework applied to a personal portfolio rotation on X and LinkedIn. Jabs = build-in-public + educational (value). Hooks = promo (the ask). Each property in the user's configured portfolio (see `~/.config/makerskills/jab-hook/properties.yaml`) gets a hook at least once every ~3 weeks; jabs fill the rest. Drafts go into the user's Typefully workspace via MCP. Modes — plan (7-day plan), pick-next (single post), audit (coverage report), draft (specific post). Triggers on "/jab-hook," "what should I post," "plan my socials," "next promo," "next jab," "next hook," "social rotation," "promote [property]," "BIP post," "audit my socials," "what haven't I posted about."
metadata.version
0.3.2

/jab-hook — Jab-jab-jab-right-hook for a personal portfolio

Gary Vaynerchuk's framework applied to your configured portfolio: keep the feed mostly jabs (value — BIP + educational) so the hooks (promo) earn attention when they land. Drafts to your personal Typefully workspace.

One-time setup: see references/properties.md and references/typefully-config.md to configure your real portfolio + workspace. Personal config lives in ${MAKERSKILLS_CONFIG:-$HOME/.config/makerskills}/jab-hook/.

Mental model

  • N rotation slots (configured in ~/.config/makerskills/jab-hook/properties.yaml): one per property you want to promote on rotation
  • ~2 promo posts/week → each property cycles every ~3 weeks at equal weight
  • Non-promo days: 50/50 build-in-public vs educational
  • Target weekly rhythm: ~2 promo + ~2–3 BIP + ~2–3 educational
  • Platforms: X + LinkedIn via your personal Typefully workspace

Step 1 — Pick the mode

Detect from the trigger:

User saysMode
"plan my socials," "next week's posts"plan
"what should I post," "next promo," "pick next"pick-next
"audit my socials," "what's overdue," "what haven't I posted about"audit
"draft a promo for X," "BIP post about Y," "educational about Z"draft

If ambiguous, confirm.

Step 2 — Load context

  1. Read references/properties.md — the 6 rotation slots and angle ideas
  2. Read references/voice.md — the user's voice rules per platform
  3. Read references/content-types.md — templates for promo / BIP / educational
  4. Pull recent posts from your personal Typefully workspace:
    • First run: call the Typefully MCP server's list-social-sets tool and ask which social set is your personal (X + LinkedIn). Save the ID to ${MAKERSKILLS_CONFIG:-$HOME/.config/makerskills}/jab-hook/typefully.yaml for future runs (schema in references/typefully-config.example.yaml — never save it inside the skill folder; upgrades wipe it).
    • Call its list-drafts tool, filtered to the last 30 days
    • Classify each as promo / BIP / educational by content
  5. Compute days since last promo for each of the 6 slots

Step 3 — Mode logic

plan (7-day plan)
  • Slot the 1–2 most overdue properties as promo posts
  • Fill remaining 5 days with alternating BIP and educational (50/50)
  • Output as a table: Day | Type | Property/Topic | Hook | Draft summary
  • Don't stack two promo on consecutive days
  • After the user approves the plan, offer to draft each one in sequence
pick-next
  • Identify the most overdue property
  • If most overdue < 14 days, suggest a BIP or educational instead (whichever is less recent)
  • Draft 1 post; ask before syndicating
audit
  • Report: days since last promo per property, ordered by most overdue
  • Flag any property >21 days as overdue
  • Suggest the next 1–2 moves
draft
  • Skip rotation logic — draft the requested post
  • Use the right content-type template

Step 4 — Draft

Follow references/voice.md and references/content-types.md. Default: single post, one per platform (X version + LinkedIn version). Thread only if the second post earns its place.

Link placement (load-bearing): never put a URL in the body. Default is no link at all — let curiosity drive the click. When a link is needed, draft it as a first comment for LinkedIn (Typefully supports auto-comment) or a reply for X. The body always stands alone.

Optional: inspiration scan

For promo and educational posts, optionally scan inspiration accounts (references/inspiration.md) before drafting:

  1. Pick 1–2 accounts whose audience overlaps with the property
  2. Pull recent posts (agent-browser if it works on LinkedIn; otherwise ask the user to paste examples or fall back to their X/newsletter)
  3. Extract structural patterns: hook openers, post length, line-break rhythm, CTA styles
  4. Apply ONE pattern to the user's voice — never mimic phrasing
  5. Log new patterns in ${MAKERSKILLS_CONFIG:-$HOME/.config/makerskills}/jab-hook/patterns.local.md (create if missing) so they accumulate — references/patterns.md documents the starter patterns and stays read-only

Skip inspiration scan when the user says "just draft it" or when iterating on an existing post.

Show full SKILL.md (413 more words)Show less

Step 5 — Syndicate to Typefully

Ask: "Push to Typefully now? (X + LinkedIn, your personal workspace)"

If yes:

  1. Read social set ID from ${MAKERSKILLS_CONFIG:-$HOME/.config/makerskills}/jab-hook/typefully.yaml (setup notes in references/typefully-config.md)
  2. Call the Typefully create-draft tool once for X, once for LinkedIn (or once with both platforms if the social set spans both)
  3. If the draft has a first-comment link, configure Typefully to add it automatically (LinkedIn auto-comment / X reply). If the MCP doesn't support auto-comment for one of the platforms, surface the comment text so the user can paste it after publishing.
  4. Default to draft state (not scheduled) — the user reviews in Typefully UI before sending
  5. Return the Typefully draft URLs

Composes with

  • paste — clean output for pasting into Typefully / LinkedIn / X manually if the MCP path doesn't fit
  • social-fetch — pull inspiration-account posts for structural analysis (replaces inline agent-browser)
  • second-brain — the Content Ideas wiki page hoppers hooks, frameworks, stories; /jab-hook drafts pull candidates from there
  • deep-research — when a promo needs a stat or citation the draft doesn't have yet
  • marketingskills:social — generic social frameworks, useful when teaching strategy vs shipping your own posts
  • marketingskills:copywriting — for hook / headline ideation when stuck

Notes on quality

  • 1 promo per week per property is the floor, not the ceiling. Rotation compounds when it's predictable — 4 properties × 1 promo/week = 4 promo weeks/month. Educational + BIP + community fill the rest.
  • Never mimic phrasing from inspiration accounts. Extract structure (hook opener type, line-break rhythm, CTA style) and apply to your own voice. Voice is the moat; copying phrasing destroys it.
  • Links belong in first comments, not the body for LinkedIn + X. Documented in feedback_social_link_placement.md in your memory store (see below). Body posts with inline URLs get algorithm-suppressed on both platforms.
  • Draft state, not scheduled state. Every Typefully push defaults to draft — human review in the Typefully UI before publish is non-negotiable. Automated scheduling of unreviewed drafts has repeatedly produced posts the user regrets.
  • Reader-perspective framing. "You'll know X" not "we'll teach you X." "What you're guaranteed" not "what we'd guarantee."
  • Voice.local.md overrides the shipped voice.md. Personal voice rules never live in the public repo — always in ${MAKERSKILLS_CONFIG:-$HOME/.config/makerskills}/jab-hook/voice.local.md.
  • Cadence cap: 2 posts/day per platform, per account. More than that degrades reach + reads as spam.

Memory references

Your memory store is your agent's persistent memory if it has one (Claude Code's memory directory, for example), otherwise ${MAKERSKILLS_MEMORY:-${MAKERSKILLS_CONFIG:-$HOME/.config/makerskills}/memory}/.

  • feedback_promo_voice.md in your memory store (if present) — conviction-coded CTAs + reader-perspective framing
  • feedback_social_cadence.md in your memory store (if present) — cadence cap (e.g., 2 posts/day per platform)

© coreyhaines31, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 9 other files (references) in skills/jab-hook of coreyhaines31/makerskills.

  • SKILL.md
  • references/content-types.md
  • references/inspiration.example.md
  • references/inspiration.md
  • references/patterns.md
  • references/properties.example.yaml
  • references/properties.md
  • references/typefully-config.example.yaml
  • references/typefully-config.md
  • references/voice.md

Open the folder on GitHubat commit cc31579

Compare with similar skills

Jab Hook 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.

Jab Hook compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Jab Hook this skillcoreyhaines31/makerskills851—~2.1kAutomated safety check: PassMIT
Reviewapollographql/apollo-mcp-server314—~2.9kAutomated safety check: PassMIT
Sonar CoverageSonarSource/sonarqube-agent-plugins111—~2.1kAutomated safety check: PassCustom licence
Source Command Unifi MCP Test Coverageenuno/unifi-mcp-server284—~707Automated safety check: PassApache-2.0
Unblock PRdatadog-labs/agent-skills177—~2.7kAutomated safety check: PassMIT
Sealeap Bixie Amazon Variation Keyword Role Mappingxjli360/sealeap-amazon-skills251—~683Automated safety check: PassMIT

Similar skills

  • Review

    apollographql/apollo-mcp-server

    Review a GitHub pull request for a Rust codebase. An agent skill from apollographql/apollo-mcp-server.

    314 GitHub stars~2.9k tokensUpdated 4 days ago
    Testing & QAAuto-check passed
  • Sonar Coverage

    SonarSource/sonarqube-agent-plugins

    Official

    Find files with low test coverage and inspect uncovered lines in a SonarQube project (project key optional when MCP integration already defines the default project)

    111 GitHub stars~2.1k tokensUpdated 3 days ago
    Testing & QAAuto-check passed
  • Run tests and analyze coverage gaps by module to reach 80% target

    284 GitHub stars~707 tokensUpdated today
    Testing & QAAuto-check passed
  • Unblock PR

    datadog-labs/agent-skills

    Load when investigating a failing PR CI pipeline or checking PR health.

    177 GitHub stars~2.7k tokensUpdated 2 days ago
    Testing & QAAuto-check passed
  • Analyze keyword coverage at the parent-ASIN level to assign each child variation a distinct keyword role instead of letting variations compete for the same terms.

    251 GitHub stars~683 tokensUpdated 13 days ago
    Testing & QAAuto-check passed
  • LinkedIn MCP Issue Investigator

    stickerdaniel/linkedin-mcp-server

    Investigates a reported LinkedIn-MCP issue by matching the reporter's tool call to the exact source file and tests, without applying a fix.

    3.8k GitHub stars~2k tokensUpdated today
    DevelopmentAuto-check passed

More from coreyhaines31/makerskills

All 21 skills in this repo
  • Business Brainstorm

    coreyhaines31/makerskills

    When you want to pressure-test a potential new business, product, or side project against the serial-founder filter.

    851 GitHub stars~1.7k tokensUpdated 2 days ago
    Auto-check passed
  • Company Brain

    coreyhaines31/makerskills

    Your team's shared, AI-ready knowledge base — people, companies, meetings, SOPs, and decisions structured so an agent can answer on your team's behalf.

    851 GitHub stars~4.9k tokensUpdated 2 days ago
    Auto-check passed
  • Company Cfo

    coreyhaines31/makerskills

    Monthly CFO workflow for a company or agency — pull raw data from bank + payment processor + payroll + expense management, categorize and reconcile, compute end-of-month cash via transaction-sum…

    851 GitHub stars~4k tokensUpdated 2 days ago
    Auto-check: notes
  • Decide

    coreyhaines31/makerskills

    When you have a decision to make and want a structured workflow that picks the load-bearing questions, walks through them, reaches a call (or "wait"), and archives the rationale for future reference.

    851 GitHub stars~1.9k tokensUpdated 2 days ago
    Auto-check passed
  • Ingest

    coreyhaines31/makerskills

    When you paste raw human input — a call transcript (Grain, Zoom, Granola, Fathom), a text or email from a client/partner/friend, a voice-memo dump, or meeting notes — and want it converted into…

    851 GitHub stars~1.8k tokensUpdated 2 days ago
    Auto-check passed
  • Maker Council

    coreyhaines31/makerskills

    When you want multiple expert perspectives on a founder/operator question — a simulated board of advisors (Jason Fried, Elon Musk, Jeff Bezos, Jensen Huang, Bob Iger, Paul Graham, Naval Ravikant…

    851 GitHub stars~2.9k tokensUpdated 2 days ago
    Auto-check passed

Categories

Questions about Jab Hook

What does Jab Hook do?

Gary Vaynerchuk's jab-jab-jab-right-hook framework applied to a personal portfolio rotation on X and LinkedIn. Jab Hook is an agent skill from coreyhaines31/makerskills. Gary Vaynerchuk's jab-jab-jab-right-hook framework applied to a personal portfolio rotation on X and LinkedIn.

When should I use Jab Hook?

Jab Hook fits situations like: what should I post; plan my socials; social rotation; promote [property].

How do I install Jab Hook in Claude Code?

Run `npx skills add coreyhaines31/makerskills --skill jab-hook -a claude-code`. Or copy the skill folder (skills/jab-hook in coreyhaines31/makerskills) into .claude/skills/jab-hook in your project. Claude Code loads it when a task matches its description.

How do I install Jab Hook in Codex?

Run `npx skills add coreyhaines31/makerskills --skill jab-hook -a codex`. Or copy the skill folder (skills/jab-hook in coreyhaines31/makerskills) into .agents/skills/jab-hook in your project. Codex loads it when a task matches its description.

Can I use Jab Hook in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add coreyhaines31/makerskills --skill jab-hook -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/jab-hook, .gemini/skills/jab-hook, .github/skills/jab-hook and .opencode/skills/jab-hook in your project.

What does Jab Hook need to run?

SKILL.md names no scripts, command-line tools or credentials: Jab Hook is instructions for the agent only.

Does Jab Hook access the network?

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.

Is Jab Hook safe to install?

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.

What licence does Jab Hook use?

Jab Hook is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Jab Hook use?

About 2.1k tokens (SKILL.md is roughly 8.3k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 5.2k tokens, read only when the agent opens those files.

What are the alternatives to Jab Hook?

Skills that share tags, products or a category with Jab Hook: Review (apollographql/apollo-mcp-server, 314 stars), Sonar Coverage (SonarSource/sonarqube-agent-plugins, 111 stars), Source Command Unifi MCP Test Coverage (enuno/unifi-mcp-server, 284 stars) and Unblock PR (datadog-labs/agent-skills, 177 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Jab Hook?

coreyhaines31 (a GitHub user) maintains it in coreyhaines31/makerskills, which has 851 GitHub stars. The repository holds 21 skills in this directory. The repository was last updated on October 8, 2026.

Source: coreyhaines31/makerskills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.