当前位置: 首页 > news >正文

如何为pm-skills贡献一个新技能?完整开发流程与验证脚本使用指南

如何为pm-skills贡献一个新技能?完整开发流程与验证脚本使用指南

【免费下载链接】pm-skillsPM Skills Marketplace: 100+ agentic skills, commands, and plugins — from discovery to strategy, execution, launch, and growth.项目地址: https://gitcode.com/GitHub_Trending/pm/pm-skills

pm-skills(PM Skills Marketplace)是一个面向产品管理者的 AI 技能市场,收录了 9 大插件、68 个技能与 42 个命令。想为 pm-skills 贡献一个新技能并不复杂:按现有目录结构编写 SKILL.md、遵循 frontmatter 规范、最后运行官方验证脚本 validate_plugins.py 即可。本文带你走完整条开发流程,让你第一次提交 PR 就能顺利通过审查。

快速了解 pm-skills 的项目结构

动手前先搞清楚"技能"和"命令"的区别,这是贡献指南 CONTRIBUTING.md 中最重要的两条约定:

概念比喻存放位置加载方式
Skill(技能)名词:领域知识skills/{技能名}/SKILL.md话题相关时自动加载
Command(命令)动词:工作流commands/{命令名}.md用户通过/命令名触发

以 pm-data-analytics 插件为例,它的技能 sql-queries 负责"自然语言转 SQL"的领域知识,而命令 write-query.md 则把该技能串成/write-query工作流。两者各司其职,很多命令还会复用同一个技能。

贡献前的第一步:选对入口

CONTRIBUTING.md 对贡献渠道有明确分工:

  • Bug、错别字等小改动—— 直接开 PR
  • 新技能、新命令或较大改动—— 先开一个 Issue 讨论方案,再动手

同时记住两条硬性规范:

  1. 每个技能必须有 YAML frontmatter,包含namedescription
  2. 技能的name必须与目录名完全一致

仓库结构约定详见 CLAUDE.md,它是项目维护的唯一事实来源,每个插件都遵循相同的骨架:

pm-{插件名}/ ├── .claude-plugin/plugin.json ← 插件清单 ├── skills/{技能名}/SKILL.md ← 一个技能一个文件夹 ├── commands/{命令名}.md ← 一个命令一个文件 └── README.md ← 插件说明文档

五步完成一个新技能的开发

第 1 步:克隆仓库

git clone https://gitcode.com/GitHub_Trending/pm/pm-skills cd pm-skills

第 2 步:创建技能目录与 SKILL.md

在目标插件下新建skills/你的技能名/目录,并创建 SKILL.md。frontmatter 是最容易出错的地方,参考 validate_plugins.py 的校验规则,正确写法是:

--- name: your-skill-name description: "技能是做什么的。Use when 什么场景下触发该技能。" --- # 技能标题 正文写框架步骤、使用示例……

三个细节决定成败:

  • name必须与目录名一字不差;
  • description建议 30 字符以上,并包含 "use when / use for" 等触发词,AI 才会在对的时机加载它;
  • 正文保持在 50~3000 词之间,过长可拆分到 references/ 子目录做渐进式披露。

第 3 步:(可选)编写配套命令

若需要一个/命令来驱动该技能,在commands/下新建.md文件,frontmatter 需要descriptionargument-hint两个字段。注意:命令中禁止硬引用其他插件,跨插件的后续步骤只能用自然语言建议(如"要不要我帮你设计增长循环?")。

第 4 步:同步文档与版本号

按 CLAUDE.md 的运维流程,新增/删除技能后要做三件事:

  1. 更新对应插件 README 和根 README.md 中的技能计数;
  2. 同步 .claude-plugin/marketplace.json 中的总数描述;
  3. 统一提升版本号——所有插件与 marketplace.json 必须保持同一版本(当前均为 2.0.0)。

第 5 步:运行验证脚本 validate_plugins.py

这是提交前的最后一道关卡,也是 pm-skills 对每个贡献者的明确要求。

验证脚本 validate_plugins.py 使用指南

在仓库根目录执行:

python3 validate_plugins.py

可选地传入目录参数来校验指定位置:python3 validate_plugins.py /路径/。脚本会自动找出所有包含.claude-plugin/的插件目录并逐一检查,退出码为 0 表示全部通过。

它到底检查了什么?

检查项错误(必须修)警告(建议修)
插件清单 plugin.json缺少 name/version/description、名称与目录不符版本不符合 semver、缺少 keywords、author 字段不全
技能 SKILL.md缺 frontmatter、缺 name/description、名称与目录不符描述过短、正文过长(>3000 词)或过短(<50 词)
命令 .md缺 frontmatter、缺 description缺少推荐字段 argument-hint
交叉引用命令引用了本插件中不存在的技能

报告末尾会给出✓ ALL CHECKS PASSED✗ N ERRORS的总结。只要出现 ERROR,PR 大概率会被打回;WARN 不阻断合并,但建议一并处理。脚本的完整校验逻辑可查阅 validate_plugins.py。

提交前自检清单 ✅

  • 技能name与目录名一致
  • frontmatter 必填字段齐全(技能:name+description;命令:description+argument-hint)
  • 描述包含触发词,长度达标
  • 没有跨插件硬引用
  • 插件 README 与根 README 计数已更新
  • 各插件版本号与 marketplace.json 保持同步
  • python3 validate_plugins.py零错误
  • PR 聚焦单一改动(一个 PR 只做一个变更)

常见问题

Q:我的贡献会被署名吗?会。CONTRIBUTING.md 明确每位贡献者都会被公开列出,且贡献按 LICENSE(MIT)授权。

Q:只想贡献纯技能,不想写命令,可以吗?完全可以。像 prioritization-frameworks 这类技能就是独立的参考型知识,AI 在相关话题下会自动调用,无需任何命令。

Q:Windows 上验证脚本中文/特殊字符显示异常?脚本已内置 Windows UTF-8 输出兼容处理,直接运行即可。


掌握"技能是名词、命令是动词"的核心心智模型,再加上验证脚本这道自动门禁,你为 pm-skills 贡献的第一个新技能很快就会合入。动手前记得:先开 Issue 讨论,保持 PR 聚焦,验证通过再提交 🚀

【免费下载链接】pm-skillsPM Skills Marketplace: 100+ agentic skills, commands, and plugins — from discovery to strategy, execution, launch, and growth.项目地址: https://gitcode.com/GitHub_Trending/pm/pm-skills

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

http://www.cnnetsun.cn/news/4349990.html

相关文章:

  • 手术场景视觉-轨迹联合预测模型:从原理到工程部署
  • iFixAi新手完整教程:从干净机器到可引用审计报告只需4步
  • 基于Java+SpringBoot的船舶物料供应商交易平台的设计与实现(毕业设计项目源码+文档)
  • FreeRTOS 中优先级反转的解决方案-互斥量
  • Monorepo中管理多个DESIGN.md:多设计系统并行的完整指南
  • AI视频转场不靠运气:用Skill固化创作流程
  • 轮腿机器人离板面加速:5cm技术鸿沟的动力学原理与仿真实现
  • Abaqus热力耦合断裂仿真:UMAT/VUMAT子程序开发与工程实践
  • 如何用Feynman的rank命令给论文排优先级:PaperRank基于引用与复现证据的科学评分完整指南
  • Humanizer-zh 去 AI 痕迹实战 4 场景:营销文案、学术摘要、博客文章改写前后完整对比
  • 区块链智能合约详解:从原理到可运行Solidity源码实战
  • Hallmark Hero 标题长度与字号钳制关系:4 档自动降档规则完整指南
  • Java校招面试复盘:从基础八股到工程化实战
  • 给AI装上长期记忆:ZeroClaw记忆系统(SQLite+嵌入向量)完整配置攻略
  • AI Agent从入门到落地:概念、工具调用与日志分析实战
  • 内容泄露如何溯源?从权限控制到水印取证的完整技术指南
  • 香橙派5安装Windows ARM全流程:UEFI与ACPI配置必备指南
  • PDFMathTranslate 完整使用指南:如何在本地快速完成 PDF 科学文档翻译
  • next-ai-draw-io:一句话画出专业架构图,自然语言 draw.io 完整上手指南
  • OpenVoice 语音克隆:3秒参考音频如何做到跨语言音色迁移与风格自由控制
  • 如何从零搭建PDF翻译网页服务:PDFMathTranslate部署与公网访问配置指南
  • 用双色球历史数据练手:Excel与MySQL数据处理全流程实战
  • MediaPipe ARM aarch64 构建实战:两条路径把 mediapipe 装进你的设备
  • 基于C#的FANUC FOCAS数据采集方案:从环境搭建到设备监控实现
  • 基于DeepSeek Harness构建Obsidian智能助手:从零开发AI知识管理Agent
  • 大模型多轮训练实战:从SFT到强化学习的迭代优化方法
  • Marin Pulumi基础设施即代码:一个Stack管理全部云资源的终极方案
  • WeChat本地数据库深度解析:WeFlow破解的加密盒子就藏在你电脑里
  • iFixAi 裁判选择完全参考:单裁判 vs 多裁判集成,成本与可靠性怎么算
  • Semantica Datalog推理深度解析:递归规则与传递关系实战