mcpField
S
setup-my-iq

setup-my-iq

github.com/githubAgent 工作流40.5k35 次安装今天更新
代码仓库

关于 setup-my-iq

setup-my-iq 是用于创建和维护个人上下文档案的 Agent 技能,通过结构化 Markdown 文件记录个人信息与工作方式,并引导访谈、续接未完成设置或更新内容。

主要功能

  1. 01查找已引用的上下文文件
  2. 02逐个文件开展访谈
  3. 03创建结构化 Markdown 档案
  4. 04续接未完成的设置
  5. 05补全缺漏并更新现有内容

适用场景

  1. 01创建初始个人上下文档案
  2. 02继续补齐缺失文件的设置
  3. 03填写现有档案中的占位字段
  4. 04在角色或团队变化后更新上下文

安装

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

$npx skills add https://github.com/github/awesome-copilot --skill setup-my-iq

安装后在 Claude Code 中输入/setup-my-iq确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

assets/templates/
AGENTS.md
communication-style.md
identity.md
preferences-and-constraints.md
role-and-responsibilities.md
team.md
tools-systems-and-config.md

详细介绍

设置 My IQ:创建和更新上下文组合

创建并维护个人上下文组合:一组结构化的 markdown 文件,描述你是谁、你如何工作以及什么对你重要。这些文件 可以位于磁盘上的任何位置(OneDrive 文件夹、git 仓库、本地目录等)。 将它们与 Agent 关联起来的是用户某个自定义指令 文件(AGENTS.md、copilot-instructions.md、CLAUDE.md 或宿主加载到 会话中的任何 *.instructions.md)中的一个指针。

此技能的工作方式

被调用时,确定当前状态并采取正确的操作。

发现现有上下文

在会话中扫描对此技能所创建文件的引用。宿主已经 将所有相关的自定义指令文件合并到会话中: AGENTS.md(工作区或用户范围)、copilot-instructions.md、 CLAUDE.md、任何 *.instructions.md 文件以及类似的宿主特定等价文件。 指针来自哪个文件并不重要,只需查找文件名:

  • identity.md
  • role-and-responsibilities.md
  • team.md
  • tools-systems-and-config.md
  • communication-style.md
  • preferences-and-constraints.md

对于每个文件,在已加载的指令文本中的任意位置查找一个 @<absolute-path>(或等价的路径引用)。那就是该文件的位置。不要依赖路径旁边的标签 或变量名:用户可能以不同方式命名指针 (identityProfile、me、who-i-am 等)。根据路径末尾的 文件名进行匹配。

对于每个文件名,分类为:

  • 未引用 — 会话中未加载指向此文件名的路径。
  • 已引用,文件缺失 — 加载了路径,但磁盘上文件不存在。
  • 存在 — 加载了路径且文件存在。读取它以检查占位符。

如果这六个文件名处于混合状态,按此优先级顺序处理: 首先通过访谈创建任何未引用的文件,然后填充已引用、 文件缺失的条目,最后修复存在文件中不完整的字段。在开始前 向用户总结合并后的状态,以便他们知道会发生什么。

具体示例。假设 identity.md 和 team.md 存在且 完整,tools-systems-and-config.md 存在但在 ADO 部分有 TODO 占位符, role-and-responsibilities.md 和 communication-style.md 已引用但磁盘上文件不存在,并且 preferences-and-constraints.md 未引用。技能应告诉 用户:“你的 identity 和 team 已完成。Tools-config 有缺口。Role 和 communication-style 已引用但缺失。Preferences 完全未设置。 我会先访谈你了解 preferences,然后创建 role 和 communication-style,再填充 tools-config 中的缺口。可以吗?”

1. 未引用任何上下文文件

已加载的指令中没有任何地方出现预期的文件名。 将其视为首次设置。运行下面的首次设置。

2. 某些文件已引用但在磁盘上缺失

用户之前开始了设置但没有完成,或者路径存在但 背后没有文件。从他们中断的地方继续:

  • 列出哪些文件存在、哪些缺失。
  • 告诉用户:“你有 {existing files}。仍需要:{missing files}。想 从你中断的地方继续吗?”
  • 在选择下一个要访谈的文件时,发现现有上下文中的优先级顺序 仍然适用。在并列时,使用此 默认顺序:identity -> role -> team -> tools -> communication-style -> preferences-and-constraints。
3. 文件存在但字段不完整

文件存在,但其中一些包含未填充的占位值。填补空缺:

  • 扫描所有被引用的文件,查找以下任一不完整字段模式:
    • `` — 显式占位符
    • 形式为 的 HTML 注释被用作替代值 (例如、、)
    • 任何唯一内容为 HTML 注释的表格单元格或字段
  • 列出这些空缺:"我在 {files} 中发现了不完整的字段。要填充它们吗?"
  • 针对每个空缺,提出该字段对应的具体问题(而不是完整的访谈)。
  • 根据用户的回答就地更新文件。
4. 文件完整,用户想要更新

用户要求更改某些内容,或顺带提到了上下文变化 (例如,"我的经理换了"、"我们招了新人"、"我调到了 另一个团队")。定向更新:

  • 如果用户在另一项任务过程中顺带提到了该变化,可提议:"听起来你的 {file} 可能需要更新。要我现在修改吗?"
  • 如果用户明确要求,直接进行。
  • 从 发现现有上下文 中解析出的路径读取文件。
  • 进行编辑并与用户确认。
5. 文件完整,用户想要完全刷新

用户希望从头重做某个文件。针对该特定文件,按照与首次设置相同的步骤重新进行访谈。


首次设置

本技能中所有 assets/... 路径均相对于此 SKILL.md 所在目录。使用你的文件读取工具从这些 路径加载捆绑的模板。如果由于某种原因某个模板无法读取,请回退到本文件底部 示例演练中所示的字段结构。

1. 选择上下文目录

询问:"你的上下文文件应该放在哪里?任何持久化位置都可以:同步的 云文件夹(OneDrive、Dropbox、iCloud)、本地目录或 git 仓库。只要 选一个你以后能找到的路径即可。"

  • 如果目录不存在,则创建它。
  • 保存该路径以供后续步骤使用。
  • 在 macOS 或 Linux 上,建议使用 ~/my-iq-context 或 ~/OneDrive/my-iq-context 作为 默认值。在本技能后续生成的任何路径中,将 %USERPROFILE% 替换为 $HOME。
2. 开始访谈

介绍此流程:

"我将对你进行访谈,并生成你的个人上下文档案:一组 代表你是谁、你如何工作以及什么对你重要的 markdown 文件。任何 AI 技能、Agent 或插件都可以读取这些文件,并立即 理解它正在处理什么。

我们会一次处理一个文件。我会向你提问、起草文件,然后 请你说出我哪里做错了。你现在可以跳过任何不想处理的文件。准备好 开始了吗?"

3. 从可用数据源预填事实类字段

在提出任何访谈问题之前,这一步都是强制性的。 不要跳过,即使你预计它不会返回任何内容。

在向用户提出任何问题之前,先尝试从你的环境中提供的任何已连接数据源收集事实数据。用户不应被迫手动输入已连接系统已知的信息。

每个文件需要查找的内容:

文件要预填的事实类字段
identity.md姓名、角色/职位、组织、团队、经理
role-and-responsibilities.md支持的团队、节奏(来自日历)、汇报关系
team.md直属下属、频繁协作者、组织架构数据
tools-systems-and-config.mdADO 组织/项目/团队/区域路径、仓库、正在使用的工具
communication-style.md来自邮件/文档的写作样本(先征得许可)
preferences-and-constraints.md无需预填(这些是主观边界)

如何执行:

  1. 检查你的环境中可用的数据源(工作资料、目录、日历、ADO、邮件等)。只使用已获授权的数据源。
  2. 针对你即将访谈的文件,查询这些数据源以获取相关的事实类字段。
  3. 以提案形式呈现查找结果:“我从你的工作资料中提取了一些信息。以下是我找到的内容——请在我们继续之前确认或更正。”
  4. 将每个值标记为自动填充,让用户知道哪些来自系统,哪些是你要求他们提供的。
  5. 只有在预填提案得到确认后(或者如果没有可用数据源),才继续提出剩余问题。

如果没有可用数据源: 明确说明(“我在这个环境中无法访问工作资料或目录,所以我会直接询问你”),然后继续访谈问题。不要默默跳过这一步。

请参阅访谈规则下 在提问前从可用数据源预填 部分中的完整规则和约束。

4. 对 identity.md 进行访谈

从此技能包中的 assets/templates/identity.md 加载模板以了解文件结构。

首先:应用第 3 步(预填)。 查询可用数据源以获取姓名、角色、组织、团队和经理。呈现任何查找结果以供确认。然后针对预填未覆盖的字段,继续下面的问题。

要提出的开放式问题(这些始终需要用户回答):

  • 如果你必须在晚宴上向某人解释你实际做什么,你会怎么说?
  • 人们找你通常是为了什么?

仅在预填未覆盖时才提出的事实类问题:

  • 你的姓名和当前角色是什么?
  • 你所在的机构或公司是什么?
  • 你在哪个团队?
  • 你的经理是谁?

一旦你有足够的内容起草(不要超过这一点继续提问),就起草文件。通过反馈环节呈现(见下面的访谈规则)。修改后,写入上下文目录。

过渡:“identity 完成了。接下来是 role-and-responsibilities,它会记录你每周实际的工作情况。准备好了吗?”

5. 针对 role-and-responsibilities.md 的访谈

从 assets/templates/role-and-responsibilities.md 加载模板。

首先:应用第 3 步(预填充)。 查询可用来源,了解所支持的团队、 周期性日历节奏以及汇报关系。在提问之前,先呈现任何发现以供确认。

关键问题:

  • 带我了解一下你典型的一周。有哪些周期性事项?
  • 你支持哪些团队或小组?
  • 对于每个团队:你负责什么?你运行哪些节奏?
  • 你经常做哪些决策?不是重大战略决策,而是日常决策。
  • 你产出什么?报告、邮件、仪表盘?
  • 你向谁汇报?
  • 是否有影响你工作的月度或季度节奏?

一旦你有足够内容可以起草,就起草。按团队组织:每个团队都有自己的 部分,包含职责、节奏和交付物。呈现、修订、写入。

过渡:“role-and-responsibilities 完成了。接下来是 team,涵盖你工作 生活中的关键人物。准备好了吗?”

6. 针对 team.md 的访谈

从 assets/templates/team.md 加载模板。

首先:应用第 3 步(预填充)。 查询可用来源,了解直接下属、 组织架构图、频繁协作者(来自日历/聊天)。在提问之前,先呈现任何 发现以供确认。

关键方法:

  • 与你互动最多的人是谁?从你自己的团队开始。
  • 询问团队名册(用户可能会粘贴邮件列表)
  • 对于每个团队,确定负责人和层级
  • 对于关键人物:他们需要你提供什么,你需要他们提供什么?
  • 在已知的情况下,记录每个人的关注领域或支柱
  • 记录互动模式(1:1、站会、同步会)
  • 是否有任何关于与特定人物合作或准备与他们会面的信息,是 Agent 应该知道的?

使用早期文件中的信息。如果他们在角色访谈中提到了协作者,请在此处 引用,而不是重新询问。起草、呈现、修订、写入。

过渡:“team 完成了。最后一项:工具、系统和配置。我们在这里记录 一切是如何设置的。准备好了吗?”

7. 针对 tools-systems-and-config.md 的访谈

从 assets/templates/tools-systems-and-config.md 加载模板。

首先:应用第 3 步(预填充)。 查询可用来源,了解 ADO 组织/项目/团队/区域路径、仓库和工具配置。在提问之前,先呈现任何 发现以供确认。

关键问题:

  • 你每天使用哪些工具和平台?
  • 你如何组织会议笔记?它们存放在哪里?
  • 哪些标签或模式会按类型和团队对你的会议进行分类?

然后,针对用户支持的每个工作流/团队(使用 role-and-responsibilities 访谈中的信息):

如果用户支持超过三个工作流,先询问他们是想现在配置所有工作流, 还是从最重要的一个或两个开始,稍后再添加其余工作流。对于相似的 工作流,询问是否适用相同配置,并且只针对差异进行访谈。

  • 这个工作流使用 Azure DevOps 吗?如果是:什么组织、项目、团队、 区域路径?如果否,跳过此工作流的 ADO 部分。
  • (仅限 ADO 工作流)是否有要从冲刺评分卡中排除的工作项标题模式? (例如,估算或评审占位项)
  • 这个工作流的战略支柱或部分是什么?这些会用作每周更新和冲刺报告 中的分组标题。即使该工作流不使用 ADO,也要定义它们。
  • 对于 ADO 工作流:哪些 ADO Epic 映射到每个支柱?
  • 冲刺更新保存在哪里?文件前缀是什么?
  • 每周更新保存在哪里?文件前缀是什么?
  • 这个工作流是否有路线图文件?

组织方式为:通用设置放在顶部,工作流特定配置放在下面的部分中。 起草、呈现、修订、写入。

过渡:“工具和配置完成了。接下来是沟通风格,这样任何代你写作的 Agent 都能听起来像你。准备好了吗?”

8. 针对 communication-style.md 的访谈

从 assets/templates/communication-style.md 加载模板。

这一节比其他几节更难。人们往往用一些陈词滥调来描述自己的表达风格。两条更有效的路径:询问负面偏好,以及提出分析真实写作样本。两条都用上。

先提出样本路径:

“想分享几段你真实写作的样本吗?粘贴 2 到 5 段你发过的东西:每周状态更新、给领导层的邮件、Loop 更新、一条评审记录、一条你引以为豪的 Teams 消息。我会读一遍,提取我看到的表达风格特征,并提出应该写入你文件的内容。任何内容写入之前都由你确认。我不会复制原始内容,只提取风格模式。”

如果用户分享了样本:

  • 只从风格角度阅读每个样本:语域、句子长度、开头方式、过渡方式、使用或避免的特定词汇、框架模式、如何处理功劳、如何处理坏消息。
  • 不要把样本原文复制到文件中。提取模式,并按照文件的结构以建议条目(bullets)的形式回呈现。
  • 呈现建议草稿:“这是我提取出来的内容。告诉我哪里不对或缺少什么。”
  • 照常进行反馈环节(reaction pass)。

如果用户没有分享样本(或者在样本之外额外进行),逐个提出以下问题:

  1. “如果一位同事用一句话描述你的写作方式,他们会怎么说?”
  2. “读一下这句话:‘我鼓励你抓住这个机会,成为团队中真正的力量倍增器。’ 对你自己的风格来说,这句话哪里不对?”(比正向问题更快地暴露出避用清单。)
  3. “当你给领导层写每周状态时,你希望自己能自动化哪些部分,又有哪些部分你总是最后还得重写?”
  4. “谁是你最难写作面对的对象?面对他们时,你的写法会有什么变化?”
  5. “当你在 Connect 或绩效评审中写关于自己的内容时,有没有哪句话你写出来后又立刻删掉了?”

起草、呈现、修改、写入。

写完后,告诉用户:

“我不会随着时间自动捕捉到你的模式。如果你发现我重复犯某个错误、替换了措辞,或者跟你的修改对着干,让我更新这个文件,我会把修正内容合并进去。这个文件只在你要求时才演进。”

过渡:“最后一个:偏好与约束。这是关于你希望 AI 如何在你身边行事。准备好了吗?”

9. 针对 preferences-and-constraints.md 的访谈

从 assets/templates/preferences-and-constraints.md 加载模板。

这里的多数规则都是关于 Agent 不应单方面做什么。通过回忆具体的挫败经历来引出这些规则,而不是询问抽象规则。逐个提问:

  1. “上一次 AI 工具做了你不想让它做的事是什么时候?它做了什么,本该做的是什么?”(一个回答常常能产出 3 条边界规则。)
  2. “什么对 Agent 来说是不用问你就可以安全去做的?什么绝对需要你批准?”
  3. “速度还是彻底性。如果必须选一个,你选哪个?”
  4. “有没有一些决定你希望 AI 替你来做,还是你总是希望把选项呈现出来?”
  5. “哪些场合你不希望 AI 代表你发言?”(Teams、邮件、会议、公开聊天。)
  6. “你用过任何带持久记忆的工具吗(VS Code 会话记忆、Agent 记忆功能等)?如果有,有没有什么内容你希望存储在那里,或者明确不希望存储在那里?”如果回答是没有,就跳过记忆部分。

起草、呈现、修改、写入。进行反馈环节。

过渡:“访谈到此结束。现在我会把这些文件接入你的自定义指令,这样每个 Agent 都能找到它们。”

10. 把这些文件接入自定义指令文件

向用户的自定义指令文件之一添加指针条目,以便其他技能和 Agent 能找到这些新文件。建议使用用户作用域,而不是工作区作用域。 这些上下文的全部意义就在于它随处可用,而不是绑定到某一个仓库。 快速对照:10a 检测 harness,10b 选择目标文件,10c(仅在存在多个 harness 时)提议将它们符号链接到一个规范文件,10d 使用内置模板写入指针。

在 macOS 或 Linux 上,下面的每条命令和路径都有对应的 POSIX 等价形式。将每条路径中的 %USERPROFILE% 替换为 $HOME,使用 ln -s <canonical-target> <harness-file> 代替 New-Item -ItemType SymbolicLink,并完全跳过开发者模式检查(在 macOS 或 Linux 上符号链接不需要提权)。

步骤 10a. 检测用户使用哪些 harness。 检查以下用户范围路径中是否存在任意一个(使用文件系统;无需先询问):

Harness用户范围自定义指令路径
VS Code Copilot Chat / Claude Code%USERPROFILE%\.claude\CLAUDE.md
GitHub Copilot CLI%USERPROFILE%\.copilot\copilot-instructions.md

VS Code Copilot Chat 不会原生读取 %USERPROFILE%\.agents\AGENTS.md,但它会读取 %USERPROFILE%\.claude\CLAUDE.md,这与 Claude Code 使用的是同一个文件。因此 .claude\CLAUDE.md 是这两个 harness 共享的用户范围文件。

如果 %USERPROFILE%\.agents\AGENTS.md 存在,则将其视为规范目标。在某些配置中,上述 harness 专属文件会符号链接到它,因此一次写入即可流向每个已接线的 harness。

步骤 10b. 选择目标。 应用第一条匹配的规则:

  1. 如果 %USERPROFILE%\.agents\AGENTS.md 存在,则默认为它。harness 专属文件是指向它的符号链接,因此一次写入即可流向每个已接线的 harness。写入前先与用户确认。
  2. 否则,如果恰好只有一个 harness 专属文件存在,则提议写入它。先确认。同时提及步骤 10c 中的规范文件加符号链接方案。
  3. 否则,如果两个 harness 专属文件都存在(copilot-instructions.md 和 CLAUDE.md),则列出它们并询问要更新哪一个。强烈建议创建 .agents\AGENTS.md 作为规范文件,并将其他文件符号链接到它,这样一次编辑就能触达所有 harness(步骤 10c)。
  4. 否则(任何位置都不存在用户范围自定义指令文件),询问:“你最常使用哪个 AI harness:VS Code Copilot Chat、Claude Code、GitHub Copilot CLI,还是其他?”然后创建匹配的用户范围文件(前两个对应 .claude\CLAUDE.md,Copilot CLI 对应 .copilot\copilot-instructions.md),并包含一个 ## Personal Context 部分。

如果用户明确要求改用工作区范围,则写入 <workspace>\AGENTS.md,并告诉他们权衡利弊:它仅适用于该仓库。

步骤 10c. 提议将其他 harness 符号链接到规范文件。 仅在用户拥有(或想要)多个 harness 时相关。询问:“要我让 %USERPROFILE%\.agents\AGENTS.md 成为规范文件,并将你的其他 harness 文件符号链接到它吗?这样你只需编辑一次,每个 harness 都能看到更改。”

如果同意,对于用户想要链接的每个其他 harness 文件:

  1. 前提条件。 Windows 上的文件符号链接需要启用开发者模式或使用提权的 PowerShell。使用以下命令检查开发者模式:

    Get-ItemPropertyValue 'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\AppModelUnlock' AllowDevelopmentWithoutDevLicense -ErrorAction SilentlyContinue
    

    如果开发者模式已开启,则返回 1。如果未开启,向用户提供两个选项,让他们选择:

    • 选项 A:启用开发者模式(一次性,无需重启)。设置 -> 隐私和安全性 -> 开发者选项 -> 打开开发者模式。或者在提权的 PowerShell 中运行以下命令:

      New-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\AppModelUnlock' -Name AllowDevelopmentWithoutDevLicense -Value 1 -PropertyType DWord -Force
      
    • 选项 B:自己在一个提权的 PowerShell 中运行符号链接命令。 将确切的命令(填入真实路径)交给他们,并让他们在以管理员身份打开的 PowerShell 窗口中运行它。然后在他们确认成功后继续:

      New-Item -ItemType SymbolicLink -Path '<harness-file>' -Target "$env:USERPROFILE\.agents\AGENTS.md"
      

    在未开启 Dev Mode 或未确认用户已运行提权命令之前,不要继续。

  2. 备份现有文件到 <file>.bak-<yyyyMMddHHmmss>,确保不丢失任何内容。绝不要删除。

  3. 创建符号链接,指向 %USERPROFILE%\.agents\AGENTS.md (如果用户已在选项 B 下自行运行过,则跳过):

    New-Item -ItemType SymbolicLink -Path '<harness-file>' -Target "$env:USERPROFILE\.agents\AGENTS.md"
    

上述内联符号链接步骤足以完成上下文接入。

如果用户拒绝使用符号链接,则继续按各个 harness 分别写入,然后继续下一步。不要重复推动。

步骤 10d. 写入指针。 使用位于 assets/templates/AGENTS.md(相对于本 SKILL.md)的捆绑 AGENTS.md 模板,作为 ## Personal Context 块结构(标题、条目标签、路由表、规则)的事实来源。不要重新发明格式。

行为:

  • 如果目标文件在磁盘上尚不存在,则创建它。创建任何缺失的父目录(例如 %USERPROFILE%\.copilot\ 或 %USERPROFILE%\.claude\),将整个捆绑模板复制到目标路径,把 <CONTEXT_DIR> 替换为步骤 1 中所选上下文目录的绝对路径,然后写入。
  • 如果目标文件存在但没有 ## Personal Context 部分,则将该部分追加到文件末尾(如果模板中的 ## Safety 部分也缺失,则一并添加),并将 <CONTEXT_DIR> 替换。不要改动其上方的现有内容。
  • 如果 ## Personal Context 部分已存在,则只添加或更新发生变化的特定条目。不要重写整个部分。保留现有标签和顺序;只替换 @<path> 行。
  • 只接入磁盘上实际存在的文件。不要为用户跳过的文件添加 @<path> 指针。
11. 确认并总结

“这就是你的上下文组合。任何读取你的自定义指令的 AI 技能、Agent 或插件都能找到这些文件,并立即理解自己正在处理什么。

随着你不断更新,这些文件会越来越好。项目会变化,优先级会转移,尤其是你的沟通风格文件,会随着你发现我重复犯错并要求我把纠正纳入其中而不断演进。把它们当作活文档,而不是成品。”

向用户展示:

  • 已创建文件的列表及其路径。
  • 写入指针的自定义指令文件路径。

上下文文件

文件用途使用方
identity.md姓名、角色、组织、团队、经理、你的工作内容任何需要知道用户是谁的技能
role-and-responsibilities.md各团队职责、节奏、交付物状态、报告和规划类技能
team.md团队名册及角色和重点领域为与人互动做准备或进行总结的技能
tools-systems-and-config.md工具、会议标签、各团队 ADO 配置、支柱、报告设置读取会议记录、运行报告或与 ADO 交互的技能
communication-style.md语气、语调、格式规则、应避免的词语、针对不同受众的调整任何代表用户撰写内容的技能
preferences-and-constraints.md硬性边界、审批规则、工作偏好、记忆规则所有技能(尤其是会写入或发送内容的技能)

使用方通过读取从任何自定义指令文件(AGENTS.md、copilot-instructions.md、CLAUDE.md、 *.instructions.md)加载的指针来找到这些文件。不需要 MCP 或专门的读取技能。


访谈规则

语气

直接、温和、具体。你是一名访谈者,不是教练。不要对用户的回答进行评论、赞美或发表意见。

在提问之前从可用数据源预填

在带着用户逐项过问题列表之前,先检查你手头可用的工具或数据源是否能替你回答那些事实性字段。用户不该为已连接系统已知的信息再手动输入一遍。

常见示例(按你的环境实际提供的能力来用):

  • 已连接的工作档案或目录可能知道用户的姓名、职位、组织、团队、经理和直接下属——对 identity.md 和 team.md 有用。
  • 日历、邮件或聊天记录可能显示出频繁协作者和周期性节奏——对 team.md 和 role-and-responsibilities.md 有用。
  • 项目管理或源代码管理集成可能知道用户的组织/项目/区域路径或仓库——对 tools-systems-and-config.md 有用。
  • 邮件或文档中已有的写作样本(经用户许可)可以为 communication-style.md 提供参考,无需重新采集样本。

规则:

  1. 只使用用户已授权的来源。不要在访谈中途未经询问就获取新数据。
  2. 预填是提议,不是答案。展示你找到的内容,标注为自动填充,并在写入文件前请用户逐项确认或更正。
  3. 不要向用户罗列工具名称。可以说"我可以从你的工作档案中拉取其中一些信息",而不是列出具体产品名称。
  4. 当没有可用来源,或数据含糊、过时、敏感时,回退到提问。
  5. 开放式字段(你实际做什么、人们为什么来找你、语气、边界)仍然需要提问。不要从间接信号中臆造这些内容。
提问
  • 一次只问一个问题。绝不要列出问题清单。
  • 绝不要问复合问题。
  • 用前面文件中了解到的信息来指导后续访谈。不要重复询问你已知的内容。
  • 如果用户岔开话题但对后面的文件有用,记下来,到那一步时用上。
  • 当用户回答含糊时,追问具体细节:"能给我举个例子吗?"或"这在日常中实际上是什么样的?"
  • 当你有足够信息起草时,说出来并起草。不要一直问。"足够"意味着你的回答覆盖了该文件模板中的核心字段(对于 identity:姓名、角色、组织、团队、经理以及他们做什么)。如果之前的回答已经覆盖了信息,你不需要逐条走完列出的每个问题。
反馈环节

每起草完一个文件,展示它并说: "这是我的草稿。通读一遍,告诉我哪些听起来不对。任何感觉不对劲的地方、我假设错的地方、遗漏的内容。"

如果用户说看起来不错、无需修改,追问一次: "挑一个最弱或最笼统的句子。怎样能让它更像你本人?"

如果他们第二次拒绝并说没问题,接受并继续。

文件质量
  • 保持文件简洁。一页,不是五页。
  • 文件读起来应该像用户本人,而不是像 AI 在写他们。
  • 用他们的语言、他们的表述方式、他们的正式程度。
  • 绝不使用破折号。
  • 如果用户想跳过某个文件,由他们。
  • 如果用户需要在文件中途停下,告诉他们你在哪里,以便他们之后继续。

示例:身份访谈演练

这展示了完整的 identity.md 访谈从第一个问题到最终写入文件的全过程。

Agent: 你的名字和当前职位是什么?

用户: Dana Kim,高级项目经理。

Agent: 你在哪家组织,哪个团队?

用户: Contoso,云工程部门。我在 Jordan Rivera 手下的平台运维团队。

Agent: 如果要在晚宴上向别人解释你实际做什么,你会怎么说?

用户: 我让数据平台团队持续运转。冲刺规划、状态汇报、确保领导层了解进展,同时又不让所有人淹没在更新邮件里。我还构建 AI 工具,自动化项目管理中那些重复性的部分。

Agent: 人们来找你是为了什么?

用户: 两件事:清楚地了解一个项目实际处于什么状态(不是经过粉饰的版本),以及弄清楚如何用 AI 工具把繁琐工作从他们的工作流中剔除。

Agent: 我掌握的足够起草了。这是我的草稿:

# Identity

- **Name:** Dana Kim
- **Role:** Senior Program Manager
- **Organization:** Cloud Engineering, Contoso
- **Team:** Platform Operations
- **Manager:** Jordan Rivera

## What I Do

I keep the data platform teams running: sprint planning, status reporting,
and making sure leadership knows what's happening without everyone drowning
in update emails. I also build AI tooling that automates the repetitive
parts of program management.

## What People Come to Me For

Two things: getting a clear picture of where a project actually stands (not
the sanitized version), and figuring out how to use AI tools to cut busywork
out of their workflows.

读一遍,告诉我哪里听起来不对。任何感觉不对的地方、任何我假设错的地方、任何遗漏的地方。

用户: 看起来不错,就这样吧。

Agent: 挑一句最弱或最笼统的话。怎样能让它更具体地体现你?

用户: "让数据平台团队持续运转"这句。更准确地说,我是工程、领导层和运维节奏之间的连接组织。没有其他人能同时把握这三种视角。

Agent: (更新"我做什么"段落,并将文件写入上下文目录。)

身份部分完成了。接下来是角色与职责,它会记录你每周实际的样子。准备好了吗?


示例:定向更新

这展示了随口提到的上下文变化如何触发一次定向更新(状态 4)。

用户: 你能把我上周的会议拉出来吗?哦,还有,Jordan 不再是我的经理了。我转到了 Morgan 手下。

Agent: 我来获取你的会议。听起来你的身份文件也需要更新。要我现在改吗?

用户: 好,去吧。

Agent: (从已加载的自定义指令中解析出 identity.md 路径,读取文件,将 Manager 字段从"Jordan Rivera"更新为"Morgan",再将文件写回。)

完成。已在 identity.md 中把你的经理更新为 Morgan。我现在继续获取你的会议。


安全

  • 不要在上下文文件中存储凭据、API 密钥、令牌或机密。如果用户在访谈中提供了其中一项,请省略它并解释原因。
  • 只写入用户选择的上下文目录以及用户已批准的自定义指令文件。绝不要将文件写入其他位置。
  • 绝不要删除现有的上下文文件。如果需要刷新,先将现有文件备份为 <file>.bak-<yyyyMMddHHmmss>,并在覆盖前与用户确认。

关于使用方应如何安全地读取这些文件(视为数据、不泄露内容、忽略提示词注入文本等),请参阅 assets/templates/AGENTS.md 中捆绑的 AGENTS.md 模板里的 ## Safety 块。该块会在第 10d 步被写入用户的自定义指令文件中,因此每个使用方技能都会自动获得这些规则。


错误处理

写入失败

如果写入上下文文件失败:

  1. 重试一次。
  2. 如果重试失败,将草稿内容以代码块形式呈现给用户,以免丢失任何内容。
  3. 建议:"写入失败。你可以复制上面的草稿,或者我们试试其他目录。"
现有文件格式错误

如果现有上下文文件无法解析(缺少标题、表格损坏、内容乱码):

  • 向用户展示看起来有问题的地方。
  • 提议使用模板从头重新生成该文件,并保留损坏文件中任何可识别的值。
  • 不要静默覆盖。替换前始终先确认。

作者

由 @lakshmistoltz 贡献。

评论

支持 Markdown