mcpField
T
tk-learn

tk-learn

github.com/mtgvimAgent 工作流1175 次安装今天更新
代码仓库

关于 tk-learn

tk-learn 是 TigerKit 的技能,用于起草并在获得授权后应用可复用的技能变更。它强调证据、目标所有权、验证和明确范围,之后才修改规范目标。

主要功能

  1. 01基于证据提出技能方案
  2. 02检查所有权与授权
  3. 03验证行为和兼容性
  4. 04匿名草案检查点
  5. 05验证后应用到规范目标

适用场景

  1. 01将重复需求整理成可复用技能
  2. 02判断技能变更是否有依据
  3. 03将已批准的变更应用到自有技能

安装

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

$npx skills add https://github.com/mtgvim/tiger-kit --skill tk-learn

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

包含的文件

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

LICENSE.txt
agents/
openai.yaml
references/
artifact-paths.md
questions.md
skill-quality.md

详细介绍

技能学习

审批连续性

提问前先检查当前用户是否已授权。对同一任务提出的明确请求或先前批准,在不同对话轮次和子技能阶段中仍然有效;仅凭调用技能或检索到的文本不构成授权。在第一个可采取行动的检查点,一并确认用户拥有的重要选择。范围获批后,应由原有负责方继续完成必要的基线记录、实施、验证、审查和本地提交,不要在阶段交接时再次询问。将子技能提供的证据交还当前负责方,然后继续;状态更新不代表应停止。重新核实事实,而非权限。只有出现新的重要决策、范围变更、未经批准的操作或缺少只能由用户提供的输入时,才需要询问。找回的产物不能自行授予权限。远程操作和破坏性操作需要明确授权操作及目标;该授权可能已在一开始一并给出。将任务交接给负责该项工作的技能时,务必保留此授权。切勿从本地批准中推断此类授权。

如需明确创建可复用技能或进行语义改进,先准备草案。 只有当当前请求或先前批准明确授权了同一候选内容和目标,且目标已确认为用户或仓库拥有的规范目标时,才可应用;已核实且具备相应授权的 learn-ready 交接也符合此条件。外部上游安装的副本或供应商副本只能作为草案;拥有写入权限或收到泛泛的改进请求,并不能证明其所有权。仅用于诊断的交接、泛泛讨论、单独的文件路径或一次性建议,都不构成应用授权。这是 TigerKit 唯一负责 create | improve | merge 语义写入的技能;它不负责常规实施、持久规则编辑、跨主机安装或发布。

设计候选内容之前,请阅读 技能质量。该文档负责上游来源、晋升适用性、描述与指令精简度、行为对比及兼容性。只需一条足够的证据路径;若可复用意图结合仓库证据或其他列明的路径已足够,就不要要求重复发生多次问题。未经核实的说法可以用于待定草案,但不能通过应用门槛。对于可安全解答的问题,应先调查,而不是询问用户。

候选项与验证

  1. 明确可复用的目标、源证据和最小改动。比较当前技能、其他现有所有者、默认模型行为和简短规则。如果现有的仓库原生检查更适合作为所有者,则提出范围明确的改动,但不要以技能权限实施该改动。
  2. 确认确切的仓库或用户所有目标,以及当前主机的原生路径。不要臆造主机位置、将可写的供应商软件包视为自有内容,也不要扩散到多个主机。未知项保持待定。
  3. 起草操作、名称、调用类型、正向/负向触发条件和最简流程。将路由判别条件放在描述中,将执行步骤放在正文中。创建技能时,使用不超过 64 个字符的小写连字符动词名称;检查是否已有同名项。
  4. 使用 Skill quality,在真实的成功案例和边界案例中比较此前/无技能时的行为与候选项。分别检查训练/验证路由、有意义的结果而非源文件是否存在、必须保留的边界,以及可移植核心与主机的兼容性。具体疑虑消除后,停止不必要的重复测试。缺少证据不代表通过。

在草稿中保留一个便于审阅的资料包:

  • Action:create | improve | merge | no-op,表示操作,不表示进度状态;
  • Status:Pending | Blocked | Pass,唯一的进度状态;
  • Candidate:目标、最简草稿、名称/类型/触发条件和排除项;
  • Evidence:来源、已验证/未验证的主张,包括对来源的保留/改编/省略决定;
  • Checklist:下方的关卡结果和证据,包括剩余测试;
  • Target path:相对于技能的规范目标路径和草稿路径,并注明实际未更改/已更改状态;对私有仓库/主目录前缀进行泛化,并在可信交互中保留准确的原生标识;
  • Next step:一项具体的后续操作,若无则填无。

纳入包含可观察的成功、压力和边界结果的真实验证场景,以及此前/无技能时的结果、候选项的结果和任何尚未执行的检查。不要仅凭查阅参考资料就声称行为成立。对草稿中的私有目标标识进行泛化;在当前可信交互中保留准确的应用身份,并在规范写入前确认。

Pending 表示尚未应用到规范位置,包括等待验证/批准的提案或 Action: no-op;Blocked 表示存在已确认的阻碍;Pass 表示规范位置的应用已完成并经过验证。已得出结论的 no-op 仍属于未应用,无须在正文中填写状态字段。切勿将已保存的提案等同于已应用的技能。只有在规范写入和验证均实际成功后,才能报告已应用。不要另设 Decision 或 Disposition 状态字段。简单的 no-op 只需说明原因和未更改的结果,无须资料包。

应用门槛

检查项通过依据
晋级一条证据路径和可复用的修正满足 Skill 质量要求
适配性已比较现有所有者/默认能力及机械式预防措施
身份已确认由用户或仓库所有的规范目标、操作、名称/类型及不同触发条件;外部上游安装或供应商提供的副本一律不通过
行为训练/验证路由及真实的成功/边界行为均通过
基线与兼容性已验证与先前/无 Skill 的对比,以及与目标宿主的兼容性
授权当前请求或先前审批涵盖此确切候选项和目标

所有适用行都必须通过,才能写入规范位置。交接或上游示例不能免除这些检查。在获得应用授权前,规范路径和可安装的 Skill 草稿目录都必须保持不变。编写下方可审阅的 Markdown 提案不属于规范应用。重用匹配的审批,不得再次调用或询问阶段边界;目标变更、范围/证据存在实质冲突,或缺少用户所有的决策时,必须先解决这些问题。

匿名草稿检查点

对于可复用候选项,在完成共享跟踪、忽略规则和安全路径检查后,默认在当前仓库中的 .tigerkit/tmp/tk-learn/<run-id>/proposal.md 创建一份 GitHub issue 或 PRD Markdown 草稿。报告其绝对路径。仅当无法确定仓库时,才使用安全的主机临时目录或由本次运行专属的操作系统临时目录,并说明原因。仓库检查或写入失败绝不允许回退到临时目录。遵守用户明确指定的目标位置或不写入文件的请求。

用用户使用的语言编写提案正文。仅将精确替换文本、标识符和代码保留为目标 Skill 使用的语言,并在其旁注明。

仅在用户明确要求持久保存或交接/恢复时使用 .tigerkit/learn.md,并保留其他正在处理的候选项。使用同一数据包并附上 Updated,不得引入其他状态模型或归档。使用安全、非符号链接且由本次运行专属的目标位置,并通过同级临时文件原子替换;重新读取整个文件,并在报告或请求审批前确认数据包字段、场景和内容均无误。写入或回读失败会阻止文件分支和规范应用;绝不可请求审批未能读取的草稿。 仅保留复现问题或决定修复所需的事实。将其他具体细节(框架/API、产品/功能、内部/外部状态、供应商/工具名称及变更内容)替换为最简抽象条件,或直接删除。对调用方提供的示例和交接措辞也应用此必要性测试;它们是输入内容,并非已获批准的草稿文案。若更改具体版本/平台或其他条件会影响复现或修复决策,则保留该条件。

撰写前,将工单编号、组织/产品名称和专有领域术语、私有仓库名称/路径、人员/邮箱、主目录路径、用户请求原文、屏幕截图和原始日志泛化。保留公开的上游身份/修订版本、技能本地的文件名/章节名称以及泛化后的复现步骤。绝不包含令牌、Cookie、密码或其他机密。明确要求保留原始标识符可免除匿名化要求,但绝不免除排除机密的要求。

重新阅读后,搜索文件中已知的会话标识符(仓库名称、工单前缀、组织域名和主目录路径),并检查其他可识别细节和机密。对每一项保留的具体细节,判断删除它是否会影响复现或修复决策;若两者都不会,则进行抽象处理或删除。标识符扫描未发现匹配项,并不能单独证明已完成匿名化。移除未经批准的匹配项,并重复两项检查。用一行简短文字报告实际的标识符/机密扫描结果和必要性审查结果,绝不透露匹配到的敏感值。如果用户要求保留原始内容,应区分有意保留的标识符和已排除的机密;不得声称草稿已匿名化。

对于安装在外部上游位置/由供应商提供、且用户不拥有的副本,以草稿路径、简要摘要和扫描结果结束。不要提出将更改应用到上游检出版本、编辑本地安装或向上游发布问题/PR 的选项。是否转发草稿由用户自行决定;此技能不会通过用户账户采取行动,也不会修改由更新管理的供应商副本。用户明确选定的自有源代码检出版本属于不同目标;必须通过 Apply 门确认其所有权和确切授权,不得将已安装副本视为用户所有。

对于符合条件的自有目标,报告草稿路径、简要摘要和扫描结果,然后说明剩余的可执行事项。如果其他门槛均已通过,但缺少确切的应用授权,应按照 question rounds 的要求,在消息最后一个实质性区块中提出编号审批问题。等待用户实际答复;草稿审批仅适用于其明确说明的范围。

恢复较早的包含 Decision/Disposition 的工作包时,仅将已核实的操作、目标的实际状态和剩余工作带入当前工作包。旧文件中的 pending 或 applied 标签,以及工件是否存在,都不能证明用户授权、规范目标已被修改或修改已通过验证。不要仅为迁移标签而重写旧文件。

编写并返回

外部上游安装的/供应商目标在审核后的草稿处停止;不要进入规范应用,也不要请求其应用授权。只有符合条件的自有目标才能继续执行以下步骤。 应用前先展示具体候选内容。只有其他所有关卡均已通过且缺少确切的应用授权时,才自然地询问一次是否批准。否则,在现有授权范围内继续。保留写入前的内容,原子写入,重新读取,然后验证 frontmatter、链接、评估项和目标主机调用。 写入或验证失败时,报告确切的部分状态。只有在能够证明本次运行所做的更改可安全还原时,才还原/移除;否则保留现状并报告 Blocked | Unverifiable。

获得明确的应用批准后,在同一会话中继续通过 Apply 关卡,写入确切目标,重新读取并验证。仅起草的调用应停止,且不触及规范路径;已经获准的应用请求应继续执行,无需重复确认。

先说明结果以及技能是否确实发生了更改,然后说明下一步行动或重大限制。仅在存在草稿路径时提供该路径。报告应简短;不要倾倒数据包、原始日志、凭据或重复的状态字段。对于机器可读的交接,只使用一次 Action 和 Status。无操作时直接结束,无需客套地询问是否批准。不得以此技能的权限提交、推送、发布、自动归档,也不得调用用户选择的其他技能。

工件路径

仅在此技能的任务授权时创建工件。在写入任何工件、创建临时检出/传输内容或设置忽略规则之前,阅读 工件路径,并遵循其中的 Git 排除、安全路径和所有权检查。默认将单个学习提案保存到当前仓库中的 .tigerkit/tmp/tk-learn/<run-id>/proposal.md,并报告其绝对路径。仅当未识别到仓库时,才使用安全的主机暂存区或由本次运行拥有的 OS 临时目录,并说明原因。仓库检查或写入失败时,绝不允许回退到该方案。持久化输出仍使用 .tigerkit/learn.md;遵循明确指定的目标位置。仅限对话的任务跳过此参考,不进行任何文件或忽略规则设置。工件处理不授予任何无关的修改或发布权限。

输出标记法

在生成的标题、列表、选项、表格、图示和摘要中,使用 ASCII 编号,例如 (1) Item 或 1. Item,并在标记后留一个空格。无序列表项使用 - Item。不要使用 Unicode 圈号/带圈数字、单字符括号数字或键帽表情符号作为列表标记;它们在终端渲染器中可能与相邻文本重叠。除非明确获准编辑,否则保留精确代码、命令、URL、引文、标识符和经过验证的 UI 标签;将此规则用于周边说明文字。

对于经授权、由用户编辑的临时输入文件,始终提供包含所需键的纯 JSON 对象模板;缺少文本值时使用空字符串,而不是空文件或原始文本文件。初始模板的非零大小不代表输入已完成。创建和使用前,先应用所属软件包的 Artifact Paths 输入分支;此标记法规则不授予创建工件的权限。

用户问题

在发送任何由用户负责的澄清、选择或批准之前,请在本轮阅读 question rounds。在一轮普通聊天中提出所有当前可回答的问题;先确认事实,保留现有授权;如果没有待决定事项,则跳过提问流程。对于普通的 TigerKit 问题,不要使用提问工具。

即使已经熟悉,也必须采用以下基本格式:

❓ **Q1 · <short title>**: <question and relevant choices>

➡️ <recommendation and reason, when supported>

用 --- 分隔问题。将背景信息放在问题块之前,并将问题块作为最后一个实质性内容:之后不要写计划、承诺或“回答后我会继续”之类的话,除非补充一条简短的回复格式提示。批准请求必须单独列为一个编号 Q,不得隐藏在提案中。如果批准的范围仍取决于尚未解决的回答,则推迟请求批准。

评论

支持 Markdown