mcpField
S
skill-open-sourcer

skill-open-sourcer

github.com/zjp1997720Agent 工作流78639 次安装2 天前更新
代码仓库

关于 skill-open-sourcer

skill-open-sourcer 是用于将 Skill 发布到 zjp1997720/zhijian-skills 的 Agent 技能。它规定了受控发布流程,涵盖验证、安全检查、注册表更新和发布核验。

主要功能

  1. 01发布到规范仓库
  2. 02打包 Skill 内容与文档
  3. 03规划并验证版本发布
  4. 04防范秘密信息与隐私泄露
  5. 05核验安装和远程发布

适用场景

  1. 01将 Skill 发布到规范作品集
  2. 02准备带版本号的 Skill 发布
  3. 03检查隔离环境中的 Skill 安装

安装

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

$npx skills add https://github.com/zjp1997720/zhijian-skills --skill skill-open-sourcer

安装后在 Claude Code 中输入/skill-open-sourcer确认已加载。

包含的文件

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

LICENSE
agents/
interface.yaml
openai.yaml
references/
portfolio-mode.md
readme-design.md
registry-contract.md
release-contract.md
release-package.md
security-contract.md
third-party-notices.md
version-contract.md
workbuddy-marketplace.md
scripts/
audit_release_readme.py
check_release_env.py
git_sync_guard.py
manage_local_links.py
portfolio.py
release_portfolio.py
scan_skill_release.py
verify_isolated_install.py
tests/
test_audit_release_readme.py
test_release_selection.py
test_scan_skill_release.py
test_skill_contract.py
test_verify_isolated_install.py

详细介绍

Skill Open Sourcer

从唯一的权威仓库发布所有公开 Skill:https://github.com/zjp1997720/zhijian-skills。

严格的发布边界

  • SKILL.md 路径或 Skill 目录只是导入候选项,并不表示要创建仓库。
  • 将完整的 Agent 载荷放入 skills/<name>/,将面向用户的文档放入 docs/skills/<name>/,并将发布说明放入 docs/changelogs/<name>.md。
  • 在 registry/skills.json 中注册 Skill。绝不添加 mirror、mirror_tag、独立仓库、重定向工作流或镜像导出元数据。
  • 仅从 zjp1997720/zhijian-skills 发布提交、各 Skill 的 Tag 和安装说明。
  • 如果发现密钥、私有路径、客户端数据、未发布的专有材料、资产所有权不明确,或无法验证权威远程仓库,请立即停止。

开始编写前,请阅读 Portfolio mode、Registry contract、Release package 和 README design。

WorkBuddy 市场分支

对于 WorkBuddy 自定义源适配、市场维护,或“安装成功但冷启动时缺失”的故障,编辑前请阅读 WorkBuddy marketplace。对于仅涉及适配器的任务,请遵循其完成约定;如果 Skill 载荷也有变更,则使用下方的完整发布工作流。

当 Skill 发布会更改 Registry 清单或版本,或现有 WorkBuddy 目录使用的描述时,请在冻结发布计划前刷新并验证生成的市场。此分支仍须遵守上述发布、源所有权和授权边界。

工作流

  1. 将输入解析为真实的 Skill 目录。接受 SKILL.md、其所在目录,或来自本地 Skill 根目录的符号链接。
  2. 从当前仓库、ZHIJIAN_SKILLS_REPO 或 ~/Documents/GitHub/zhijian-skills 解析权威检出目录。验证 origin 指向 zjp1997720/zhijian-skills;绝不猜测其他目标位置。
  3. 遵循权威仓库的 Git 同步规则。从现有检出目录更改或发布之前,运行 git_sync_guard.py check --repo <zhijian-skills>;存在 needs-sync 标记时必须停止。然后运行:
SKILL_OPEN_SOURCER_DIR="<zhijian-skills>/skills/skill-open-sourcer"
python3 "$SKILL_OPEN_SOURCER_DIR/scripts/check_release_env.py" \
  --repo-dir <zhijian-skills> --check-npx-skills
python3 "$SKILL_OPEN_SOURCER_DIR/scripts/scan_skill_release.py" \
  /path/to/skill-or-SKILL.md
  1. 检查 SKILL.md 以及其中直接引用的 agents/、references/、scripts/ 和 assets/。仅将完整且经过清理的安装载荷复制到 skills/<name>/;保留必需的许可证和第三方声明。
  2. 按照 README design 撰写包含八个字段的发布说明,选择 clean-doc 或 proof-led,然后创建或更新双语文档、Changelog、Registry 记录、Portfolio 目录和项目原生视觉素材。采用 proof-led 方式时,Hero 必须使用源自 Skill 实际机制或输出的构图;仅在共享布局中更改标题和主题图案无法通过审核。绝不在根目录公开 SKILL.md,也绝不在 Skill 载荷中添加面向用户的 README 文件。
  3. 按照 version-contract.md 选择版本。只能使用权威 Tag <skill>/v<version>。
  4. 使用范围最小的选择器冻结发布计划。对于受管控的 Skill,其 manifest.json 必须声明 trust_report 和 output_quality_scorecard 为安装载荷内的文件;这两个文件都必须存在,并且在 HEAD 中已受 Git 跟踪。如果任一基线未声明、缺失、未受跟踪或位于载荷之外,计划将在创建候选引用前失败。单个 Skill 使用 --skill <name>;只有在有意进行多 Skill 发布时,才使用 --all 和可选的 --exclude:
python3 "$SKILL_OPEN_SOURCER_DIR/scripts/release_portfolio.py" plan \
  --repo <zhijian-skills> --source-checkout <original-checkout> \
  --skill <name> --dry-run \
  --plan-out /tmp/<name>-release-plan.json
python3 "$SKILL_OPEN_SOURCER_DIR/scripts/release_portfolio.py" verify \
  --plan /tmp/<name>-release-plan.json

--skill 和 --all 不能同时使用。仅当用户明确授权小规模多 Skill 发布时,才重复使用 --skill。不要将 --skill 与 --exclude 结合使用。 该计划使用 git ls-remote 记录实时的 origin/main SHA。verify 会再次查询该 SHA;如果它已变化,验证就会失败。当 --repo 是临时的干净克隆时,--source-checkout 必须指向原始检出目录;计划会将该检出目录标记为 release-in-progress,并安装 pre-commit 防护,防止它基于过期基线创建新提交。

  1. 验证 Skill、声明的测试、完整的 Portfolio、文档和仓库约束:
python3 "$SKILL_OPEN_SOURCER_DIR/scripts/portfolio.py" \
  validate-skill <zhijian-skills>/skills/<name>
python3 "$SKILL_OPEN_SOURCER_DIR/scripts/portfolio.py" \
  audit --repo <zhijian-skills> --strict
python3 "$SKILL_OPEN_SOURCER_DIR/scripts/audit_release_readme.py" \
  --repository-root <zhijian-skills> \
  <zhijian-skills>/docs/skills/<name>/README.md \
  <zhijian-skills>/docs/skills/<name>/README.zh-CN.md --strict
python3 -m unittest discover -s <zhijian-skills>/tests -v

如果 README 资源由 Portfolio 生成,请重新生成这些资源并在接受差异前运行资源测试。将每个有更改的 Hero 分别渲染为 900px 和 360px;确定性检查不能替代视觉检查。

  1. 验证本地 npx skills 发现结果,然后从规范仓库运行一次快速失败的隔离副本安装:
python3 "$SKILL_OPEN_SOURCER_DIR/scripts/verify_isolated_install.py" \
  --repo <zhijian-skills> --skill <name>

验证器会隔离 HOME、使用复制模式,并逐字节比较 SHA-256 清单。如果预检、安装、文件生成、文件缺失或多余,或内容比较失败,它会立即返回非零状态;不要追加可能掩盖其退出码的成功提示命令。仅列表成功并不足够。只使用顶层帮助:npx --no-install skills --help。绝不要运行 npx skills add <source> --help;skills CLI 1.5.x 可能会执行实际安装,因为 <source> 已经是有效的 add 请求。 10. 仅在基于记录的远程 SHA 创建的短期分支上提交。远程操作开始前立即再次运行 verify,推送分支,并通过 PR 将其合并到受保护的 main;Agent 绝不直接推送到 main。合并后,读取实时远程 SHA 并记录已验证的变更:

python3 "$SKILL_OPEN_SOURCER_DIR/scripts/release_portfolio.py" record-step \
  --plan /tmp/<name>-release-plan.json --skill <name> \
  --step canonical-pushed --remote-sha <merged-origin-main-sha>

此步骤会验证远程 main 包含计划中的源,并将临时克隆的源标记升级为 needs-sync。绝不要调用 gh repo create,也不要发布到 <owner>/<skill-name>。 11. 验证远程 Portfolio 列表和隔离安装,然后创建规范 Tag 并启动推广。只有在源检出目录干净且其本地 HEAD 与已验证的远程 SHA 完全一致后,才能清除该检出目录标记。

输出约定

返回:

  • zjp1997720/zhijian-skills 下的规范 Skill URL
  • 规范提交、版本和 <skill>/v<version> Tag
  • 使用 npx skills add zjp1997720/zhijian-skills 的安装命令
  • Skill 验证、Portfolio 审核、远程列表和隔离安装结果
  • README 展示层级及刻意选用的视觉资源
  • 八字段发布故事、独特的构图选择,以及桌面端和移动端的渲染检查结果
  • 安全摘要和剩余假设
  • 至少一条 X/Twitter 发布帖,并附面向中文用户的中文版

如果遇到阻碍,请返回文件路径、原因、清理步骤和最安全的下一步操作。

安全规则

遇到以下情况时必须立即停止:

  • API 密钥、令牌、私钥、Cookie、凭据、.env 或身份验证配置
  • 个人绝对路径、本地保险库路径或仅限本机使用的缓存
  • 客户数据、私有 URL、未发布的提示词,或没有再分发权的资源
  • 越界符号链接、数据库、日志、浏览器配置文件、.DS_Store、依赖缓存或无法解释的二进制文件
  • 无法安全协调的脏状态或未经验证的规范仓库
  • release-in-progress 或 needs-sync 检出目录标记
  • 发布计划冻结后远程 main 发生变化
  • 受治理的 trust_report 或 output_quality_scorecard 未声明、缺失、位于载荷之外,或未在 HEAD 跟踪

字面形式的凭据赋值属于阻碍项。对令牌变量进行 URL 编码等运行时转换不属于字面秘密,不得被通用赋值检测器拦截;高置信度的提供商密钥模式仍必须拦截。

绝不要强制推送、重写已发布的 Tag、创建独立仓库,也不要将缺失的证据视为通过。

打包规则

  • 每个 Skill 都位于 skills/<skill-name>/,包括单文件 Skill。
  • 保持 SKILL.md 简洁;仅在需要时将详细的 Agent 指引放入 references/。
  • 保留 agents/openai.yaml;如果文件不存在,则创建该文件,并设置 $<skill-name> 默认提示词。
  • 仅包含确定性脚本和已获许可、面向 Agent 的素材。
  • 将面向用户的文档放在 docs/skills/<skill-name>/,将 README 视觉素材放在其 assets/readme/ 目录中。
  • 同步更新 registry/skills.json、根目录 README 中的目录清单和确定性素材生成器。每个具有生成证明的 Hero 都必须有唯一且稳定的 data-composition 值,以及与之匹配的项目专用生成器分支;Portfolio 测试必须拒绝重复的 composition ID。

发布验证

npx --no-install skills --help
npx --no-install skills add zjp1997720/zhijian-skills --list
python3 scripts/verify_isolated_install.py \
  --repo <zhijian-skills> --skill <skill-name> \
  --install-source zjp1997720/zhijian-skills

验证器使用 Portfolio 固定版本的 skills CLI,并在任何阶段失败时返回非零状态。对于尚未安装固定版本软件包的冷启动检查,请先在规范检出目录中安装依赖,再运行验证器;切勿临时拼凑可能导致最后一条命令掩盖前序失败的 Shell 命令链。 切勿使用 npx skills add <source> --help 来查看帮助。它可能会实际安装软件,并在当前目录中创建 .agents/ 和 skills-lock.json。

发布文案

通过所有关卡后,请说明反复出现的问题、此 Skill 自动化的内容、规范安装命令、一个具体的示例请求,以及任何相关的安全边界。切勿链接到独立的 Skill 仓库。

评论

支持 Markdown