plate 仓库技能冲突治理:skiller 插件冲突跳过策略(plugin_conflict_strategy)实战解析

发布时间:2026/9/15 11:07:21

plate 仓库技能冲突治理:skiller 插件冲突跳过策略(plugin_conflict_strategy)实战解析 plate 仓库技能冲突治理skiller 插件冲突跳过策略plugin_conflict_strategy实战解析【免费下载链接】plateRich-text editor with AI and shadcn/ui项目地址: https://gitcode.com/GitHub_Trending/pl/plate本文围绕 plate 仓库中的 skiller 插件技能同步冲突问题展开讲解如何通过skills.plugin_conflict_strategy skip让插件管理的技能在本地/手动技能占用同名时被跳过而不是反复生成compound-engineering-*命名空间重复目录。读完本文你将掌握 skiller 冲突策略的完整语义、配置方法、实现链路与验证步骤并能在自己的 Agent 工作流仓库中落地同样的治理方案。问题背景plate 仓库的双轨技能来源plate 仓库的 Agent 技能体系同时存在两条来源轨道本地/手动技能存放在.agents/skills目录由仓库维护者直接编写并纳入版本控制占用的是ce-plan、document-review这类不含命名空间的规范名称。插件管理技能由全局启用的compound-engineering插件来源为EveryInc/compound-engineering-plugin通过 skiller 同步到.agents/skills名称来自插件内部的 agent 定义。插件安装清单记录在 skiller-lock.json 中。该文件共登记了 20 个来自EveryInc/compound-engineering-plugin的技能例如learnings-researcher、repo-research-analyst、architecture-strategist、correctness-reviewer、spec-flow-analyzer等每项都带有computedHash与插件内的sourceRelPath。另一份 skills-lock.json 则记录了来自udecode/dotai、shadcn/ui、tanstack-skills/tanstack-skills等多个来源的通用技能。问题就出在两条轨道撞名时插件里也包含ce-plan、document-review等与本地技能同名的条目于是skiller apply会不断把插件副本以命名空间目录如compound-engineering-ce-plan、compound-engineering-ce-review的形式再装一份造成.agents/skills下出现成对的重复技能。根因分析skiller 只有一种冲突策略计划文档 2026-03-28-skiller-plugin-conflict-skip.md 与问题解决文档 2026-03-28-skiller-plugin-conflicts-should-skip-local-skills.md 将根因定位为既有 skiller 行为把冲突解决方式硬编码为 namespace-on-conflict冲突即命名空间化。也就是说当插件技能与已存在技能重名时skiller 唯一会做的事是保留本地目录把插件条目安装到一个带命名空间前缀的新目录下。这种策略对插件 vs 插件的碰撞是合理的避免一个插件静默覆盖另一个但对本地/手动技能故意屏蔽插件内容的场景却是错误行为——本地技能明明已经占用了规范名称插件副本毫无必要地被再同步一份。计划阶段还记录了三条关键调研发现仓库既有 learnings 只覆盖了skiller.toml中的规范 agent id没有覆盖重复插件技能这一情况learnings-researcher技能引用的 critical-patterns 文件在本仓库中并不存在skiller 仓库的cloneLoadedConfig位于../skiller/src/core/apply-engine.ts在克隆配置时会丢弃skills配置因此新增的skills选项必须在这个函数中一并透传否则会在 apply 路径上被静默丢失。解决方案引入plugin_conflict_strategy配置项核心方案是给 skiller 新增一个skills.plugin_conflict_strategy设置提供两种策略策略值语义适用场景namespace默认行为。冲突时保留本地目录插件条目安装到命名空间化目录插件与插件之间的同名碰撞保证各插件互不抹除skip当插件条目的基础名称已被本地或其他非托管目录占用时直接丢弃该插件条目本地/手动技能故意与插件同名并希望本地版本生效的仓库对应的 TOML 配置写法如下[skills] enabled true plugin_conflict_strategy skip实现链路从配置解析到插件同步解决文档还原了完整的实现改动路径共四个环节配置解析从[skills]区块解析plugin_conflict_strategy与既有的enabled等选项一同进入配置对象。配置透传将该设置穿过propagateSkills一路传递到ClaudePluginSync同时补上计划文档点名的cloneLoadedConfig丢配置问题——凡是新建的skills选项都必须在该函数中保留否则 apply 路径上拿不到它。同步行为分支在插件同步逻辑中当策略为skip且插件条目的基础名称已被本地/手动目录保留时不再创建或保留命名空间化的插件目标目录。保留插件间命名空间namespace行为仍然是默认值插件与插件之间的碰撞依旧走命名空间化避免一个插件静默覆盖另一个插件。仓库内的配置落地与当前快照配置目标写入了 plate 仓库的.agents/skiller.toml。从当前仓库快照看.agents/skiller.toml 的配置结构为# Default agents to apply when --agents flag is not specified default_agents [claude-code, codex] # --- Fork Configuration --- [rules] merge_strategy cursor [backup] enabled false # --- Global Configuration --- [skills] enabled true其中[skills]区块保留了enabled true。需要说明的是解决文档记载的目标配置包含plugin_conflict_strategy skip一行而当前文件快照的[skills]区块仅显式保留了enabled true读者在复现时应以解决文档给出的完整配置enabled与plugin_conflict_strategy同时存在为准并结合自己仓库的 skiller 版本确认字段是否生效。另外.agents/skiller.toml并非 plate 独有模板目录 templates/plate-playground-template/.agents/skiller.toml、templates/plate-template/.agents/skiller.toml 以及 tooling/preset/.agents/skiller.toml 中均存在同样的 skiller 配置文件说明该治理方案面向模板与预设链路是成套设计的。关于插件技能在 plate 中的实际使用形态可参考 compound-engineering-tree.md它根据skiller-lock.json与.agents/rules下的规则文件梳理了 plate 实际保留的 Compound Engineering 技能树task lane、major-task lane、document-review pass 等。这份分析文档可以帮助你理解哪些插件技能被真正接线使用哪些只是被同步而未启用。验证与回归步骤计划文档给出了双侧验证清单覆盖 skiller 仓库与 plate 仓库skiller 侧针对配置解析与插件同步行为编写定向 Jest 测试验证plugin_conflict_strategy的解析与skip分支行为pnpm build确认构建通过pnpm lint:fix执行 lint 修复。plate 侧运行skiller apply验证不再重新生成重复的compound-engineering-*技能目录。计划文档中的原始命令为bun x /Users/zbeyens/git/skiller/dist/cli/index.js apply其中的绝对路径是作者本机构建产物路径复现时应替换为你本地 skiller 的构建输出或安装路径pnpm lint:fix确认同步后仓库无新增 lint 问题。为什么这个方案有效重复目录产生的唯一原因是插件同步缺少本地优先、插件跳过模式。启用skip后同步时凡基础名称已被本地/手动技能占用的插件条目不再分配命名空间目标既有的命名空间化插件目录如compound-engineering-ce-plan在下次同步时因为不再是预期的 manifest 条目会被自然清理无需手工删除。预防与排障建议在刻意保留本地/手动技能、同时启用全局市场插件的仓库中显式配置skills.plugin_conflict_strategy skip并把该配置随.agents/skiller.toml一并纳入版本控制保证新克隆仓库行为一致。不要把全局默认值改为skipnamespace应当保留为 skiller 的默认策略确保插件与插件之间的同名碰撞仍然可见而不是静默消失。排障提示当skiller apply后出现 dirty 的compound-engineering-*目录时先检查仓库是否已存在同名基础技能如ce-plan、document-review再怀疑重命名逻辑多半是冲突策略未生效或配置未透传到插件同步路径。【免费下载链接】plateRich-text editor with AI and shadcn/ui项目地址: https://gitcode.com/GitHub_Trending/pl/plate创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
延伸阅读

更多相关文章

2026/9/15 11:07:21

1. 抓娃娃-二分

题目理解 题目:n 条线段,m 个查询区间[L,R]。 如果某条线段至少一半长度落在查询区间[L,R]里面,就代表这条线段被框住。求每个查询能框住多少条线段。 证明: 线段中点落在查询区间[L,R],说明中点被包住,那么…

2026/9/15 11:12:21

联邦学习结合知识蒸馏,解决入侵检测Non-IID数据难题

简介:这是一份基于联邦学习与知识蒸馏的网络入侵检测模型完整源码包,面向计算机、数学、电子信息等专业学生,可用于课程设计、期末大作业或毕业设计参考。项目在NSL-KDD数据集上完成验证,代码同时包含服务端与客户端协同训练框架、…

2026/9/15 11:12:21

SAP MM STO采购订单由于供应商工厂清空下成普通订单!

1、问题: 由于SAP 里面内部供应商对应的工厂被清空,采购订单下单时候变成普通订单,无装运点数据,影响业务! 2、解决方案: **修改EEKO表 将供应工厂RESWK字段为空改成供应商代码,然后前台更新采购…

2026/9/15 11:12:21

抖音批量下载 5 分钟跑通:从单条视频到整个收藏夹

抖音批量下载 5 分钟跑通:从单条视频到整个收藏夹 【免费下载链接】douyin-downloader A practical Douyin downloader for both single-item and profile batch downloads, with progress display, retries, SQLite deduplication, and browser fallback support. …

2026/9/15 4:54:30

拯救者Y7000黑屏故障排查与维修实战指南

1. 项目概述:一台黑屏的拯救者Y7000,到底卡在哪一步? 联想拯救者Y7000系列笔记本,从2018年第一代搭载i5-8300H开始,到后来的i7-9750H、i7-10750H、i5-11400H,再到2023年款的R7-7840HS,它始终是学…

2026/9/15 0:01:16

AI英语单词APP开发:自适应学习算法与移动端优化实践

1. 项目概述 作为一名在移动应用开发领域摸爬滚打多年的老手,我最近完成了一个AI英语单词APP的开发项目。这个项目将传统单词记忆方法与现代AI技术相结合,打造了一款能够智能适应不同用户学习习惯的英语学习工具。 市面上大多数单词APP都存在一个通病&a…

2026/9/15 0:01:16

Flutter与OpenHarmony结合开发手语学习APP实战

1. 项目背景与核心价值作为一名同时接触过Flutter和OpenHarmony的开发者,最近我完成了一个基于Flutter for OpenHarmony的手语学习APP实战项目。这个项目最大的特点在于实现了跨平台框架与国产操作系统深度结合的创新实践——用Flutter开发的应用能完美运行在OpenHa…

2026/9/15 0:01:16

六个月成为机器人工程师:从ROS2到SLAM的实战路径

1. 六个月的紧迫感从哪来:先搞清楚你要成为哪种机器人工程师说实话,六个月的期限并不是一个宽松的时间线。市面上任何一本正经的机器人学教材都超过五百页,ROS2的官方文档可以翻到你怀疑人生,再加上ABB、KUKA这些工业机器人厂家动…

2026/9/14 11:59:31

USB Type-C PCB布局分区设计:电源、高速信号与PD协议全攻略

做硬件这行,Type-C接口算是典型的“看着简单,做起来全坑”的东西。光引脚就24个,高低速信号、电源、控制线全部塞在一个小小的连接器里,如果PCB布局不做规划,打样回来基本就是“插上没反应”、“高速掉线”、“静电一打…

2026/9/14 13:53:59

系统编程学习原型如何补齐稳定性边界

系统编程学习原型如何补齐稳定性边界预算有限时&#xff0c;我先优化明显多余的复制&#xff0c;而不是猜测性地换容器。用借用传递只读数据通常就能减少分配&#xff1a; fn parse(line: &str) -> Result<Item, Error> { /* ... */ }用基准确认热点确实在分配&am…

2026/9/14 11:22:57

雨花区哪家财务公司代理记账比较好?

在雨花区&#xff0c;企业处理财税事务常常面临诸多挑战&#xff0c;选择一家靠谱的财务公司至关重要。湖南巨勤财务管理咨询有限公司就是本地正规实体财税服务机构&#xff0c;深耕本地工商财税行业多年&#xff0c;熟悉当地工商局、税务局最新政策与申报流程。主营公司注册、…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
咨询二维码