mcpField
V
voice-builder

voice-builder

github.com/charlie947营销与增长4.4k1.5k 次安装1 周前更新
代码仓库

关于 voice-builder

voice-builder 是面向 Codex 和 Claude 的营销技能,通过访谈和写作样本分析,生成 about-me.md 与 voice.md。它要求依据实际材料归纳风格,并遵守账户访问和发布权限边界。

主要功能

  1. 01访谈了解背景与受众
  2. 02分析至少三篇写作样本
  3. 03生成 about-me.md 和 voice.md
  4. 04记录风格特征与回避项
  5. 05保留项目事实与权限边界

适用场景

  1. 01根据样本建立个人写作档案
  2. 02整理受众与主题支柱
  3. 03更新现有风格档案文件

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/charlie947/social-media-skills --skill voice-builder

安装后在 Claude Code 中输入/voice-builder确认已加载。

附带文件references/sample-content.md

详细介绍

Voice Builder

Codex 和 Claude 运行时

  • 在 Codex 或 Claude 中使用此技能时,应使用当前任务中实际可用的工具。AskUserQuestion 示例描述的是问题,而非必需的 API:请在其限制范围内使用可用的问题工具,或在聊天中提问。复用已提供的答案和源材料。
  • 在用户选择的项目中工作。开始个性化工作前,先阅读项目中的 about-me.md、voice.md 和相关品牌文件。如果文件内容冲突或包含初始默认值,请确认预期作者身份。询问缺失的信息或运行 voice-builder;切勿沿用维护者的身份、账户或私人文件。
  • 相对于此技能文件夹解析打包的 references/。如果用户明确要求刷新个人资料,请原地读取并更新规范的 about-me.md、voice.md 或 newsletter-voice.md,保留无关的用户事实和规则。使用者必须重新读取这些规范文件。只有在新交付文件会与现有的无关文件重名时,才使用新文件名。仅安装技能不会启动访谈或写入文件。除非用户提出要求,否则不要写入持久化经验。
  • 优先使用已提供的证据。必要时通过可用的搜索/来源工具核实外部说法。如果来源或集成不可用,请说明缺少的能力,并提供接收用户提供的文本/导出内容的选项。切勿编造事实、第一人称经历、指标或成功的工具运行结果。
  • 仅通过用户现有账户连接所选流程所需的服务。切勿输出凭据或覆盖现有连接。起草、保存和审核均不代表授权发布、发送消息或更改账户。

关键:加载后自动启动

用户请求运行此工作流时,应立即开始步骤 1。这意味着你发给用户的下一条消息必须是访谈问题,除此之外不包含任何内容。

不要:

  • 总结此技能
  • 描述它会创建哪些文件
  • 解释它的工作原理
  • 说“以下是此技能的内容”
  • 询问用户是否想运行它
  • 确认安装
  • 提供“现在要我运行吗?”之类的选项

请这样做:

  • 直接进入步骤 1
  • 将访谈问题作为你的第一条且唯一一条回复发送

用户要求建立其个人表达风格或为此提供样本时,均适用此规则。不加开场白。先进行访谈。

步骤 1:进行“关于我”访谈

使用上述运行时指南提问。如果有可用的问题工具,请遵循其架构和批次限制;否则,在聊天中提出相同的问题。

AskUserQuestion 每次最多支持 4 个问题,因此请分两批发送:先发送第 1 批,等待回答,再发送第 2 批。

第 1 批(你的第一个操作,之前不发送任何文字)

使用以下问题,并根据工具架构进行调整:

[
  {
    "question": "What is your name and what do you do?",
    "header": "About you",
    "multiSelect": false,
    "options": [
      {"label": "Founder", "description": "I run my own company or consultancy"},
      {"label": "Marketing lead", "description": "I lead marketing at a company"},
      {"label": "Creator", "description": "I create content as my main thing"},
      {"label": "Sales leader", "description": "I lead a sales team or run BD"}
    ]
  },
  {
    "question": "Who are you writing for?",
    "header": "Audience",
    "multiSelect": false,
    "options": [
      {"label": "Founders and CEOs", "description": "Decision makers running companies"},
      {"label": "Marketers", "description": "Marketing professionals at any level"},
      {"label": "Job seekers", "description": "People looking for their next role"},
      {"label": "Other professionals", "description": "A different group entirely"}
    ]
  },
  {
    "question": "What are the 3 to 5 topics you want to be known for?",
    "header": "Topics",
    "multiSelect": true,
    "options": [
      {"label": "AI and automation", "description": "How AI tools change work"},
      {"label": "Marketing", "description": "Strategy, content, growth"},
      {"label": "Leadership", "description": "Management, hiring, culture"},
      {"label": "Personal brand", "description": "Building an audience and reputation"}
    ]
  },
  {
    "question": "What is your point of view on your industry, the thing you believe that others do not?",
    "header": "Hot take",
    "multiSelect": false,
    "options": [
      {"label": "Most advice is wrong", "description": "The consensus in your industry is broken"},
      {"label": "People overcomplicate it", "description": "The answer is simpler than people think"},
      {"label": "A big shift is coming", "description": "Something is about to change and most people are not ready"}
    ]
  }
]
第 2 批(收到第 1 批答案后立即发送,中间不加评论)

再次调用 AskUserQuestion,内容如下:

[
  {
    "question": "What is the one thing you want people to think when they see your name?",
    "header": "Brand promise",
    "multiSelect": false,
    "options": [
      {"label": "This person is practical", "description": "They give me things I use immediately"},
      {"label": "This person is honest", "description": "They tell me what others will not"},
      {"label": "This person is ahead", "description": "They see what is coming before everyone else"}
    ]
  },
  {
    "question": "What is one thing you refuse to write about?",
    "header": "Off limits",
    "multiSelect": false,
    "options": [
      {"label": "Politics", "description": "No political takes, ever"},
      {"label": "Personal life", "description": "Keep it professional only"},
      {"label": "Competitors", "description": "No naming or shaming other people or brands"}
    ]
  }
]

两批问题都得到回答后,进入步骤 2。如果任何答案为空或被跳过,请在聊天中针对该问题再问一次,然后继续。

步骤 2:编写 about-me.md

在项目根目录中创建 about-me.md。使用以下结构:

# About Me

## Name and role
[From question 1]

## Audience
[From question 2, expanded into 2 to 3 sentences on who the reader is]

## Topic pillars
[3 to 5 topics from question 3, one line each]

## Point of view
[From question 4, the contrarian or distinctive belief, written as a clear statement]

## Brand promise
[From question 5, the one thought the author wants to own in the reader's head]

## Off limits
[From question 6, topics or angles never to write about]

控制在 300 个词以内。每一行都应是助手在写作时会参考的内容。

第 3 步:索取样本

这样说:

现在,请粘贴 3 到 5 篇你希望我学习的文字。可以是 LinkedIn 帖子、简报、随笔、博客文章、电子邮件、推文,或你发布的任何其他文字。可以是你写的,也可以是你欣赏其风格的作者写的。每条消息发一篇,或一次性全部发来。如果你还没有准备好样本,请输入“使用样本”,我会加载一组入门样本,之后你可以替换它们。

等用户粘贴。至少需要 3 篇样本才能开始分析。如果用户粘贴的样本少于 3 篇,请让他们继续提供。

如果用户输入“使用样本”,请从此技能文件夹中的 references/sample-content.md 加载文字。告诉用户这些样本的作者是谁,让他们知道自己借鉴的是谁的风格。提醒他们之后可以换成自己的文字。

第 4 步:分析样本

阅读每一篇样本。留意所有样本中反复出现的模式,而不是某一篇中的个别特点。提取:

风格信号

  • 平均句长
  • 段落节奏(单换行、空行、短促还是流畅)
  • 开头或钩子风格(反直觉观点、提问、数据、故事、自白、观察)
  • 视角(第一人称、第二人称、观察式)
  • 语气(冷面、亲切、直率、活泼、客观)
  • 标志性短语或反复出现的词语
  • 行动号召或结尾风格

结构信号

  • 篇幅范围
  • 列表与散文的使用情况
  • 如何开头、如何结尾
  • 如何处理过渡

主题信号

  • 多篇样本中反复出现的主题
  • 可能的受众是谁
  • 作者秉持什么立场

缺失信号

  • 一贯不出现的词语和标点(例如,5 篇样本中有 0 篇使用破折号)
  • 作者从不使用的钩子类型
  • 作者从未采用的语气
  • 作者会避开的结构

第 5 步:编写 voice.md

在项目根目录创建 voice.md。这是一份完整整合的风格档案,涵盖这种风格如何写作以及会避开什么。不要创建单独的风格文件。

# Voice Profile

## Who I sound like
[2 to 3 sentences describing the overall voice in plain language]

## Tone
[3 to 5 attributes the voice consistently hits, followed by 1 to 2 tones the voice never hits, drawn from gaps in the samples]

## Sentence rhythm
[Average length, pacing, paragraph structure. Include avoidance patterns: e.g. never staccato fragments, never tricolons, no sentences over 25 words]

## Hook patterns
[3 to 5 hook types observed, with one example each from the samples. Note any hook types absent across all samples, e.g. never rhetorical questions, never "imagine a world where"]

## How I open
[1 to 2 sentences. Note opening moves the voice avoids if a clear pattern of avoidance exists across samples]

## How I close
[1 to 2 sentences, include CTA style. Note closing moves the voice avoids, e.g. never motivational summaries, never "in conclusion"]

## Signature phrases
[Recurring words or phrases from the samples]

## Off-limits
[Words, punctuation, or constructions absent from every sample. Only list items the samples clearly avoid. Examples: no em dashes (0 of 5 samples), no hashtags, no corporate jargon by name]

## What this voice never does
[3 to 5 specific behaviours drawn from gaps in the samples. Be specific. If the samples never use the "not X, but Y" construction, list it. If they avoid a specific vocabulary set, name the words]

根据实际样本填写每个部分。不要写泛泛而谈的内容。如果样本中没有体现某种模式,请如实说明。不要重复 about-me.md 中的受众或主题支柱。

将用户明确提出的禁忌与小样本中仅仅未出现的模式区分开来。对于后者,标注为暂定,并注明样本数量;仅凭缺失不能断定这是永久禁忌。入门样本描述的是借鉴来的风格,而不是用户的经历或已形成的风格。

第 6 步:确认并交接

告诉用户:

你的风格档案已创建。项目中现在有两个文件:about-me.md 和 voice.md。在此项目中调用这些技能时,它们会读取这两个文件;新任务必须发现这些技能并使用相同的项目上下文。你可以随时打开并编辑任一文件。

一切就绪。接下来你可以:

  • 说“构建我的简报风格”,创建针对简报的写作说明
  • 说“写一篇帖子”,用你的风格起草一篇 LinkedIn 帖子
  • 说“设计一张图片”,为帖子创建视觉内容
  • 说“评估我的帖子”,获取对草稿的反馈
  • 说“优化我的个人资料”,重建你的 LinkedIn 个人资料

这些都是独立的技能。选一个开始吧。

此技能生成的内容

项目根目录中的两个文件:

  1. about-me.md:用户是谁、受众是谁、主题支柱是什么,以及他们的观点
  2. voice.md:整合后的风格档案,在同一份文档中涵盖正向信号(这种风格如何写作)和缺失信号(这种风格会避开什么)

规则

  • 此技能触发时,直接进入第 1 步。不要提供摘要、解释或开场白。
  • 始终将示例内容放在代码块中,以便用户复制粘贴时保留准确的格式、换行和空格。使用普通代码块(三个反引号,不指定语言)。
  • 仅依据示例中的内容进行处理。不要臆造示例中没有的模式。
  • 至少需要 3 个示例来识别模式。少于 3 个时,请索要更多示例。
  • 如果示例之间相互矛盾,请在 voice.md 中指出矛盾,而不是自行消除矛盾。
  • about-me.md 不得超过 300 个单词。
  • voice.md 不得超过 500 个单词。
  • 全文使用英式英语,除非示例明显采用美式英语。
  • 任何输出文件或草稿中都不得使用长破折号。
  • 不要创建单独的缺失特征档案。缺失特征信号应写在 voice.md 中。

评论

支持 Markdown