首页
/ ECC brand-discovery 技能 Positioning 模块解析:用 Dunford 模板在 Agent 会话中构建品牌定位

ECC brand-discovery 技能 Positioning 模块解析:用 Dunford 模板在 Agent 会话中构建品牌定位

2026-09-06 09:53:26作者:宣海椒Queenly

在 ECC(Everything Claude Code)的多技能体系中,brand-discovery 技能把品牌身份访谈拆解为 8 个可断点续作的模块,而 20_positioning.md 正是其中负责"竞争框架"的核心模块模板。本文基于该文档及其技能主文件 SKILL.md,完整拆解 Positioning 模块的框架选型、访谈问题清单、Dunford 定位声明模板与状态机协议,读完你可以理解 ECC 如何用一套结构化方法论,把创始人头脑中隐含的定位判断沉淀为可执行、可复核的 Markdown 交付物。

Positioning 模块在 brand-discovery 技能中的位置

brand-discovery 技能的总目标是产出一份完整的 90_SYNTHESIS.md(主品牌书,Master Brandbook),供组织向设计师、写作者和外部协作者下发 brief。它刻意设计为跨多天甚至数周的多会话流程:答案边聊边落盘,会话结束后不丢失任何已 elicited 的知识,下一次会话可从断点继续。

技能主文件定义了 8 个模块的执行顺序与各自的理论框架(见 SKILL.md 的 Module sequence 表):

模块文件 标签 使用的框架
10_purpose-why.md Purpose / Why Sinek Golden Circle、Lencioni
20_positioning.md Positioning Dunford "Obviously Awesome"、Moore 模板
30_audience-niche.md Audience & Niche Baker "Business of Expertise"、ICP
40_personality-archetype.md Personality & Archetype Mark & Pearson 12 原型、J. Aaker 五维
50_voice-tone.md Voice & Tone 品牌声音指南
60_narrative-story.md Narrative / Story Neumeier trueline、品牌故事弧
70_founder-tension.md Founder Brands vs Studio Brand Enns "Win Without Pitching"
90_SYNTHESIS.md Master Brandbook Kapferer 品牌棱镜、Aaker 品牌系统

Positioning 排在第 2 位,承接 Module 10 挖出的核心信念(Why),并为 Module 30 的理想客户画像(ICP)提供竞争语境——先确定"我们在哪个类别里和谁竞争",再细化"最想服务的那个客户长什么样",最后由 Module 90 统一调和。模块要求按序完成;用户若要求跳模块,需在 state.json 中记录该跳过。

20_positioning.md 模板的完整结构

该模板文件本身是一份"访谈脚手架":模块头部声明框架与目标,## Raw 区存放访谈中逐字记录的原始答案,## Synthesis 区承载 Agent 的解读与候选产出。下面逐段继承原文档内容。

模块头部:三大框架与目标

原文档头部声明了三个方法论支柱:

Frameworks: Dunford Obviously Awesome · Moore crossing-the-chasm template · Jobs-to-be-done lens

  • Dunford(Obviously Awesome:定位声明的经典句式模板,下文 Synthesis 区的 "For ... is the ... that ..." 结构即来源于此;
  • Moore 穿越鸿沟模板:强调跨越从早期采用者到主流市场的"鸿沟",要求定位清晰到能直接指导上市信息;
  • Jobs-to-be-done 视角:以"客户雇佣这个品牌完成什么任务"来定义目标客户与价值。

目标(Goal)原文为:

Define the brand's competitive frame — who it's for, what category it competes in, what it does uniquely, and why that matters to the target client. Output is the raw material for a positioning statement the brand can act on.

即:确定品牌面向谁、处于什么竞争类别、独特之处是什么、以及为什么这对目标客户重要。模块产出的是"可直接执行的定位声明的原材料",而非一句孤立的口号。

Raw 区:六组访谈问题(完整清单)

Raw 区的注释要求"逐字引用、记录原话"(<!-- Verbatim quotes and examples. Record exact language. -->),并包含 6 个以 ### 标题组织的追问主题。这 6 个问题构成 Positioning 模块的完整提问骨架:

  1. Who is the target client? (role, company type, situation) 目标客户是谁——角色、公司类型、所处情境。注意它同时追问情境(situation),与 JTBD 框架呼应。
  2. What category does the brand compete in? (how clients currently solve this problem) 品牌身处什么类别——即客户当前靠什么方式解决这个问题。这是 Dunford 方法论的关键:类别定义决定了客户用来比较的参照系。
  3. What makes the brand different from alternatives in that category? 与同类别替代方案相比,品牌独特在哪。
  4. What does the target client care about most? (the value they get that others can't match) 目标客户最看重什么——他们获得的、他人无法匹配的价值。
  5. Competitive alternatives named by the founder (include "do nothing" / "hire in-house") 创始人亲自点名的竞争替代方案——模板特别要求把"什么都不做"和"自建团队"也纳入竞争集合。从结构看,这意味着定位必须能赢过"不购买"这个默认选项,而不仅是赢过显性竞品。
  6. Phrases or metaphors the founder uses naturally to describe what they do 创始人描述自己业务时自然使用的措辞与隐喻。这类"原生语言"是后续 Module 50(Voice & Tone)与 Module 90 品牌书的重要语料来源。

Synthesis 区:五类输出与 Dunford 定位声明模板

Synthesis 区规定了模块收尾时必须给出的五类结构化产出:

1. Positioning statement draft(Dunford 模板)——原文档给出的完整句式:

For [target client] who [situation / JTBD], [brand name] is the [category] that [unique value]. Unlike [alternatives], we [key differentiator].

五个空位与 Raw 区的六个问题一一咬合:target client 与 situation 来自问题 1,category 来自问题 2,unique value 与 key differentiator 来自问题 3、4,alternatives 来自问题 5。这种"问题区与模板区严格对位"的设计,保证访谈结束时定位声明的每个空位都有原文依据可查。

2. Alternative framings(备选框架)——原文档要求"vary the category or the differentiator":换类别定义或换差异点,生成至少两种不同的定位表述供创始人选择,避免锁定在单一叙事上。

3. White-space hypothesis(空白地带假设)——找出"没有任何竞争者占据、而该品牌可以占有的说法",这是 Dunford 方法论中"own the white space"的直接落地。

4. Open questions / ambiguities——记录本轮未解的模糊点,供后续会话继续追问。

5. Tensions with Module 10 Why——显式标记定位声明与 Module 10 挖出的核心信念之间的矛盾,"flag any contradictions for Module 90 reconciliation",即交给最终模块做全局调和。这一点在 90_SYNTHESIS.md 中有对应的承接结构:其第 8 节"Tensions resolved"是一张 Tension | Module A | Module B | Resolution 的表格,专门记录并裁决模块间冲突。

模块执行协议:访谈纪律与状态落盘

模板文件只是骨架,真正让它在 Agent 会话中可运行的是 SKILL.md 定义的访谈纪律与状态协议,Positioning 模块同样适用。

访谈纪律(8 条,全模块通用):

  1. 一次只问一个问题,绝不列问题清单——清单式提问只会得到清单式回答;
  2. 每个回答之后:先简短复述(paraphrase),再做一个深挖追问,或在该主题已饱和时收尾,不允许静默跳走;
  3. Laddering(梯次追问):对每个"what"类回答,追问"为什么这对你重要?"直到浮现核心价值观,通常 2–4 轮;
  4. 5 Whys:对信念类或定位类断言,追到根本原因,而非停留在表面声明;
  5. 识别薄回答:答案空泛、术语堆砌或模糊时,索要一个具体例子、客户故事或数字;
  6. 投射技术(每个模块用一次以打破平台期),三个固定话术:
    • "如果品牌是一个人,他会怎样走进房间?"
    • 品牌讣告:"如果组织五年后关门,客户会想念什么?你会遗憾没说过什么?"
    • 竞争对照:"说一个你欣赏但绝不想成为的同业。具体是什么让他们成为错误的榜样?"
  7. 饱和信号:连续两个追问没有产生新信息时,总结并关闭模块;
  8. 模块收尾:写入含 ## Raw(逐字引用与实例)和 ## Synthesis(解读、三个候选表述、未解问题、参与者间矛盾)的结构化模块文件,随后更新 state.json 检查点。

对 Positioning 模块而言,第 6 条的"竞争对照"投射问题与 Raw 区问题 5(创始人点名的替代方案)天然衔接;第 7 条的饱和判据则直接决定何时允许把 Dunford 模板的空位填完。

会话启动协议:每次激活先检查品牌身份目录中是否已有模块文件与 state.json 检查点;若存在,读取当前模块文件的 Raw 区扫描已捕获答案,然后用两三句话向用户汇报"当前在哪个模块、什么状态、还剩什么",并询问"在此继续,还是切换模块?"

状态写协议:模块达到饱和后写两个文件——模块文件(完整 Raw + Synthesis)和 state.json 检查点,其 schema 为:

{
  "session": "{brand_name}-brand-{YYYY-MM}",
  "outputPath": "{path_to_brand_identity_directory}",
  "completedModules": [],
  "inProgressModule": "10_purpose-why.md",
  "nextModule": "20_positioning.md",
  "participants": ["founder-A"],
  "lastUpdated": "{ISO-8601}"
}

写入后必须向用户确认:"Module X saved. State updated. Next: Y." 在 schema 示例中,inProgressModule10_purpose-why.mdnextModule 恰好是 20_positioning.md——即 Purpose 模块完成后的下一站就是本文的 Positioning 模块。

多创始人模式:多位创始人参与时,各自答案写入 founders/{participant}.md 而非主模块文件,且有三重路径安全校验:participant 名只接受字母数字与连字符(拒绝 /\.. 等特殊字符);moduleFile 必须对照模块序列枚举值(仅 10 至 90);outputPath 必须是项目目录内的绝对路径,拒绝相对路径与 .. 逃逸。所有创始人完成同一模块后执行 reconciliation pass:在模块文件中汇总收敛点与分歧点,把"有生产力的张力"标记给团队对齐工作坊。

模块协作链:从 Why 到 Brandbook 的交接点

Positioning 模块不是孤岛,它在三个方向上有明确的输入输出契约:

  • 上游(Module 10 → 20)10_purpose-why.md 的 Synthesis 区最后一节即 "How does this Why constrain or enable positioning? (bridge to Module 20)",显式搭桥;反过来,20 模块的"Tensions with Module 10 Why"负责回写矛盾。定位声明若与核心信念冲突,必须留痕而非静默取舍。
  • 下游(20 → 30)30_audience-niche.md 的 ICP 表格(Role、触发情境、主要痛点、期望结果、预算信号、红旗信号等维度)要求把"定位里说的目标客户"具体化到"可以指导写文案或投放的具体的人",其 Synthesis 区末节同样是"Open questions / threads for Module 20 positioning reconciliation",形成双向对账。
  • 终点(20 → 90)90_SYNTHESIS.md 第 2 节"Positioning (from Module 20)"原样复用 Dunford 句式(For [target client] who [situation]... 并增加 "White-space the brand owns" 空位),再与 Why、Audience、Kapferer 棱镜、Aaker 系统、Voice & Tone、叙事资产、创始人/组织品牌边界合并为品牌书,最终由第 8 节冲突表和"3–5 条具体行动"收尾。

在 ECC 中安装与调用

从仓库结构看,该技能在 ECC 中有两处镜像:完整技能目录 skills/brand-discovery/(含 SKILL.mdreferences/ 下 8 份模块模板),以及 .agents/skills/brand-discovery/ 下的同一套文件,后者额外携带一份 Agent 接口描述 agents/openai.yaml(display_name "Brand Discovery"、短描述 "Adaptive multi-session brand identity interviews"、默认提示词 Use $brand-discovery to run a structured brand identity interview.,并允许隐式调用)。

安装层面,manifests/install-modules.jsonskills/brand-discovery 编入 business-content 模块("Business, writing, market, and investor communication skills"),与 article-writingmarket-researchcompetitive-platform-analysismarketing-campaign 等同组,面向 claude、cursor 等多个目标平台;根目录 package.json 的打包清单中同样收录了 skills/brand-discovery/。选定 business-content 模块安装后,即可在支持 Agent Skills 的 CLI 中以 $brand-discovery 方式激活该技能。

技能主文件还声明了两个衔接技能:完成定位 brief 后可接 competitive-platform-analysis 来圈定与分类竞争者集合(恰好消费 Positioning 模块产出的"竞争替代方案"清单);若 Voice & Tone 模块需要一份基于素材来源的独立写作风格画像,则转交 brand-voice 技能。

反模式与实操自检

技能主文件列出的 5 条反模式中,与 Positioning 模块直接相关的有三条:

  • 不读状态就开问——每次会话必须先检查已有模块文件与 state.json,跳过即丢失全部连续性;
  • 一次问多个问题——"one question at a time" 不可协商;
  • 饱和前就进 Synthesis——若最后两个追问还有新信息,模块就没做完,Dunford 模板的空位也不该提前硬填。

实操上,一个合格的 Positioning 模块交付物应满足:Raw 区 6 个问题各有逐字答案(至少含一个具体例子或数字,回应"薄回答"检测);Synthesis 区给出主定位声明 + 至少两种换类别/换差异点的备选框架 + 一条空白地带假设 + 与 Module 10 的矛盾清单;state.jsoncompletedModules 已含 20_positioning.mdnextModule 指向 30_audience-niche.md。对照这份清单,即可验证一次定位访谈是否真正"可执行",而不只是聊得愉快。

登录后查看全文
热门项目推荐
相关项目推荐