jab-hook

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

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

/jab-hook — 针对个人作品集的Jab-jab-jab-right-hook策略

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/
.
将Gary Vaynerchuk的框架应用于你配置好的作品集:让动态内容以Jabs(价值导向内容——build-in-public + 教育类)为主,这样当Hooks(推广类内容)发布时才能获得关注。草稿将同步至你的个人Typefully工作区。
一次性设置:请参考
references/properties.md
references/typefully-config.md
配置你的真实作品集和工作区。个人配置文件存放在
${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
  • N个轮换位(在
    ~/.config/makerskills/jab-hook/properties.yaml
    中配置):每个你想要轮换推广的项目对应一个位置
  • 每周约2篇推广帖 → 每个项目约每3周循环一次,权重均等
  • 非推广日:build-in-public类与教育类内容各占50%
  • 目标每周节奏:约2篇推广帖 + 2–3篇build-in-public帖 + 2–3篇教育类帖
  • 平台支持:通过个人Typefully工作区发布至X + LinkedIn

Step 1 — Pick the mode

步骤1 — 选择模式

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.
根据触发词自动识别:
用户指令模式
"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(生成草稿)
若指令模糊,将向用户确认。

Step 2 — Load context

步骤2 — 加载上下文

  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
      mcp__typefully__typefully_list_social_sets
      and ask which social set is your personal (X + LinkedIn). Save the ID to
      references/typefully-config.md
      for future runs.
    • Call
      mcp__typefully__typefully_list_drafts
      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
  1. 读取
    references/properties.md
    — 包含6个轮换位及内容方向思路
  2. 读取
    references/voice.md
    — 各平台的用户语气规则
  3. 读取
    references/content-types.md
    — 推广类/BIP类/教育类内容模板
  4. 从个人Typefully工作区拉取近期帖子:
    • 首次运行:调用
      mcp__typefully__typefully_list_social_sets
      并询问哪个社交组属于你的个人账号(X + LinkedIn)。将ID保存至
      references/typefully-config.md
      以备后续使用。
    • 调用
      mcp__typefully__typefully_list_drafts
      筛选最近30天的草稿
    • 根据内容将每篇帖子分类为推广类/BIP类/教育类
  5. 计算6个轮换位各自的上次推广间隔天数

Step 3 — Mode logic

步骤3 — 模式逻辑

plan (7-day plan)

plan(7天计划)

  • 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
  • 将1–2个最久未推广的项目安排为推广帖
  • 剩余5天交替填充BIP类和教育类内容(各占50%)
  • 以表格形式输出:
    日期 | 类型 | 项目/主题 | 钩子 | 草稿摘要
  • 避免连续两天发布推广帖
  • 用户确认计划后,可依次生成每篇帖子的草稿

pick-next

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
  • 识别最久未推广的项目
  • 若最久未推广间隔<14天,则建议发布BIP类或教育类内容(选择更久未发布的类型)
  • 生成1篇帖子草稿;发布前需征得用户同意

audit

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
  • 生成报告:按逾期时长排序,展示每个项目的上次推广间隔天数
  • 将间隔>21天的项目标记为逾期
  • 建议后续1–2个行动方向

draft

draft(生成草稿)

  • Skip rotation logic — draft the requested post
  • Use the right content-type template
  • 跳过轮换逻辑 — 直接生成用户请求的帖子
  • 使用对应类型的内容模板

Step 4 — Draft

步骤4 — 生成草稿

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.
遵循
references/voice.md
references/content-types.md
的规则。默认生成单篇帖子,每个平台各一份(X版本 + LinkedIn版本)。仅当第二篇帖子有明确价值时才生成系列帖。
链接放置规则(关键):正文内绝不添加URL。默认不添加链接 — 让好奇心引导用户点击。确需添加链接时,LinkedIn平台将链接放在第一条评论中(Typefully支持自动评论),X平台放在回复帖中。正文必须独立成篇。

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
    references/patterns.md
    (create if missing) so they accumulate
Skip inspiration scan when the user says "just draft it" or when iterating on an existing post.
对于推广类和教育类帖子,生成草稿前可选择参考灵感账号(
references/inspiration.md
):
  1. 选择1–2个受众与目标项目重叠的账号
  2. 拉取其近期帖子(若agent-browser支持LinkedIn则直接获取;否则请用户粘贴示例或 fallback至X/通讯内容)
  3. 提取结构模式:钩子开头、帖子长度、换行节奏、CTA风格
  4. 一种模式应用到用户的语气中 — 绝不模仿措辞
  5. 将新模式记录到
    references/patterns.md
    (若不存在则创建)以便积累
当用户要求“直接生成”或迭代现有帖子时,跳过灵感参考步骤。

Step 5 — Syndicate to Typefully

步骤5 — 同步至Typefully

Ask: "Push to Typefully now? (X + LinkedIn, your personal workspace)"
If yes:
  1. Read social set ID from
    references/typefully-config.md
  2. Call
    mcp__typefully__typefully_create_draft
    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
询问用户:"现在同步到Typefully吗?(X + LinkedIn,你的个人工作区)"
若用户同意:
  1. references/typefully-config.md
    读取社交组ID
  2. 调用
    mcp__typefully__typefully_create_draft
    分别为X和LinkedIn生成草稿(若社交组同时包含两个平台则调用一次即可)
  3. 若草稿包含第一条评论链接,配置Typefully自动添加(LinkedIn自动评论 / X回复)。若MCP不支持某平台的自动评论功能,则提供评论文本供用户发布后粘贴。
  4. 默认设置为草稿状态(非定时发布) — 用户需在Typefully界面审核后再发布
  5. 返回Typefully草稿链接

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
  • paste
    — 若MCP路径不适用,可生成干净的输出内容手动粘贴至Typefully/LinkedIn/X
  • social-fetch
    — 拉取灵感账号帖子进行结构分析(替代内置agent-browser)
  • second-brain
    — 从
    Content Ideas
    维基页面获取钩子、框架、故事素材;
    /jab-hook
    生成草稿时会从中提取候选内容
  • deep-research
    — 当推广帖需要草稿中未包含的数据或引用时使用
  • marketingskills:social
    — 通用社交框架,适合教学策略而非发布个人帖子时使用
  • marketingskills:copywriting
    — 陷入瓶颈时用于构思钩子/标题

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
    ~/.claude/memory/feedback_social_link_placement.md
    . 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.
  • 每个项目每周至少1篇推广帖是底线,而非上限。 可预测的轮换策略会产生复利效应 — 4个项目×每周1篇推广帖 = 每月4篇推广周。剩余内容由教育类、BIP类和社区互动内容填充。
  • 绝不模仿灵感账号的措辞。 提取结构(钩子开头类型、换行节奏、CTA风格)并应用到自己的语气中。个人语气是核心竞争力;抄袭措辞会毁掉它。
  • 链接应放在第一条评论中,而非正文(适用于LinkedIn + X)。该规则记录在
    ~/.claude/memory/feedback_social_link_placement.md
    中。正文包含内嵌URL的帖子会被两个平台的算法限流。
  • 默认草稿状态,而非定时发布状态。 所有同步至Typefully的内容默认设为草稿 — 发布前必须由人工在Typefully界面审核。自动定时发布未审核的草稿曾多次导致用户发布后悔的内容。
  • 以读者视角构建内容。 用“你将了解X”而非“我们将教你X”;用“你能获得的保障”而非“我们提供的保障”。
  • Voice.local.md优先级高于默认voice.md。 个人语气规则绝不存放在公开仓库中 — 始终存放在
    ${MAKERSKILLS_CONFIG:-$HOME/.config/makerskills}/jab-hook/voice.local.md
  • 频率上限:每个平台每个账号每天最多2篇帖子。 超过此频率会降低触达率,且会被视为垃圾内容。

Memory references

记忆参考

  • ~/.claude/memory/feedback_promo_voice.md
    (if present) — conviction-coded CTAs + reader-perspective framing
  • ~/.claude/memory/feedback_social_cadence.md
    (if present) — cadence cap (e.g., 2 posts/day per platform)
  • ~/.claude/memory/feedback_promo_voice.md
    (若存在) — 强化CTA的说服力 + 读者视角构建内容
  • ~/.claude/memory/feedback_social_cadence.md
    (若存在) — 发布频率上限(例如:每个平台每天2篇帖子)