meeting-prep

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Meeting Prep

会议准备

Research-powered meeting preparation with attendee intelligence and company context.
User request: $ARGUMENTS
Before running any commands, read
references/nimble-playbook.md
for Claude Code constraints (no shell state, no
&
/
wait
, sub-agent permissions, communication style).

基于调研的会议准备,提供参会者情报与公司背景信息。
用户请求:$ARGUMENTS
在运行任何命令之前,请阅读
references/nimble-playbook.md
了解Claude Code的限制(无shell状态、禁止使用
&
/
wait
、子代理权限、沟通风格)。

Instructions

操作说明

Step 0: Preflight

步骤0:预检

Run the preflight pattern from
references/nimble-playbook.md
(5 simultaneous Bash calls: date calc, today, CLI check, profile load, index.md load).
From the results:
  • CLI missing or API key unset →
    references/profile-and-onboarding.md
    , stop
  • Profile exists → read
    ~/.nimble/memory/people/index.md
    to identify existing person profiles. Load relevant
    ~/.nimble/memory/people/
    files for attendees before — skip redundant searches, surface prior meeting notes. Follow
    [[path/entity]]
    cross-references in person files: if an attendee's file links to
    [[competitors/widgetco]]
    , load that competitor file for richer context (e.g., recent intel from competitor-intel runs). Also check
    ~/.nimble/memory/companies/
    for cached company research. No same-day report check — meeting-prep is per-meeting, not per-day. Users may prep for multiple meetings in one day. Instead, check entity freshness: if a person/company profile was updated within the last 24 hours, offer to reuse it: "I have a recent profile for [Name] from earlier today. Use it, or refresh?"
  • No profile → that's fine. Meeting prep doesn't require onboarding. Proceed to Step 1.
执行
references/nimble-playbook.md
中的预检流程(5个同时执行的Bash调用:日期计算、今日日期、CLI检查、配置文件加载、index.md加载)。
根据结果:
  • CLI缺失或API密钥未设置 → 参考
    references/profile-and-onboarding.md
    ,停止操作
  • 配置文件已存在 → 读取
    ~/.nimble/memory/people/index.md
    识别已有的人员配置文件。提前加载参会者对应的
    ~/.nimble/memory/people/
    文件 — 跳过重复搜索,展示过往会议记录。遵循人员文件中的
    [[path/entity]]
    交叉引用:如果参会者的文件链接到
    [[competitors/widgetco]]
    ,加载该竞品文件以获取更丰富的背景信息(例如,来自competitor-intel运行的最新情报)。同时检查
    ~/.nimble/memory/companies/
    中的缓存公司调研数据。 无需检查当日报告 — 会议准备是按会议进行的,而非按天。用户可能在一天内准备多个会议。相反,检查实体数据的时效性:如果人员/公司配置文件在过去24小时内更新过,询问用户是否复用:“我有一份今天早些时候生成的**[姓名]**的最新配置文件。是否复用,还是重新刷新?”
  • 无配置文件 → 无需担心。会议准备无需完成入职流程。继续执行步骤1。

Step 1: Gather Meeting Context

步骤1:收集会议背景信息

Parse the meeting details from
$ARGUMENTS
or ask the user.
Calendar shortcut: If the user didn't specify attendees and a calendar connector is available — either a calendar MCP tool (look for
list_events
in the tool list) or the
gws
CLI (
gws calendar +agenda --today
) — offer to pull today's meetings so they can pick one. If neither is available, skip this silently.
If clear (e.g., "prep me for my meeting with Alex Kim at WidgetCo tomorrow"):
  • Extract: attendee name(s), company, meeting date/time (if given)
  • Confirm briefly: "Preparing briefing for your meeting with Alex Kim at WidgetCo..."
If partial (e.g., "prep me for my meeting tomorrow"):
  • Ask one clarifying question in plain text:
    "Who are you meeting with? (names, titles, and company if you have them)"
If just a person (e.g., "research John Smith"):
  • Proceed with the person. Try to infer their company from search results.
Extract these fields:
FieldRequiredSource
Attendee name(s)YesUser input or calendar event
CompanyPreferredUser input or inferred from search
Attendee title(s)OptionalUser input or discovered in Step 2
Meeting typeRequiredUser input, inferred, or asked (discovery, demo, check-in, interview, partnership, internal)
Meeting date/timeOptionalUser input
Additional contextOptionalUser notes ("they're evaluating our product", "board member intro")
Meeting type detection — if the user doesn't specify, infer from context clues:
SignalInferred type
"prospect", "demo", "sales call"Sales / discovery
"interview", "candidate"Interview
"board", "investor"Board / investor
"partner", "integration"Partnership
"check-in", "sync", "1:1" with colleagueInternal
No signalAsk (see below)
If no signal — don't guess "general external." The meeting type gates whether the Value Positioning section is generated, so it's worth one question. Use AskUserQuestion:
What's the goal of this meeting?
  • Sales / discovery — pitching, demo, exploring fit
  • Partnership — integration, co-selling, joint venture
  • Board / investor — board meeting, investor update, fundraising
  • Interview — evaluating a candidate
  • General / other — networking, catch-up, or not sure
Map the answer to the meeting type. If the user picks "General / other", treat as general external (no value positioning section).
The meeting type shapes the briefing focus — specifically, it determines whether the Value Positioning section (Step 4.5 + Step 6) is generated. Value positioning activates for: sales/discovery, partnership, board/investor. It is skipped for: interview, internal, general external.
$ARGUMENTS
中解析会议详情,或向用户询问。
**日历快捷方式:**如果用户未指定参会者且日历连接器可用 — 无论是日历MCP工具(在工具列表中查找
list_events
)还是
gws
CLI(
gws calendar +agenda --today
) — 主动提供拉取今日会议列表供用户选择。如果两者都不可用,则静默跳过此步骤。
信息明确时(例如:“帮我准备明天和WidgetCo的Alex Kim的会议”):
  • 提取:参会者姓名、公司、会议日期/时间(如果提供)
  • 简要确认:“正在为您准备与WidgetCo的Alex Kim的会议简报...”
信息不全时(例如:“帮我准备明天的会议”):
  • 用简洁的文本提出一个澄清问题:
    “您要见的是谁?(请提供姓名、职位和公司信息,如果有的话)”
仅指定人员时(例如:“研究John Smith”):
  • 直接针对该人员进行调研。尝试从搜索结果中推断其所属公司。
提取以下字段:
字段是否必填来源
参会者姓名用户输入或日历事件
公司推荐提供用户输入或从搜索结果推断
参会者职位可选用户输入或在步骤2中发现
会议类型用户输入、推断或询问(发现、演示、跟进、面试、合作、内部会议)
会议日期/时间可选用户输入
额外背景可选用户备注(例如“他们正在评估我们的产品”、“董事会成员介绍”)
会议类型检测 — 如果用户未指定,根据上下文线索推断:
信号推断类型
"潜在客户"、"演示"、"销售通话"销售 / 需求发现
"面试"、"候选人"面试
"董事会"、"投资者"董事会 / 投资者会议
"合作伙伴"、"集成"合作会议
"跟进"、"同步"、与同事的"一对一"内部会议
无信号询问(见下文)
无信号时 — 不要猜测为“一般外部会议”。会议类型决定是否生成价值定位部分,因此值得询问一次。使用AskUserQuestion:
本次会议的目标是什么?
  • 销售 / 需求发现 — 推介、演示、探索适配性
  • 合作 — 集成、联合销售、合资
  • 董事会 / 投资者 — 董事会会议、投资者更新、融资
  • 面试 — 评估候选人
  • 通用 / 其他 — 社交、闲聊或不确定
将用户的回答映射到会议类型。如果用户选择“通用 / 其他”,则视为一般外部会议(不生成价值定位部分)。
会议类型决定简报的重点 — 具体来说,它决定是否生成价值定位部分(步骤4.5 + 步骤6)。价值定位在以下会议类型中激活:销售/需求发现、合作、董事会/投资者。在以下类型中跳过:面试、内部会议、一般外部会议

Step 2: WSA Discovery

步骤2:WSA发现

Discover available WSAs for each attendee's company domain:
bash
nimble agent list --search "{company-domain}" --limit 20
Run one search per unique company simultaneously. Filter for SERP/PDP WSAs, prefer
managed_by: "nimble"
, validate with
nimble agent get --template-name {name}
. Cache discovered names + params. Pass them to attendee agents in Step 3 for richer data. If no WSAs found, continue with
nimble search
alone.
为每个参会者的公司域名发现可用的WSA:
bash
nimble agent list --search "{company-domain}" --limit 20
为每个独特公司同时运行一次搜索。筛选SERP/PDP类型的WSA,优先选择
managed_by: "nimble"
的WSA,通过
nimble agent get --template-name {name}
验证。缓存发现的名称和参数。将它们传递给步骤3中的参会者代理以获取更丰富的数据。如果未找到WSA,仅使用
nimble search
继续。

Step 3: Per-Attendee Research (sub-agents)

步骤3:参会者调研(子代理)

Read
references/attendee-agent-prompt.md
for the full agent prompt template. Follow the sub-agent spawning rules from
references/nimble-playbook.md
(bypassPermissions, batch max 4, explicit Bash instruction, fallback on failure).
Check memory first. For each attendee, check
~/.nimble/memory/people/[name-slug].md
. If a profile exists and is < 30 days old, load it as known context and pass it to the agent so it focuses on what's new. If > 30 days old, run a full refresh.
Spawn
nimble-researcher
agents (
agents/nimble-researcher.md
) with
mode: "bypassPermissions"
. One agent per attendee. Pass discovered WSA names from Step 2 to each agent for enrichment.
Important: The Nimble API has a 10 req/sec rate limit per API key. With each agent running 4-5 searches, limit concurrent agents to 2 per batch. For 3+ attendees, batch in groups of 2.
Call estimation & Scaled Execution: Before launching agents, estimate total API calls: ~5 searches per attendee + ~4 company searches + 3-5 extractions = ~(5 × N) + 9 calls. For 3+ attendees (15+ calls), tell agents to use
extract-batch
for page extractions instead of individual calls. See the Scaled Execution pattern in
references/nimble-playbook.md
for tier selection.
Batch 1 (2 agents simultaneously):
  • Attendee 1 research
  • Attendee 2 research
Batch 2 (if needed):
  • Attendee 3 research
  • Attendee 4 research
Single attendee optimization: If only one person, run the searches directly from the main context instead of spawning an agent — saves overhead.
Fallback: If any agent fails or returns empty, run those searches directly from the main context. Don't leave gaps in the briefing.
阅读
references/attendee-agent-prompt.md
获取完整的代理提示模板。遵循
references/nimble-playbook.md
中的子代理生成规则(bypassPermissions、批量最大4个、明确Bash指令、失败时回退)。
先检查内存。对于每个参会者,检查
~/.nimble/memory/people/[name-slug].md
。如果配置文件存在且更新时间少于30天,将其作为已知上下文加载并传递给代理,使其专注于新信息。如果更新时间超过30天,则进行全面刷新。
生成
nimble-researcher
代理(
agents/nimble-researcher.md
),设置
mode: "bypassPermissions"
。每个参会者对应一个代理。将步骤2中发现的WSA名称传递给每个代理以丰富数据。
**重要提示:**Nimble API每个API密钥的速率限制为10次请求/秒。每个代理运行4-5次搜索,因此将并发代理限制为每批2个。对于3个及以上参会者,按2个一组分批处理。
**调用估算与规模化执行:**在启动代理之前,估算总API调用次数:每个参会者约5次搜索 + 约4次公司搜索 + 3-5次提取 = ~(5 × N) + 9次调用。对于3个及以上参会者(15次以上调用),告知代理使用
extract-batch
进行页面提取,而非单独调用。请参阅
references/nimble-playbook.md
中的规模化执行模式选择层级。
批次1(同时运行2个代理):
  • 参会者1调研
  • 参会者2调研
批次2(如有需要):
  • 参会者3调研
  • 参会者4调研
**单参会者优化:**如果只有一个参会者,直接从主上下文运行搜索,无需生成代理 — 节省开销。
**回退方案:**如果任何代理失败或返回空结果,直接从主上下文运行这些搜索。简报中不要留下信息空白。

Step 3.5: Gap Check

步骤3.5:缺口检查

Before proceeding, verify every attendee has at least a title and company confirmed.
For any attendee with < 3 meaningful results or "Role Unknown":
  1. Run a
    --focus social
    fallback search directly (this searches social platform people indices and is the most reliable way to find someone):
    nimble search --query "[Name] [Company]" --focus social --max-results 5 --search-depth lite
  2. If
    --focus social
    is unavailable, fall back to:
    nimble search --query "[Name]" --include-domain '["linkedin.com"]' --max-results 5 --search-depth lite
  3. Try name variations: "[First] [Last]", "[Full Name] [Company] [Title if known]"
Do NOT present a briefing with "Role Unknown" — exhaust social search first. If still nothing after fallbacks, note it honestly: "Limited public presence — could not confirm role. Consider asking for their LinkedIn URL."
Also collect LinkedIn profile URLs for each attendee during this step if not already found. These are high-value for the final briefing output and Notion distribution.
在继续之前,验证每个参会者至少已确认职位和公司信息。
对于任何参会者如果有效结果少于3个或显示“职位未知”:
  1. 直接运行
    --focus social
    回退搜索(此搜索针对社交平台人员索引,是找到某人最可靠的方式):
    nimble search --query "[Name] [Company]" --focus social --max-results 5 --search-depth lite
  2. 如果
    --focus social
    不可用,回退到:
    nimble search --query "[Name]" --include-domain '["linkedin.com"]' --max-results 5 --search-depth lite
  3. 尝试姓名变体:“[名] [姓]”、“[全名] [公司] [已知职位]”
请勿呈现包含“职位未知”的简报 — 先穷尽社交搜索。如果回退后仍无结果,如实说明:“公开信息有限 — 无法确认职位。建议询问其LinkedIn链接。”
在此步骤中,还需收集每个参会者的LinkedIn个人资料URL(如果尚未找到)。这些信息对最终简报输出和Notion分发非常有价值。

Step 4: Company Research

步骤4:公司调研

Research the attendees' company for meeting-relevant context. This is a lighter version of company-deep-dive — focused on what's useful for the conversation, not a full 360°.
Company name quoting: If the company name contains common words that cause noisy results (e.g., "Acme Supply", "Nova Dynamics", "Global Industries"), wrap it in escaped quotes:
"\"Acme Supply\" news"
. Use
--include-domain '["[domain]"]'
as an alternative anchor.
Make these Bash calls simultaneously:
  • nimble search --query "\"[Company]\" news" --focus news --start-date "[14-days-ago]" --max-results 8 --search-depth lite
  • nimble search --query "\"[Company]\" product launch OR announcement" --focus news --start-date "[14-days-ago]" --max-results 5 --search-depth lite
  • nimble search --query "about" --include-domain '["[domain]"]' --max-results 3 --search-depth lite
  • nimble search --query "\"[Company]\" funding OR raised OR investors" --max-results 5 --search-depth lite
If your user's company profile exists, also run:
  • nimble search --query "[Company] [UserCompany] OR [user-domain]" --max-results 5 --search-depth lite
This catches any existing relationship between the two companies — prior partnerships, mentions, shared investors, or competitive overlap.
If < 3 results from the news searches, retry without
--start-date
.
Date validation: When including company news in the briefing, verify that the event date (when something actually happened) is recent, not just the article date. See
references/nimble-playbook.md
→ "Signal Date Validation" for details. If a snippet uses past-tense language like "last year" or "back in Q3", treat it as background context rather than recent news.
If the company was already researched (exists in
~/.nimble/memory/companies/
), load the existing profile and only run the news search for fresh updates.
针对参会者所在公司进行与会议相关的背景调研。这是company-deep-dive的简化版本 — 专注于对对话有用的信息,而非全面的360°分析。
**公司名称引用:**如果公司名称包含导致搜索结果杂乱的常见词汇(例如“Acme Supply”、“Nova Dynamics”、“Global Industries”),请将其用转义引号包裹:
"\"Acme Supply\" news"
。也可以使用
--include-domain '["[domain]"]'
作为替代锚点。
同时执行以下Bash调用:
  • nimble search --query "\"[Company]\" news" --focus news --start-date "[14-days-ago]" --max-results 8 --search-depth lite
  • nimble search --query "\"[Company]\" product launch OR announcement" --focus news --start-date "[14-days-ago]" --max-results 5 --search-depth lite
  • nimble search --query "about" --include-domain '["[domain]"]' --max-results 3 --search-depth lite
  • nimble search --query "\"[Company]\" funding OR raised OR investors" --max-results 5 --search-depth lite
如果用户的公司配置文件已存在,还需运行:
  • nimble search --query "[Company] [UserCompany] OR [user-domain]" --max-results 5 --search-depth lite
这可以捕捉两家公司之间的任何现有关系 — 过往合作、提及、共同投资者或竞争重叠。
如果新闻搜索结果少于3个,移除
--start-date
重试。
日期验证:在简报中包含公司新闻时,验证事件日期(实际发生时间)是否近期,而非仅文章发布日期。请参阅
references/nimble-playbook.md
→ “信号日期验证”了解详情。如果片段使用“去年”或“第三季度”等过去时态语言,则将其视为背景信息而非近期新闻。
如果公司已被调研过(存在于
~/.nimble/memory/companies/
中),加载现有配置文件,仅运行新闻搜索获取最新更新。

Step 4.5: Value Positioning Research

步骤4.5:价值定位调研

Skip this step if the meeting type is interview, internal, or general external.
This step cross-references what you learned about the attendee's company (Step 4) with the user's own business profile to find concrete positioning angles. It works best when
business-profile.json
exists with at least
company.name
and
company.domain
.
If no profile exists, skip searches that reference the user's company or competitors (searches 2, 4, 5) and rely on generic research (searches 1, 3) for positioning insights. Use any WSAs discovered in Step 2 for richer attendee company data. The Value Positioning section will be thinner but still useful — pain-to-solution mapping and tech stack discovery work without a profile.
Load the user's sales context from
~/.nimble/business-profile.json
:
  • sales_context.key_differentiators
    — what makes the user's product unique
  • sales_context.integration_partners
    — tools the user's product connects with
  • sales_context.case_studies
    — similar customers and outcomes
  • sales_context.common_objections
    — pre-built objection responses
  • competitors
    — tracked competitors (check if the attendee's company uses any)
If
sales_context
doesn't exist in the profile, the skill still works — the value positioning section will rely on web research alone rather than profile-enriched data. Mention at the end: "Tip: Add sales context to your profile for richer positioning next time."
Make these Bash calls simultaneously (3-5 searches depending on available data):
  1. nimble search --query "\"[AttendeeCompany]\" tech stack OR tools OR platform OR uses" --max-results 5 --search-depth lite
    → Discover what tools/platforms they use — match against
    integration_partners
  2. nimble search --query "\"[AttendeeCompany]\" [UserCompany] OR [user-domain]" --max-results 5 --search-depth lite
    → Any existing relationship, mentions, or competitive overlap (skip if already run in Step 3)
  3. nimble search --query "\"[AttendeeCompany]\" challenges OR pain points OR struggling OR migrating" --max-results 5 --search-depth lite
    → Pain signals to map against user's value props
  4. (If
    competitors
    list exists)
    nimble search --query "\"[AttendeeCompany]\" [CompetitorName1] OR [CompetitorName2]" --max-results 5 --search-depth lite
    → Check if they use a competitor — critical for displacement positioning
  5. (If
    case_studies
    exist with matching industry)
    nimble search --query "[UserCompany] [attendee-industry] case study OR customer story" --max-results 5 --search-depth lite
    → Find published case studies in the attendee's industry to reference
From the results, extract:
  • Tools/platforms they use (for integration hooks)
  • Pain signals or challenges (for value mapping)
  • Competitor usage (for displacement angles)
  • Industry match to existing case studies (for social proof)
This data feeds directly into the Value Positioning section in Step 5.
如果会议类型为面试、内部会议或一般外部会议,跳过此步骤。
此步骤将步骤4中了解到的参会者公司信息与用户自身的业务配置文件交叉引用,找到具体的定位角度。当
business-profile.json
至少包含
company.name
company.domain
时,此步骤效果最佳。
如果无配置文件,跳过涉及用户公司或竞品的搜索(搜索2、4、5),依赖通用调研(搜索1、3)获取定位见解。使用步骤2中发现的任何WSA获取更丰富的参会者公司数据。价值定位部分会相对简略但仍有用 — 痛点-解决方案映射和技术栈发现无需配置文件即可工作。
~/.nimble/business-profile.json
加载用户的销售背景:
  • sales_context.key_differentiators
    — 用户产品的独特之处
  • sales_context.integration_partners
    — 用户产品可集成的工具
  • sales_context.case_studies
    — 类似客户及成果
  • sales_context.common_objections
    — 预设的异议回复
  • competitors
    — 跟踪的竞品(检查参会者公司是否使用任何竞品)
如果配置文件中不存在
sales_context
,技能仍可工作 — 价值定位部分将仅依赖网络调研,而非配置文件丰富的数据。在末尾提示:“提示:下次添加销售背景到您的配置文件中,可获取更丰富的定位内容。”
同时执行以下Bash调用(根据可用数据进行3-5次搜索):
  1. nimble search --query "\"[AttendeeCompany]\" tech stack OR tools OR platform OR uses" --max-results 5 --search-depth lite
    → 发现他们使用的工具/平台 — 与
    integration_partners
    匹配
  2. nimble search --query "\"[AttendeeCompany]\" [UserCompany] OR [user-domain]" --max-results 5 --search-depth lite
    → 任何现有关系、提及或竞争重叠(如果步骤3中已运行则跳过)
  3. nimble search --query "\"[AttendeeCompany]\" challenges OR pain points OR struggling OR migrating" --max-results 5 --search-depth lite
    → 痛点信号,用于匹配用户的价值主张
4.(如果存在
competitors
列表)
nimble search --query "\"[AttendeeCompany]\" [CompetitorName1] OR [CompetitorName2]" --max-results 5 --search-depth lite
→ 检查他们是否使用竞品 — 这是替代定位的关键
5.(如果存在匹配行业的
case_studies
nimble search --query "[UserCompany] [attendee-industry] case study OR customer story" --max-results 5 --search-depth lite
→ 查找参会者行业已发布的案例研究以供参考
从结果中提取:
  • 他们使用的工具/平台(用于集成切入点)
  • 痛点信号或挑战(用于价值映射)
  • 竞品使用情况(用于替代定位角度)
  • 与现有案例研究的行业匹配(用于社交证明)
这些数据直接用于步骤5中的价值定位部分。

Step 5: Deep Extraction

步骤5:深度提取

From Steps 3-4.5, identify the top 3-5 most informative URLs across all results. Prioritize:
  • Attendee's own LinkedIn posts, articles, or talks
  • Recent company announcements directly relevant to the meeting
  • Interviews or profiles of the attendee
  • The company's about/team page (if attendee title wasn't found)
  • (If value positioning active) Pages revealing their tech stack or tool usage
  • (If value positioning active) Articles about their challenges or migration plans
Make one Bash call per URL, all simultaneously:
nimble extract --url "https://..." --format markdown
For extraction failures, follow the fallback in
references/nimble-playbook.md
.
Single attendee + known company: Skip company extraction, focus on person URLs. Multiple attendees: Prioritize person-specific URLs over company-level ones.
从步骤3-4.5中,确定所有结果中最具信息量的3-5个URL。优先选择:
  • 参会者自己的LinkedIn帖子、文章或演讲
  • 与会议直接相关的近期公司公告
  • 参会者的采访或简介
  • 公司的关于/团队页面(如果未找到参会者职位) -(如果价值定位已激活)揭示其技术栈或工具使用情况的页面 -(如果价值定位已激活)关于其挑战或迁移计划的文章
为每个URL执行一次Bash调用,所有调用同时进行:
nimble extract --url "https://..." --format markdown
如果提取失败,请遵循
references/nimble-playbook.md
中的回退方案。
**单参会者+已知公司:**跳过公司提取,专注于个人URL。 **多参会者:**优先选择个人特定URL而非公司级URL。

Step 6: Synthesize Briefing

步骤6:合成简报

Structure the output as a meeting prep briefing. Adapt focus based on meeting type.
undefined
将输出整理为会议准备简报。根据会议类型调整重点。
undefined

Meeting Prep: [Company Name]

会议准备:[公司名称]

[Meeting date/time if known] | Prepared [today's date]
[会议日期/时间(如有) | 生成日期:今日]

Quick Take

快速摘要

[2-3 sentences: who you're meeting, why it matters, and the one thing to know going in. This is the "read nothing else" paragraph.]
[2-3句话:您要见的人、会议重要性、以及需要提前了解的核心信息。这是“无需阅读其他内容”的段落。]

Attendees

参会者

[Name] — [Title]

[姓名] — [职位]

Background: [Current role, time in position, career trajectory highlights] Recent Activity: [What they've been posting, speaking about, or working on. Direct quotes from posts/talks when available.] Conversation hooks: [2-3 specific things to reference — shared connections, their recent project, a post they wrote, a talk they gave] Notes from prior meetings: [If exists in memory — what was discussed, their preferences, open items. "No prior meetings on file" if none.]
[Repeat for each attendee]
背景:[当前职位、任职时长、职业轨迹亮点] 近期活动:[他们发布的内容、演讲主题或正在开展的工作。尽可能引用帖子/演讲中的直接引语。] 谈话切入点:[2-3个具体可提及的内容 — 共同联系人、他们近期的项目、他们撰写的帖子、他们的演讲] 过往会议记录:[如果内存中有记录 — 讨论过的内容、他们的偏好、未完成事项。如果没有则显示“无过往会议记录”。]
[为每个参会者重复上述内容]

Relationship Map

关联关系图

[Cross-attendee connections — shared employers, mutual connections, overlapping interests, organizational dynamics between attendees. Skip if single attendee.]
[参会者之间的关联 — 共同雇主、共同联系人、重叠兴趣、参会者之间的组织动态。单参会者时跳过此部分。]

Company Context

公司背景

  • What they do: [One line]
  • Size / Stage: [Employees, funding stage, HQ]
  • Recent news: [Top 2-3 items, dated with source]
  • Relevant to your meeting: [How their company context connects to your discussion — e.g., recent product launch you might discuss, funding that signals growth, leadership change affecting priorities]
  • 业务范围:[一句话描述]
  • 规模/阶段:[员工数量、融资阶段、总部地点]
  • 近期新闻:[Top 2-3条,标注日期和来源]
  • 与本次会议的关联:[公司背景如何与您的讨论相关 — 例如,近期产品发布可能会在会议中讨论,融资信号表明增长,领导层变动影响优先级]

Value Positioning

价值定位

[Only for sales/discovery, partnership, and board/investor meetings. Omit entirely for interview, internal, and general external meetings.]
[仅适用于销售/需求发现、合作、董事会/投资者会议。面试、内部会议和一般外部会议完全省略此部分。]

Value Mapping

价值映射

[Match their specific needs/pain points to your capabilities. Every mapping must be grounded in research from Step 4.5, not generic claims. Format: "They [specific finding with source] → Your product [specific capability]"]
[将他们的具体需求/痛点与您的能力匹配。每个映射必须基于步骤4.5的调研结果,而非通用声明。 格式:“他们[带来源的具体发现] → 您的产品[具体能力]”]

Integration Hooks

集成切入点

[Tools/platforms they use that your product integrates with. Only include integrations confirmed from research (their tech stack) AND your profile (integration_partners). If no overlap found, say so honestly.]
[他们使用的、且您的产品可集成的工具/平台。仅包含经调研确认的集成(他们的技术栈)和您配置文件中的集成伙伴(integration_partners)。如果没有重叠,如实说明。]

Recommended Positioning

推荐定位

[2-3 sentences on how to frame your pitch for THIS specific company and person. Consider: their company stage, recent news, the attendee's role and priorities, and any competitive displacement opportunity. This is the "elevator pitch calibrated to this meeting" paragraph.]
[2-3句话说明如何针对这家特定公司和个人进行推介。考虑:公司阶段、近期新闻、参会者的角色和优先级、以及任何竞品替代机会。这是“针对本次会议量身定制的电梯推介”段落。]

Reference Customers

参考客户

[Similar companies from your case_studies that match their industry, size, or use case. Include the outcome/metric if available. If no matching case studies, omit this subsection rather than forcing a weak match.]
[来自您案例研究中的类似公司,匹配他们的行业、规模或用例。如果有可用结果/指标,请包含在内。如果没有匹配的案例研究,省略此小节,不要强行匹配。]

Talking Points

谈话要点

[3-5 specific, actionable conversation starters grounded in the research. Not generic "ask about their priorities" — specific: "Ask about their migration from [old tool] to [new tool] that they announced last month." When value positioning is active, weave 1-2 positioning angles into the talking points naturally — don't make every talking point a sales pitch.]
[3-5个基于调研的具体、可操作的谈话开场。不要使用通用的“询问他们的优先级”,要具体:“询问他们上个月宣布的从[旧工具]迁移到[新工具]的进展。”当价值定位激活时,自然地将1-2个定位角度融入谈话要点 — 不要让每个谈话要点都变成销售推介。]

Watch Out For

需要注意

[1-3 things to be aware of — sensitive topics (recent layoffs, bad press), potential awkward overlaps, information gaps you couldn't fill.]
[1-3个需要留意的事项 — 敏感话题(近期裁员、负面新闻)、潜在尴尬重叠、无法填补的信息缺口。]

Sources

来源

[Numbered list of key URLs cited in the briefing]

**Meeting type adaptations:**

| Type | Emphasis | Add to briefing | Value Positioning |
|------|----------|-----------------|-------------------|
| Sales / discovery | Buyer authority, pain signals, competitive stack | "Qualification signals" section | **Yes** — full section |
| Partnership | Mutual benefit signals, integration opportunities | "Alignment opportunities" section | **Yes** — focus on integration hooks |
| Board / investor | Financial context, market position, portfolio overlap | "Key metrics to reference" section | **Yes** — focus on recommended positioning |
| Interview | Candidate's work history depth, cultural signals | "Assessment angles" section | No |
| Internal | Skip company research, focus on person's recent work | Lighter format, no company section | No |
| General external | Balanced across all dimensions | Standard format above | No |

**Core rules:**
- Every factual claim about an external company or person must have a source URL.
  Data drawn from the user's own business profile (differentiators, integrations,
  case studies) should be attributed to the profile rather than requiring an
  external source.
- Lead with the Quick Take — most readers stop there.
- Talking points must be specific to THIS meeting, grounded in research findings.
  Never generate generic conversation starters.
- Say "no public information found" for a person rather than speculating about their
  role or background.
- If memory has prior meeting notes, surface open items and continuity points
  prominently — this is the highest-value content.
- Value Positioning claims must be grounded in research from Step 4.5. Never
  generate generic positioning advice like "highlight your product's strengths."
  Every value mapping must reference a specific finding about the attendee's
  company paired with a specific capability from the user's profile or research.
- If `sales_context` is missing from the profile, note it once at the end of the
  Value Positioning section: "Tip: Edit your profile at
  `~/.nimble/business-profile.json` to add sales context (differentiators,
  integrations, case studies) for richer positioning next time."
[简报中引用的关键URL编号列表]

**会议类型适配:**

| 类型 | 重点 | 简报新增内容 | 价值定位 |
|------|----------|-----------------|-------------------|
| 销售 / 需求发现 | 买方决策权、痛点信号、竞品技术栈 | “资格认定信号”小节 | **是** — 完整章节 |
| 合作 | 互利信号、集成机会 | “对齐机会”小节 | **是** — 聚焦集成切入点 |
| 董事会 / 投资者 | 财务背景、市场地位、投资组合重叠 | “需参考的关键指标”小节 | **是** — 聚焦推荐定位 |
| 面试 | 候选人工作经历深度、文化信号 | “评估角度”小节 | 否 |
| 内部会议 | 跳过公司调研,聚焦个人近期工作 | 简化格式,无公司章节 | 否 |
| 一般外部会议 | 各维度均衡覆盖 | 上述标准格式 | 否 |

**核心规则:**
- 关于外部公司或个人的每一个事实声明都必须有来源URL。来自用户自身业务配置文件的数据(差异化优势、集成、案例研究)应归因于配置文件,而非需要外部来源。
- 以快速摘要开头 — 大多数读者只会读到这里。
- 谈话要点必须针对本次会议,基于调研结果。切勿生成通用的谈话开场。
- 如果找不到某人的公开信息,说明“无公开信息”,而非猜测其角色或背景。
- 如果内存中有过往会议记录,突出显示未完成事项和连续性要点 — 这是最有价值的内容。
- 价值定位声明必须基于步骤4.5的调研结果。切勿生成通用的定位建议,如“突出您产品的优势”。每个价值映射都必须引用参会者公司的具体发现和用户配置文件或调研中的具体能力。
- 如果配置文件中缺少`sales_context`,在价值定位部分末尾提示一次:“提示:编辑`~/.nimble/business-profile.json`配置文件,添加销售背景(差异化优势、集成、案例研究),下次可获取更丰富的定位内容。”

Step 7: Save to Memory

步骤7:保存到内存

Make all Write calls simultaneously:
  • Report →
    ~/.nimble/memory/reports/meeting-prep-[company-slug]-[date].md
  • Per attendee →
    ~/.nimble/memory/people/[name-slug].md
    (use the format in
    references/memory-and-distribution.md
    ). Add
    [[path/entity]]
    cross-references for the attendee's employer (e.g.,
    [[competitors/widgetco]]
    or
    [[companies/widgetco]]
    ) and any other discovered relationships.
  • Company profile → update
    ~/.nimble/memory/companies/[company-slug].md
    if new company data was found. Add reverse cross-references to the people researched (e.g.,
    [[people/alex-kim]]
    ).
  • Profile → update
    last_runs.meeting-prep
    in
    ~/.nimble/business-profile.json
    (only if profile exists)
  • Follow the wiki update pattern from
    references/memory-and-distribution.md
    : update
    index.md
    rows for all affected entity files, append a
    log.md
    entry for this run.
The person profile in
people/
should contain structured key facts (role, background, interests, communication style) that can be loaded by future meeting prep runs.
同时执行所有写入调用:
  • 报告 →
    ~/.nimble/memory/reports/meeting-prep-[company-slug]-[date].md
  • 每个参会者 →
    ~/.nimble/memory/people/[name-slug].md
    (使用
    references/memory-and-distribution.md
    中的格式)。为参会者的雇主添加
    [[path/entity]]
    交叉引用(例如
    [[competitors/widgetco]]
    [[companies/widgetco]]
    )以及任何其他发现的关联。
  • 公司配置文件 → 如果发现新的公司数据,更新
    ~/.nimble/memory/companies/[company-slug].md
    。添加指向调研人员的反向交叉引用(例如
    [[people/alex-kim]]
    )。
  • 配置文件 → 更新
    ~/.nimble/business-profile.json
    中的
    last_runs.meeting-prep
    (仅当配置文件存在时)
  • 遵循
    references/memory-and-distribution.md
    中的wiki更新模式:更新所有受影响实体文件的
    index.md
    行,在
    log.md
    中添加本次运行的条目。
people/
中的人员配置文件应包含结构化的关键信息(角色、背景、兴趣、沟通风格),可供未来的会议准备调用加载。

Step 8: Share & Distribute

步骤8:分享与分发

Always offer distribution — do not skip this step. Follow
references/memory-and-distribution.md
for connector detection, sharing flow, and source links enforcement.
**始终提供分发选项 — 请勿跳过此步骤。**遵循
references/memory-and-distribution.md
中的连接器检测、分享流程和来源链接强制要求。

Step 9: Follow-ups

步骤9:后续操作

  • Go deeper on an attendee → more focused person research
  • Add attendees → research additional people joining the meeting
  • "What about [topic]?" → targeted search on specific dimension
  • "Looks good" → done
  • Sibling skills:
    company-deep-dive
    for a full 360 on the company,
    competitor-intel
    to track them as a competitor,
    competitor-positioning
    to compare messaging before a sales meeting

  • 深入调研参会者 → 更聚焦的人员调研
  • 添加参会者 → 调研加入会议的其他人员
  • “关于[话题]的情况如何?” → 针对特定维度的定向搜索
  • “看起来不错” → 完成
  • 关联技能:
    company-deep-dive
    用于公司全面360°调研,
    competitor-intel
    用于跟踪竞品,
    competitor-positioning
    用于销售会议前对比竞品信息

Agent Teams Mode (Dual-Mode)

代理团队模式(双模式)

Check at startup:
echo $CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS
Team mode (flag set): Spawn teammates instead of sub-agents. Each teammate researches one attendee and can message the others when finding cross-connections.
TeammateFocusCross-checks with
Attendee 1 researcherFull person + company research for attendee 1All other teammates (shared employers, connections)
Attendee 2 researcherFull person + company research for attendee 2All other teammates
[Additional per attendee]......
How cross-attendee discovery works:
  1. Each teammate researches their assigned attendee independently
  2. When a teammate discovers a workplace, school, or connection that overlaps with another attendee, they send a message to that teammate: "My attendee [Name] worked at [Company] from 2019-2022 — did yours overlap?"
  3. The receiving teammate checks and responds
  4. Lead (you) collects all cross-references and builds the Relationship Map section
This produces higher-quality relationship maps than solo mode because teammates actively search for connections rather than just comparing results post-hoc.
Solo mode (flag not set): Standard sub-agent flow from Step 3.

启动时检查:
echo $CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS
团队模式(已设置标志):生成团队成员而非子代理。每个团队成员调研一个参会者,发现交叉关联时可与其他成员沟通。
团队成员重点交叉检查对象
参会者1研究员参会者1的完整人员+公司调研所有其他团队成员(共同雇主、联系人)
参会者2研究员参会者2的完整人员+公司调研所有其他团队成员
[每个参会者对应一个]......
参会者交叉关联发现流程:
  1. 每个团队成员独立调研分配的参会者
  2. 当团队成员发现与其他参会者重叠的工作场所、学校或联系人时,向该成员发送消息:“我的参会者[姓名]在[公司]工作过(2019-2022)—— 您的参会者是否有重叠?”
  3. 接收消息的成员进行检查并回复
  4. 负责人(您)收集所有交叉引用并构建关联关系图部分
与单代理模式相比,此模式生成的关联关系图质量更高,因为团队成员会主动搜索关联,而非仅在事后对比结果。
单代理模式(未设置标志):步骤3中的标准子代理流程。

What This Skill Is NOT

本技能不适用场景

  • Not competitor monitoring — use
    competitor-intel
    for tracking competitors
  • Not a company deep dive — use
    company-deep-dive
    for research without attendees
  • Not a CRM — gathers web intelligence, doesn't manage contacts or pipelines
  • Not a calendar app — reads events for context but doesn't manage them

  • 非竞品监控 — 请使用
    competitor-intel
    技能跟踪竞品
  • 非公司深度调研 — 请使用
    company-deep-dive
    技能进行无参会者的调研
  • 非CRM系统 — 仅收集网络情报,不管理联系人或销售管道
  • 非日历应用 — 仅读取事件获取背景信息,不管理日历

Error Handling

错误处理

See
references/nimble-playbook.md
for the standard error table. Skill-specific errors:
  • Person not found: Try name variations (full, first+last, with company). If still nothing: "Couldn't find public info on [Name]. Can you share their title or LinkedIn?"
  • Ambiguous name: Present top candidates with company/title context and ask.
  • Empty company results: Note it and focus on attendee-level findings.
请参阅
references/nimble-playbook.md
中的标准错误表。技能特定错误:
  • **未找到人员:**尝试姓名变体(全名、名+姓、带公司)。如果仍无结果:“无法找到[姓名]的公开信息。您能否提供其职位或LinkedIn链接?”
  • **姓名模糊:**展示带有公司/职位背景的候选结果并询问用户。
  • **公司结果为空:**注明此情况并聚焦参会者层面的发现。