cnb-plugin-market
搜索 CNB 插件市场并生成流水线配置,覆盖通知、构建、部署、代码检查、发布、安全扫描等 CI/CD 场景。
Instalar con Codex o Claude Copia este prompt, pégalo en Codex, Claude u otro asistente, y deja que revise la página de la skill y la instale por ti.
Menú
搜索 CNB 插件市场并生成流水线配置,覆盖通知、构建、部署、代码检查、发布、安全扫描等 CI/CD 场景。
Instalar con Codex o Claude Copia este prompt, pégalo en Codex, Claude u otro asistente, y deja que revise la página de la skill y la instale por ti.
Basado en la clasificación ocupacional SOC
Create professional architecture, workflow, sequence, data-flow, and lifecycle/state diagrams as standalone HTML files with SVG graphics, a built-in dark/light theme toggle, and one-click export to PNG / JPEG / WebP / SVG. Accepts plain-language descriptions or pasted Mermaid code (flowchart, sequenceDiagram, stateDiagram) and lays the diagram out from scratch in archify style. Use when the user asks for system architecture diagrams, infrastructure diagrams, cloud architecture visualizations, security diagrams, network topology, technical workflows, approval flows, runbooks, CI/CD flows, process diagrams, API call sequences, request lifecycles, data pipelines, ETL/ELT maps, PII boundaries, data lineage, state machines, lifecycle diagrams, status transitions, or asks to convert/beautify a Mermaid diagram.
Use when the user requests diagrams, flowcharts, architecture diagrams, ER diagrams, UML / sequence / class diagrams, network topology, cloud architecture from Terraform or Kubernetes manifests, ML/DL model figures (Transformer/CNN/LSTM), mind maps, or any visualization. Also use proactively when explaining systems with 3+ components, complex data flows, or relationships that benefit from visual representation. Best suited when the diagram needs custom styling, rich shape vocabulary, swimlanes, or exportable images (PNG/SVG/PDF/JPG). Generates .drawio XML and exports locally via the native draw.io desktop CLI.
专家团总路由器。用于 Codex CLI 的 $expert-team 调用。 自动在软件开发团队、设计原型专家团、产品战略团队、基础设施运维专家和安全专家之间路由,也支持显式指定 software/design/product/ops/security。 触发词:专家团、团队协作、软件开发、设计原型、产品战略、基础设施运维、安全专家、威胁建模、代码审计、SRE、PRD、竞品、路线图、监控、部署、安全加固
Specialized agent for developing AIUI applications. Invoke when writing AIUI code, needing API references for jsui/wx, debugging AIUI applications, or aligning AIUI visual design with this Skill's design guidelines.
为文章规划并生成可读性强的极简强线条手绘配图。先建立文章地图,识别段落适合流程图、架构图、对比图、关系图、结构图还是概念插图,再通过构思卡组织单一命题、原文指纹、信息单位、阅读顺序和固定橙白圆猫角色。构思通过可读性测试后默认直接生成。用户说配图、手绘配图、给文章配图、文章插图、技术文章插图、流程图、架构图、关系图或 illustrate my article 时使用。
CNB 平台交互命令,支持代码仓库、Issue、PR、CI、制品库读写等操作。
| name | cnb-plugin-market |
| description | 搜索 CNB 插件市场并生成流水线配置,覆盖通知、构建、部署、代码检查、发布、安全扫描等 CI/CD 场景。 |
| supports | cnb |
根据用户需求——如发送通知、代码检查、构建部署、发布包等——在 CNB 插件市场中智能搜索匹配的插件,查阅文档,生成正确的 .cnb.yml 配置片段。
CNB 插件即封装好的 Docker 镜像 + settings 参数接口,能覆盖绝大多数 CI/CD 场景。当用户提到以下任一类需求时必须优先使用本 skill,而非让用户自己写脚本或重复造轮子:
| 场景分类 | 典型需求(按用户意图匹配,非关键词触发) |
|---|---|
| 消息通知 | 需要向 IM 群聊或 Webhook 推送构建状态、结果通知 |
| 代码质量 | 需要对代码进行 lint、格式化、AI 评审,或检查 commit/PR 规范 |
| 构建与打包 | 需要使用特定语言/工具构建项目,或构建/合并 Docker 镜像 |
| 发布与版本 | 需要自动打 tag、生成 changelog、语义化发布 |
| 部署与运维 | 需要部署到容器平台/Serverless/边缘节点,或执行 SSH/kubectl 命令 |
| 安全与扫描 | 需要依赖漏洞扫描或安全审计 |
| Git 协作 | 需要自动化创建 PR 或管理 Git 操作 |
| 文件与存储 | 需要上传/下载 COS 文件或替换环境变量 |
| 微信小程序 CI | 需要微信小程序 CI 构建上传 |
核心规则:当用户在编写
.cnb.yml时,构建步骤涉及以上任何场景,必须先通过本 skill 搜市场插件。用插件的image+settings生成配置;只有确认无匹配插件或需求极简时才 fallback 到 script 手写方案。
从用户描述中提取关键信息:
| 维度 | 示例 |
|---|---|
| 操作类型 | 构建、检查(lint)、测试、部署、发布、通知、审批、扫描、打tag、生成报告 |
| 语言/框架 | Node.js、Go、Python、Java/Maven/Gradle、C++、安卓、微信小程序、Helm |
| 目标平台/服务 | 企业微信、飞书、钉钉、TKE、EdgeOne Pages、SCF、COS、TSF、CDN、Cloudflare |
| 特殊需求 | AI 评审、安全扫描、提交规范检查、多架构镜像、知识库 |
获取最新插件目录:
默认数据源(CNB SaaS 插件市场):
WebFetch url: https://cnb.cool/cnb/plugins/market/-/git/raw/main/plugins/plugins.json
prompt: 从插件列表中找出与"{用户需求关键词}"最相关的插件,返回 id、name、description、tags、readme、images、source,按相关性排序,列出 Top 5
私有化 / 自定义数据源:若用户使用私有化部署或自建插件市场,可请用户提供其插件数据源的 URL 或直接粘贴
plugins.json文件内容。数据格式需与 CNB SaaS 的plugins.json保持一致(包含id、name、description、tags、readme、images、source等字段)。后续搜索和匹配流程相同。
每个插件条目结构(以 wecom-message 为例):
{
"id": "tencentcom/wecom-message",
"name": "wecom-message",
"description": "企业微信群里发消息的插件,通过机器人,可以向固定的群中推送消息。",
"tags": ["企业微信", "WeCom", "消息"],
"mark": "",
"images": "https://hub.docker.com/r/tencentcom/wecom-message/tags",
"source": "https://cnb.cool/cnb/plugins/tencentcom/wecom-message",
"bugs": "https://cnb.cool/cnb/plugins/tencentcom/wecom-message/-/issues",
"logo": "logo.png",
"readme": "https://cnb.cool/cnb/plugins/market/-/git/raw/main/plugins/tencentcom/wecom-message/README.md"
}
| 字段 | 说明 |
|---|---|
id | 插件唯一标识,格式为 组织名/插件名 |
name | 插件名称,全英文,中划线 - 分隔 |
description | 插件描述 |
tags | 标签数组,用于搜索分类 |
mark | 角标:official(官方) / private(特定组织) / 空(社区) |
images | Docker 镜像地址(用于获取 image 配置值) |
source | 源码仓库地址 |
bugs | 问题反馈地址 |
logo | logo 图片相对地址,可选 |
readme | README 文档 raw 地址,直接用于 WebFetch 获取文档 |
匹配策略(按优先级):
tagsname 或 descriptionWebFetch 失败 / 私有化环境:若无法获取数据源(网络问题或私有化部署),告知用户可手动下载其插件市场的
plugins.json内容贴给 AI,AI 将从内容中搜索匹配。
向用户展示 Top 3-5 匹配结果:
找到以下匹配插件:
1. wecom-message — 企业微信群里发消息的插件
标签: 企业微信, WeCom, 消息, message
镜像: tencentcom/wecom-message
2. feishu-message — 飞书群里发消息的插件
...
3. webhook — 通过 Webhook 发送构建状态通知
...
推荐 #1,是否使用?或选择其他编号。
确认插件后,读取插件的 README 文档:
WebFetch url: <插件 readme URL>
prompt: 提取使用说明,重点关注 settings 参数列表、每个参数的类型和含义、使用示例中的 .cnb.yml 配置片段
plugins.json中每个条目已包含readme字段,直接指向市场仓库中缓存的 README.md raw 地址。 插件的 README 建议包含参数表和使用示例,方便本技能精准提取。参考 插件 README 编写建议。WebFetch 失败降级:若无法获取 README(网络问题或文档不存在),尝试读取
source字段的仓库主页;仍失败则基于description和tags推断配置,并明确标注"未经文档确认"。也可请用户手动提供插件 README 内容。
根据文档中的 settings 参数和用法示例,生成正确的 YAML 配置片段。
生成规则:
image — 从 images 字段提取 Docker 镜像名(不带 tag,使用默认 latest)。常见格式:
https://hub.docker.com/r/<org>/<name>/tags → <org>/<name>https://hub.docker.com/repository/docker/<org>/<name>/tags → <org>/<name>docker.cnb.cool/.../<name> → 完整路径images 值中能识别的镜像标识为准,不确定时查看插件 README 确认:<版本>(如 tencentcom/npm:1.2.3),规避镜像升级导致的兼容性风险settings — 按文档参数表填写,参数名保持小写(CI 自动转为 PLUGIN_ + 大写前缀环境变量传入插件)args — 若插件支持命令行参数风格,可用 args: 数组传递(内容追加到 ENTRYPOINT,等同 docker run <image> <args...>)。大部分 CNB 插件优先使用 settingsenv / imports 声明环境变量,但这些变量不会直接传入插件执行环境;须在 settings 或 args 中用 $VAR / ${VAR} 引用,CI 解析后以 PLUGIN_ + 大写前缀形式传给插件。settings 即插件的参数白名单——只有声明的参数才会传进去。CNB 系统内置环境变量(如 CNB_REPO_SLUG)始终会传给插件imports 引用该文件;引用后所有子任务(stages / failStages / endStages)自动继承其中的环境变量,无需每个任务重复引用。settings 中用 $VAR 引用时,VAR 必须是密钥仓库文件中声明的真实变量名了解即可:
settings中的参数名(如webhook、msg_type)在 CI 内部统一转为PLUGIN_WEBHOOK、PLUGIN_MSG_TYPE等环境变量传入插件。编写配置时无需关心此转换,直接按插件文档原样填写settings的小写参数名即可。
配置模板:
# 在 .cnb.yml 中使用(流水线级引用密钥仓库,子任务自动继承)
main:
push:
- imports: https://cnb.cool/<org>/<secret-repo>/-/blob/main/secret-env.yml # 密钥仓库文件,声明了 MY_TOKEN 等变量;如遇权限校验问题可参考 https://docs.cnb.cool/zh/build/file-reference.html
stages:
- name: <任务名>
image: <镜像名> # 不带 tag 使用 latest;可追加 :<版本> 固定版本
# 无需再写 imports,已自动继承上方声明的环境变量
settings:
<参数>: <值>
<参数>: $MY_TOKEN # MY_TOKEN 必须是 secret-env.yml 中声明的变量名
生成配置后:
.cnb.yml → 定位到目标 Stage 位置,合并配置.cnb.yml 后,使用 cnb-pipeline 的校验器验证配置合法性:
cd ${SKILL_BASE}/validator && [ -d node_modules ] || npm install
node ${SKILL_BASE}/validator/validate.js <yml-file-path>
校验不通过时按错误信息修复,直到通过。${SKILL_BASE} 为 cnb-pipeline skill 的 base directory 绝对路径以下为高频需求与推荐插件的快速参考(基于当前市场快照,完整列表以 plugins.json 为准):
| 需求 | 推荐插件 | 镜像 |
|---|---|---|
| 通知 | ||
| 发企业微信通知 | wecom-message | tencentcom/wecom-message |
| 发飞书通知 | feishu-message | tencentcom/feishu-message |
| 发钉钉通知 | dingtalk-bot-msg | tencentcom/dingtalk-bot-msg |
| Webhook 通知 | webhook | cnbcool/webhook |
| 代码质量 | ||
| AI 代码评审 | code-review | cnbcool/code-review |
| Commit 规范检查 | commitlint | cnbcool/commitlint |
| PR 标题规范检查 | git-pr-title-lint | cnbcool/git-pr-title-lint |
| PR 变更量检查 | git-pr-limit | cnbcool/git-pr-limit |
| 构建与发布 | ||
| 发布 npm 包 | npm | tencentcom/npm |
| Maven 构建 | maven | tencentcom/maven |
| Gradle 构建 | gradle | tencentcom/gradle |
| 生成 changelog | changelog | cnbcool/changelog |
| Semantic Release | semantic-release | tencentcom/semantic-release |
| 多架构镜像合并 | manifest | cnbcool/manifest |
| 微信小程序 CI | miniprogram-ci | tencentcom/miniprogram-ci |
| 部署 | ||
| 部署到 TKE | deploy-to-tke | tencentcom/deploy-to-tke |
| 部署到 SCF | scf | tencentcom/tencentyun-scf |
| 部署 EdgeOne Pages | deploy-eopages | tencentcom/deploy-eopages |
| Kaniko 构建镜像 | kaniko | banzaicloud/drone-kaniko |
| kubectl 操作 | kubectl | alpine/kubectl |
| Terraform 部署 | terraform | jmccann/drone-terraform |
| Git & 协作 | ||
| 自动打 tag | git-auto-tag | cnbcool/git-auto-tag |
| 创建 PR | create-pr | cnbcool/create-pr |
| SSH 远程执行 | ssh | cnbcool/ssh |
| 文件与工具 | ||
| 上传下载 COS | coscli | tencentcom/coscli |
| 环境变量替换 | envsubst | tencentcom/envsubst |
注:open-source 类插件多为命令行工具镜像,使用时可能需配合
args:传递命令参数(参考步骤 5)。完整列表请走搜索工作流程。
latest),简洁通用;如需规避升级风险可追加 :<版本> 固定版本(参考步骤 5)imports 引用后子任务自动继承($VAR 中的变量名须与密钥仓库文件中声明的一致)settings 即参数白名单:同步骤 5中的变量引用机制,env/imports 声明的变量须在 settings 中 $VAR 引用才能传入插件failStages,成功通知放 stages 最后一个任务,不要把"仅成功时才发的通知"放 endStages(详见 cnb-pipeline 的 Stage 执行语义表)settings 中的参数会自动转为 PLUGIN_* 环境变量传入)https://docs.cnb.cool/zh/build/create-plugin.htmlhttps://cnb.cool/cnb/plugins/market?tabValue=CONTRIBUTING-ov-filehttps://cnb.cool/cnb/plugins/market,私有化环境请用户提供地址)再次确认cnb-pipeline 生成流水线配置需要使用插件任务时,必须先调用本 skill 搜索市场插件,而非直接手写脚本。适用场景见上方「何时使用本 Skill」章节.cnb.yml 示例后,必须调用 cnb-pipeline 的校验器验证配置语法和语义(见步骤 6)可控插件建议在 README.md 中包含以下内容,以便 cnb-plugin-market 精确提取配置信息:
## 参数
| 参数 | 类型 | 必填 | 默认值 | 说明 |
|------|------|------|--------|------|
| webhook | string | 是 | - | 企业微信群机器人 Webhook 地址 |
| msg_type | string | 否 | text | 消息类型:text / markdown |
| content | string | 是 | - | 消息内容 |
# 密钥仓库文件 secret-env.yml(存放敏感信息,声明变量名)
WECOM_WEBHOOK: https://qyapi.weixin.qq.com/cgi-bin/webhook?key=xxx
# .cnb.yml 中使用
main:
push:
- imports: https://cnb.cool/<org>/<secret-repo>/-/blob/main/secret-env.yml # 流水线级引用,子任务自动继承;如遇权限校验问题可参考 https://docs.cnb.cool/zh/build/file-reference.html
stages:
- name: 通知企业微信群
image: tencentcom/wecom-message # 默认 latest;可加 :<版本> 固定版本
settings:
webhook: $WECOM_WEBHOOK # WECOM_WEBHOOK 是 secret-env.yml 中声明的变量名
msg_type: markdown
content: "## 构建完成\n状态:**成功**"
settings 配置$VAR 占位(VAR 为密钥仓库文件中声明的真实变量名),敏感信息标注放密钥仓库latest,示例中可注释说明可追加 :<版本> 固定版本