Review
apollographql/apollo-mcp-server
Review a GitHub pull request for a Rust codebase. An agent skill from apollographql/apollo-mcp-server.
Gary Vaynerchuk's jab-jab-jab-right-hook framework applied to a personal portfolio rotation on X and LinkedIn.
$ npx skills add coreyhaines31/makerskills --skill jab-hook -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install coreyhaines31/makerskills jab-hook --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/coreyhaines31/makerskills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/jab-hook .claude/skills/jab-hook && 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 "jab-hook" agent skill from https://github.com/coreyhaines31/makerskills/tree/main/skills/jab-hook into .claude/skills/jab-hook/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "jab-hook", 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/coreyhaines31/makerskills/tree/main/skills/jab-hookType 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 coreyhaines31/makerskills --skill jab-hook -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install coreyhaines31/makerskills jab-hook --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/coreyhaines31/makerskills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/jab-hook .agents/skills/jab-hook && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "jab-hook" agent skill from https://github.com/coreyhaines31/makerskills/tree/main/skills/jab-hook into .agents/skills/jab-hook/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "jab-hook", 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 coreyhaines31/makerskills --skill jab-hook -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install coreyhaines31/makerskills jab-hook --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/coreyhaines31/makerskills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/jab-hook .cursor/skills/jab-hook && 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 "jab-hook" agent skill from https://github.com/coreyhaines31/makerskills/tree/main/skills/jab-hook into .cursor/skills/jab-hook/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "jab-hook", 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/coreyhaines31/makerskills.git --path skills/jab-hook--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 coreyhaines31/makerskills --skill jab-hook -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install coreyhaines31/makerskills jab-hook --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/coreyhaines31/makerskills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/jab-hook .gemini/skills/jab-hook && 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 "jab-hook" agent skill from https://github.com/coreyhaines31/makerskills/tree/main/skills/jab-hook into .gemini/skills/jab-hook/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "jab-hook", 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 coreyhaines31/makerskills jab-hookInstalls 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 coreyhaines31/makerskills --skill jab-hook -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/coreyhaines31/makerskills.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/jab-hook .github/skills/jab-hook && 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 "jab-hook" agent skill from https://github.com/coreyhaines31/makerskills/tree/main/skills/jab-hook into .github/skills/jab-hook/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "jab-hook", 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 coreyhaines31/makerskills --skill jab-hook -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install coreyhaines31/makerskills jab-hook --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/coreyhaines31/makerskills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/jab-hook .opencode/skills/jab-hook && 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 "jab-hook" agent skill from https://github.com/coreyhaines31/makerskills/tree/main/skills/jab-hook into .opencode/skills/jab-hook/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "jab-hook", 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.
jab-hookGary 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. 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.
5 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit cc31579. 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.
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.
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.
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 coreyhaines31/makerskills at commit cc31579, republished under its MIT licence (© coreyhaines31). 985 words, ~2,064 tokens.
.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.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/.
~/.config/makerskills/jab-hook/properties.yaml): one per property you want to promote on rotationDetect from the trigger:
| User says | Mode |
|---|---|
| "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.
references/properties.md — the 6 rotation slots and angle ideasreferences/voice.md — the user's voice rules per platformreferences/content-types.md — templates for promo / BIP / educational${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).Day | Type | Property/Topic | Hook | Draft summaryFollow 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.
For promo and educational posts, optionally scan inspiration accounts (references/inspiration.md) before drafting:
${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-onlySkip inspiration scan when the user says "just draft it" or when iterating on an existing post.
Ask: "Push to Typefully now? (X + LinkedIn, your personal workspace)"
If yes:
${MAKERSKILLS_CONFIG:-$HOME/.config/makerskills}/jab-hook/typefully.yaml (setup notes in references/typefully-config.md)paste — clean output for pasting into Typefully / LinkedIn / X manually if the MCP path doesn't fitsocial-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 theredeep-research — when a promo needs a stat or citation the draft doesn't have yetmarketingskills:social — generic social frameworks, useful when teaching strategy vs shipping your own postsmarketingskills:copywriting — for hook / headline ideation when stuckfeedback_social_link_placement.md in your memory store (see below). Body posts with inline URLs get algorithm-suppressed on both platforms.${MAKERSKILLS_CONFIG:-$HOME/.config/makerskills}/jab-hook/voice.local.md.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 framingfeedback_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
SKILL.md and 9 other files (references) in skills/jab-hook of coreyhaines31/makerskills.
Open the folder on GitHubat commit cc31579
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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Jab Hook this skillcoreyhaines31/makerskills | 851 | — | ~2.1k | Automated safety check: Pass | MIT | |
| Reviewapollographql/apollo-mcp-server | 314 | — | ~2.9k | Automated safety check: Pass | MIT | |
| Sonar CoverageSonarSource/sonarqube-agent-plugins | 111 | — | ~2.1k | Automated safety check: Pass | Custom licence | |
| Source Command Unifi MCP Test Coverageenuno/unifi-mcp-server | 284 | — | ~707 | Automated safety check: Pass | Apache-2.0 | |
| Unblock PRdatadog-labs/agent-skills | 177 | — | ~2.7k | Automated safety check: Pass | MIT | |
| Sealeap Bixie Amazon Variation Keyword Role Mappingxjli360/sealeap-amazon-skills | 251 | — | ~683 | Automated safety check: Pass | MIT |
apollographql/apollo-mcp-server
Review a GitHub pull request for a Rust codebase. An agent skill from apollographql/apollo-mcp-server.
SonarSource/sonarqube-agent-plugins
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)
enuno/unifi-mcp-server
Run tests and analyze coverage gaps by module to reach 80% target
datadog-labs/agent-skills
Load when investigating a failing PR CI pipeline or checking PR health.
xjli360/sealeap-amazon-skills
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.
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.
coreyhaines31/makerskills
When you want to pressure-test a potential new business, product, or side project against the serial-founder filter.
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.
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…
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.
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…
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…
Works with
Categories
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.
Jab Hook fits situations like: what should I post; plan my socials; social rotation; promote [property].
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.
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.
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.
SKILL.md names no scripts, command-line tools or credentials: Jab Hook 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.
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.
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.
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.
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.