关于 meteor-community-packages
用于发现、评估和采用 Meteor 社区包的技能。它帮助开发者在添加依赖前核实维护方、版本兼容性、行为变化、集成要求及针对性测试。
主要功能
- 01包的发现与比较
- 02维护方和发布状态核查
- 03Meteor 版本兼容性核查
- 04集成与回滚指导
- 05制定包专属测试计划
适用场景
- 01为缺失功能寻找合适的包
- 02Meteor 升级前检查包兼容性
- 03评估行为与安全变化
- 04规划包的采用和回滚
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ meteor/ agent-skills --skill meteor-community-packages安装后在 Claude Code 中输入/meteor-community-packages确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/archive.mdcluster.mdeval-cases.mdjam-method.mdjam-pub-sub.mdmail-preview.mdmeteor-rpc.mdmongo-transactions.mdoffline.mdpackage-catalog.mdpackage-installation.mdroles.mdsoft-delete.mdwormhole.md详细介绍
Meteor 社区包
将 Meteor 社区包页面用作经过筛选的发现目录。页面收录并不意味着某个包属于 Meteor 核心、由 Meteor 组织接手维护,或保证与每个 Meteor 3 版本兼容。只有在检查所有权、当前版本、支持的 Meteor 范围以及对应用行为的影响后,才选择该包。
此技能负责包的发现、比较、首次采用,以及 Meteor 核心文档中记录的包专属集成内容。它不能替代核心技能;核心技能涵盖方法、发布、Mongo、账户、安全、测试、构建或部署。
决策流程
- 明确缺少的功能以及必须保持不变的行为。区分首次采用与 Meteor 升级期间停止解析的包。后者应转交给
migrate-to-meteor-3。 - 检查
.meteor/release、.meteor/packages、.meteor/versions、package.json和 npm 锁文件。包 API 取决于解析出的包版本,而不仅仅是 Meteor 版本。 - 如果请求符合已记录的目录条目或推荐包,请阅读
references/package-catalog.md。只打开所选包的本地指南,并在回复前阅读其中的基准、选择规则和必需检查。之后再查阅指南链接的上游仓库,了解超出 Meteor 维护指南范围的 API 或版本。 - 正确分类候选包:
- 文档中列出的社区包由其列明的维护者负责,并有独立的发布周期。
- Meteor Community 下的包由社区维护,不属于 Meteor 核心。
- 已晋升为核心的包(例如 Meteor 3.1+ 中的
roles)使用核心包名称和 Meteor 文档。
- 比较行为,而非功能标签。识别猴子补丁、查询或删除语义的变化、客户端持久化、重放、外部端点、数据库拓扑要求,以及对生产运行时的影响。
- 从官方文档核实 Meteor 最低版本要求,并从其注册表或仓库核实包版本。如果文档未说明最低版本要求,应明确指出,并检查当前发布版本,而不是推断兼容性。
- 通过包文档指定的生态系统安装。Atmosphere 包使用
meteor add,npm 包使用meteor npm install。不要臆造版本约束。安装后,在.meteor/versions或 npm 锁文件中确认解析出的版本。 对于 Meteor 3.6-beta.0 中通过交互方式或 Git 采用的 Atmosphere 包,请阅读包安装。在脚本中使用明确的注册表名称;保留 npm 工作区选定的包管理器。 - 执行所选包指南中所有相关的必需检查。不要在询问项目路径后就停止。如果无法访问文件,应说明必须进行的具体版本、安全、行为和测试检查。 对于指南未涵盖的选项,应通过上游仓库核实解析出的版本,而不是根据其他版本进行推断。
- 添加最小化的代表性集成,并测试包专属行为以及底层 Meteor 不变量。授权、验证、发布选择器、索引、事务设计、构建输出或部署架构应使用对应的核心技能。
生态系统选择
当某项能力依赖 Meteor 包、客户端/服务端打包、Meteor 构建插件、包全局变量或 Meteor 约束求解器时,使用 Atmosphere 包。通用 JavaScript 库和面向 npm 生态系统设计的包则使用 npm。Meteor 应用可以同时使用两者。
Atmosphere 和 Packosphere 均提供包元数据。Packosphere 的维护信号有助于分诊,但不能取代对源代码仓库、发布历史、未解决的兼容性问题、许可证和解析版本的检查。
实用检查命令:
meteor --version
meteor show <atmosphere-package>
meteor list
meteor npm view <npm-package> version
采用检查
对于每个选定的包,回复必须说明:
- 它为何比文档中列出的替代方案更适合。
- 由谁维护,以及它由社区维护还是属于核心组件。
- 如何验证当前上游版本和解析出的包版本,以及文档中说明的 Meteor 兼容范围。
- 它会改变哪些应用语义。
- 它会暴露哪些数据、端点或服务端能力。
- 如何移除或回滚集成。
- 所选指南中有哪些具体的重点测试,可证明预期行为及其安全边界。
应将封装器视为扩展,而不是 Meteor 安全模型的替代品。方法和发布辅助工具仍需服务端授权和参数校验。客户端持久化仍需遵循最小权限原则来选择数据。外部方法桥接需要明确审查其暴露范围和身份验证。 对于 Wormhole 或其他外部方法桥接,回复必须包含暴露前检查清单,涵盖方法清单、现有身份验证和授权、输入校验、速率限制、副作用、返回字段、凭据测试,以及证明未暴露的方法仍不可访问。
路由
| 请求 | 负责的技能 |
|---|---|
| 软件包在升级期间无法解析、构建或支持 Meteor 3 | migrate-to-meteor-3 |
| 方法实现、校验、乐观 UI 或速率限制 | meteor-methods |
| 发布设计、授权或响应式数据语义 | meteor-pubsub |
| 集合选择器、索引、Change Streams 或 Mongo 行为 | meteor-mongo-minimongo |
| 账户与授权设计,包括角色如何保护服务端操作 | meteor-accounts 和 meteor-security |
| 集群拓扑或生产环境部署 | meteor-deployment |
| 发布或维护 Atmosphere 软件包 | 软件包创作工作流,不属于此技能 |
反模式
- 仅因某个软件包出现在 Meteor 文档中就推荐它。
- 将 Meteor Community 维护误认为 Meteor 核心支持。
- 假设某个软件包支持此技能支持的所有 Meteor 3 版本。
- 未检查已安装的软件包版本,就照搬最新 API。
- 在选择数据模型之前,同时采用两种替代方案,例如归档和软删除。
- 任由封装器的默认设置悄然削弱方法、发布或数据访问控制。
- 将兼容性桥接作为新系统的默认架构。