Skip to content

chore: remove SkillHub publishing integration - #20

Merged
FlanChanXwO merged 1 commit into
mainfrom
codex/remove-skillhub
Aug 10, 2026
Merged

FlanChanXwO merged 1 commit into
mainfrom
codex/remove-skillhub

Conversation

@FlanChanXwO

@FlanChanXwO FlanChanXwO commented Aug 10, 2026 •

Copy link
Copy Markdown
Owner

Summary

  • remove the retired SkillHub publication workflow and its workflow-test coverage
  • keep the ClawHub publisher as the only active Agent skill distribution path
  • delete SkillHub installation references from current README and maintainer documentation
  • rename the Release-to-ClawHub handoff artifact so the remaining path has no retired-provider naming

Scope and compatibility

  • deletes the repository SKILLHUB_TOKEN secret after this PR is merged
  • does not change the CLI, public Go SDK, or published v0.5.2 tag
  • keeps the v0.5.2 changelog entries as historical release records

Release-note declaration

Validation

  • sh scripts/test-clawhub-publish-workflow.sh
  • sh scripts/test-workflows.sh
  • sh scripts/test-documentation.sh
  • git diff --check
  • commit hook: go test ./..., release tooling, release notes, documentation structure, and architecture structure checks

Summary by Sourcery

弃用 SkillHub 发布路径,保留 ClawHub 作为唯一的技能分发工作流,并相应更新发布交接产物、文档和工作流测试。

增强内容:

  • 将发布标签交接产物及相关路径从 SkillHub 特定命名重命名为以 ClawHub 为中心的命名,以体现当前唯一保留的发布路径。
  • 为 ClawHub 发布工作流新增专用的验证脚本,用于强制执行信任边界、Action 固定(pinning)、令牌使用约束以及技能元数据完整性检查。

CI:

  • 从 GitHub Actions 中删除 SkillHub 发布工作流,并调整工作流验证逻辑,仅覆盖 ClawHub 发布任务及更新后的产物命名。

文档:

  • 从英文和中文 README 及维护者文档中移除 SkillHub 安装相关内容,确保 ClawHub 被呈现为唯一受支持的 javdb-cli 技能来源。
  • 更新内部发布说明系统的设计文档,移除与 SkillHub 相关工作流的引用。

测试:

  • 用 ClawHub 专用的工作流测试脚本替换原有的 SkillHub 工作流测试脚架,并更新工作流/文档测试套件以与新的发布方案保持一致。
Original summary in English

Summary by Sourcery

Retire the SkillHub publishing path and keep ClawHub as the sole skill distribution workflow, updating release handoff artifacts, documentation, and workflow tests accordingly.

Enhancements:

  • Rename the release tag handoff artifact and related paths from SkillHub-specific naming to ClawHub-focused naming to reflect the remaining publishing path.
  • Add a dedicated validation script for the ClawHub publish workflow to enforce trust boundaries, action pinning, token usage constraints, and skill metadata completeness.

CI:

  • Delete the SkillHub publish workflow from GitHub Actions and adjust workflow validation to only cover the ClawHub publish job and updated artifact naming.

Documentation:

  • Remove SkillHub installation references from English and Chinese READMEs and maintainer documentation so ClawHub is presented as the only supported javdb-cli skill source.
  • Update internal release-notes system design docs to drop references to SkillHub-related workflows.

Tests:

  • Replace the SkillHub workflow test harness with a ClawHub-specific workflow test script and update the workflow/documentation test suite to align with the new publishing setup.

Summary by CodeRabbit

  • 发布流程

    • 发布渠道统一调整为 ClawHub,更新版本标签传递与相关工作流配置。
    • 移除 SkillHub 自动发布流程及其配置。
  • 文档

    • 中英文 README 删除 SkillHub 安装说明,保留 ClawHub 安装指引。
    • 更新维护者发布流程文档及相关规范。
  • 测试

    • 新增 ClawHub 发布流程验证,涵盖 YAML、权限、标签传递和凭据配置。
    • 更新文档与工作流检查,仅验证 ClawHub 发布流程。

@sourcery-ai

sourcery-ai Bot commented Aug 10, 2026 •

Copy link
Copy Markdown

审阅者指南

在保留 ClawHub 作为唯一技能发布方的同时,移除 SkillHub 发布路径,相应地重命名发布标签交接(handoff)构件,并更新工作流、测试和文档以保持一致。

使用 clawhub-release-tag 构件的 ClawHub 发布流程时序图

sequenceDiagram
    participant Release_workflow
    participant GitHub_release
    participant clawhub_release_tag_artifact
    participant Publish_clawhub_workflow
    participant ClawHub

    Release_workflow->>GitHub_release: gh release edit (publish release)
    Release_workflow->>clawhub_release_tag_artifact: actions/upload-artifact (clawhub-release-tag)

    GitHub_release-->>Publish_clawhub_workflow: workflow_run (successful Release)
    Publish_clawhub_workflow->>clawhub_release_tag_artifact: actions/download-artifact (clawhub-release-tag)
    Publish_clawhub_workflow->>Publish_clawhub_workflow: bash handoff_dir=$(RUNNER_TEMP)/clawhub-release-tag
    Publish_clawhub_workflow->>Publish_clawhub_workflow: bash release_tag=$(cat release-tag)

    Publish_clawhub_workflow->>ClawHub: clawhub@0.23.1 dry-run
    Publish_clawhub_workflow->>ClawHub: clawhub@0.23.1 publish (uses CLAWHUB_TOKEN)
Loading

文件级变更

变更 详情 文件
将发布标签交接构件从 SkillHub 特定命名重命名为 ClawHub 特定命名,并确保 ClawHub 工作流消费新的构件。
  • 更新发布工作流步骤名称以及用于写入不可变发布标签交接构件的目录
  • 将上传的构件名称和路径改为使用 clawhub-release-tag 命名
  • 调整 publish-clawhub 工作流,以下载重命名后的构件并从新的目录中读取
.github/workflows/release.yml
.github/workflows/publish-clawhub.yml
移除 SkillHub 专用发布工作流、相关测试以及文档和工作流校验脚本中的引用。
  • 删除 SkillHub 发布工作流文件
  • 删除 SkillHub 工作流测试脚本以及在汇总工作流测试脚本中的调用
  • 从英文和中文 README 中移除 SkillHub 安装章节和链接
  • 更新维护者文档,仅描述 ClawHub 路径和 token 用法
  • 更新文档测试和设计规范,使其不再期望或提及 SkillHub
.github/workflows/publish-skillhub.yml
scripts/test-skill-publish-workflows.sh
scripts/test-workflows.sh
README.md
README.zh-CN.md
docs/maintainers/development.md
scripts/test-documentation.sh
docs/superpowers/specs/2026-07-30-release-notes-system-design.md
添加一个聚焦的测试脚本,用于强化 ClawHub 工作流安全性、构件交接以及技能元数据完整性。
  • 新增一个 shell 脚本,通过 Ruby/YAML 加载并校验 ClawHub 和 release 工作流
  • 将 actions 固定到完整提交 SHA,并断言关键的 ClawHub 工作流属性(权限、触发器、构件名称/路径、dry‑run、token 作用域)
  • 验证 release 工作流暴露了预期的 ClawHub 交接步骤和构件路径
  • 校验 javdb-cli 技能元数据文件中的必填字段
scripts/test-clawhub-publish-workflow.sh
skills/javdb-cli/SKILL.md
.github/workflows/publish-clawhub.yml
.github/workflows/release.yml

提示与命令

与 Sourcery 交互

  • 触发新审阅: 在拉取请求中评论 @sourcery-ai review。
  • 继续讨论: 直接回复 Sourcery 的审阅评论。
  • 从审阅评论生成 GitHub issue: 在某条审阅评论下回复,要求 Sourcery 从该评论创建一个 issue。你也可以在审阅评论下回复 @sourcery-ai issue 来从该评论创建 issue。
  • 生成拉取请求标题: 在拉取请求标题的任意位置写入 @sourcery-ai,即可随时生成标题。你也可以在拉取请求中评论 @sourcery-ai title 来(重新)生成标题。
  • 生成拉取请求摘要: 在拉取请求正文任意位置写入 @sourcery-ai summary,即可在你想要的位置随时生成 PR 摘要。你也可以在拉取请求中评论 @sourcery-ai summary 来(重新)生成摘要。
  • 生成审阅者指南: 在拉取请求中评论 @sourcery-ai guide,即可随时(重新)生成审阅者指南。
  • 解决所有 Sourcery 评论: 在拉取请求中评论 @sourcery-ai resolve 来解决所有 Sourcery 评论。如果你已经处理完所有评论且不想再看到它们,这会很有用。
  • 撤销所有 Sourcery 审阅: 在拉取请求中评论 @sourcery-ai dismiss 来撤销所有现有的 Sourcery 审阅。如果你想从一次全新的审阅开始,这尤其有用——别忘了再评论 @sourcery-ai review 以触发新的审阅!

自定义你的体验

访问你的 控制面板 来:

  • 启用或禁用某些审阅功能,例如 Sourcery 生成的拉取请求摘要、审阅者指南等。
  • 更改审阅语言。
  • 添加、移除或编辑自定义审阅指令。
  • 调整其他审阅设置。

获取帮助

Original review guide in English

Reviewer's Guide

Retires the SkillHub publishing path while keeping ClawHub as the sole skill publisher, renames the release tag handoff artifact accordingly, and updates workflows, tests, and documentation to match.

Sequence diagram for ClawHub publish flow using clawhub-release-tag artifact

sequenceDiagram
    participant Release_workflow
    participant GitHub_release
    participant clawhub_release_tag_artifact
    participant Publish_clawhub_workflow
    participant ClawHub

    Release_workflow->>GitHub_release: gh release edit (publish release)
    Release_workflow->>clawhub_release_tag_artifact: actions/upload-artifact (clawhub-release-tag)

    GitHub_release-->>Publish_clawhub_workflow: workflow_run (successful Release)
    Publish_clawhub_workflow->>clawhub_release_tag_artifact: actions/download-artifact (clawhub-release-tag)
    Publish_clawhub_workflow->>Publish_clawhub_workflow: bash handoff_dir=$(RUNNER_TEMP)/clawhub-release-tag
    Publish_clawhub_workflow->>Publish_clawhub_workflow: bash release_tag=$(cat release-tag)

    Publish_clawhub_workflow->>ClawHub: clawhub@0.23.1 dry-run
    Publish_clawhub_workflow->>ClawHub: clawhub@0.23.1 publish (uses CLAWHUB_TOKEN)
Loading

File-Level Changes

Change Details Files
Rename the release tag handoff artifact from SkillHub-specific naming to ClawHub-specific naming and ensure the ClawHub workflow consumes the new artifact.
  • Update release workflow step name and directory used to write the immutable release tag handoff artifact
  • Change uploaded artifact name and path to use clawhub-release-tag naming
  • Adjust publish-clawhub workflow to download the renamed artifact and read it from the new directory
.github/workflows/release.yml
.github/workflows/publish-clawhub.yml
Remove SkillHub-specific publishing workflow, associated tests, and references from documentation and workflow-validation scripts.
  • Delete the SkillHub publish workflow file
  • Delete the SkillHub workflow test script and its invocation from the aggregate workflow test script
  • Remove SkillHub installation sections and links from English and Chinese READMEs
  • Update maintainer documentation to describe only the ClawHub path and token usage
  • Update documentation tests and design spec to no longer expect or mention SkillHub
.github/workflows/publish-skillhub.yml
scripts/test-skill-publish-workflows.sh
scripts/test-workflows.sh
README.md
README.zh-CN.md
docs/maintainers/development.md
scripts/test-documentation.sh
docs/superpowers/specs/2026-07-30-release-notes-system-design.md
Add a focused test script to enforce ClawHub workflow security, artifact handoff, and skill metadata completeness.
  • Introduce a shell script that loads and validates the ClawHub and release workflows via Ruby/YAML
  • Pin actions to full commit SHAs and assert key ClawHub workflow properties (permissions, triggers, artifact name/path, dry‑run, token scope)
  • Verify the release workflow exposes the expected ClawHub handoff step and artifact path
  • Validate required fields in the javdb-cli skill metadata file
scripts/test-clawhub-publish-workflow.sh
skills/javdb-cli/SKILL.md
.github/workflows/publish-clawhub.yml
.github/workflows/release.yml

Tips and commands

Interacting with Sourcery

  • Trigger a new review: Comment @sourcery-ai review on the pull request.
  • Continue discussions: Reply directly to Sourcery's review comments.
  • Generate a GitHub issue from a review comment: Ask Sourcery to create an
    issue from a review comment by replying to it. You can also reply to a
    review comment with @sourcery-ai issue to create an issue from it.
  • Generate a pull request title: Write @sourcery-ai anywhere in the pull
    request title to generate a title at any time. You can also comment
    @sourcery-ai title on the pull request to (re-)generate the title at any time.
  • Generate a pull request summary: Write @sourcery-ai summary anywhere in
    the pull request body to generate a PR summary at any time exactly where you
    want it. You can also comment @sourcery-ai summary on the pull request to
    (re-)generate the summary at any time.
  • Generate reviewer's guide: Comment @sourcery-ai guide on the pull
    request to (re-)generate the reviewer's guide at any time.
  • Resolve all Sourcery comments: Comment @sourcery-ai resolve on the
    pull request to resolve all Sourcery comments. Useful if you've already
    addressed all the comments and don't want to see them anymore.
  • Dismiss all Sourcery reviews: Comment @sourcery-ai dismiss on the pull
    request to dismiss all existing Sourcery reviews. Especially useful if you
    want to start fresh with a new review - don't forget to comment
    @sourcery-ai review to trigger a new review!

Customizing Your Experience

Access your dashboard to:

  • Enable or disable review features such as the Sourcery-generated pull request
    summary, the reviewer's guide, and others.
  • Change the review language.
  • Add, remove or edit custom review instructions.
  • Adjust other review settings.

Getting Help

@coderabbitai

coderabbitai Bot commented Aug 10, 2026 •

Copy link
Copy Markdown

Review Change Stack

📝 Walkthrough

Walkthrough

本次变更将发布 tag handoff 统一为 ClawHub,删除 SkillHub 发布 workflow,并同步更新文档、README 和自动化验证脚本。

Changes

ClawHub 发布流程

Layer / File(s) Summary
切换不可变 tag handoff
.github/workflows/release.yml, .github/workflows/publish-clawhub.yml, docs/maintainers/development.md
Release workflow 使用 clawhub-release-tag artifact。ClawHub 发布 workflow 从对应目录读取 RELEASE_TAG。维护文档同步更新。
验证 ClawHub 发布 workflow
scripts/test-clawhub-publish-workflow.sh, scripts/test-workflows.sh
新增 ClawHub workflow 的 YAML、SHA 固定、触发器、权限、tag handoff、发布参数、token 暴露和 SKILL.md 元数据检查。通用测试改用新脚本,并移除 SkillHub workflow 检查。
同步文档和发布范围
.github/workflows/publish-skillhub.yml, README.md, README.zh-CN.md, docs/superpowers/specs/2026-07-30-release-notes-system-design.md, scripts/test-documentation.sh, scripts/test-skill-publish-workflows.sh
删除 SkillHub 发布 workflow 及其专项测试。README 和文档移除 SkillHub 安装与迁移内容。文档测试仅保留 ClawHub 链接检查。

Estimated code review effort: 3 (Moderate) | ~20 minutes

Sequence Diagram(s)

sequenceDiagram
  participant ReleaseWorkflow as release.yml
  participant TagArtifact as clawhub-release-tag
  participant PublishWorkflow as publish-clawhub.yml
  participant ClawHubCLI
  ReleaseWorkflow->>TagArtifact: 写入 RELEASE_TAG
  TagArtifact->>PublishWorkflow: 传递不可变 release tag
  PublishWorkflow->>PublishWorkflow: 读取并校验 tag
  PublishWorkflow->>ClawHubCLI: 使用 tag 发布 javdb-cli
Loading

Possibly related PRs

Poem

兔子抱紧新 tag,
跳过旧的 SkillHub 道旁。
ClawHub workflow 接棒,
测试守住每道关。
RELEASE_TAG 随风扬。

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed 标题“chore: remove SkillHub publishing integration”准确概括了移除 SkillHub 发布集成这一主要变更。
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@sourcery-ai sourcery-ai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

嗨,我已经审阅了你的更改,看起来非常棒!


Sourcery 对开源项目是免费使用的——如果你喜欢我们的代码审查,请考虑分享给更多人 ✨
帮我变得更有用!请在每条评论上点击 👍 或 👎,我会根据你的反馈改进之后的代码审查。
Original comment in English

Hey - I've reviewed your changes and they look great!


Sourcery is free for open source - if you like our reviews please consider sharing them ✨
Help me be more useful! Please click 👍 or 👎 on each comment and I'll use the feedback to improve your reviews.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🧹 Nitpick comments (1)
scripts/test-workflows.sh (1)

12-12: 🔒 Security & Privacy | 🔵 Trivial | ⚡ Quick win

验证已删除的 SkillHub workflow。

当前变更只是不再解析 publish-skillhub.yml。如果该文件仍存在,GitHub Actions 仍会加载它,但 test-workflows.sh 不会检查它。请增加负向断言:

建议的删除检查
 repo_root=$(CDPATH= cd -- "$(dirname -- "$0")/.." && pwd)
+test ! -e "$repo_root/.github/workflows/publish-skillhub.yml"
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@scripts/test-workflows.sh` at line 12, 在 test-workflows.sh 中补充对
publish-skillhub.yml 的删除校验:使用 repo_root/.github/workflows/publish-skillhub.yml
检查该文件不存在,若仍存在则让脚本失败;保留现有对 publish-clawhub.yml 的检查逻辑不变。
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@docs/maintainers/development.md`:
- Line 116: 更新发布工作流的 jobs.publish,使其绑定 release environment,确保发布步骤能读取受保护环境中的
CLAWHUB_TOKEN;同步检查并更新 scripts/test-clawhub-publish-workflow.sh,验证该 environment
约束,保持文档描述与实际配置一致。

---

Nitpick comments:
In `@scripts/test-workflows.sh`:
- Line 12: 在 test-workflows.sh 中补充对 publish-skillhub.yml 的删除校验:使用
repo_root/.github/workflows/publish-skillhub.yml 检查该文件不存在,若仍存在则让脚本失败;保留现有对
publish-clawhub.yml 的检查逻辑不变。
🪄 Autofix

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: aae59545-2e3b-4c27-b67b-4489a336ca82

📥 Commits

Reviewing files that changed from the base of the PR and between 9c3ee65 and 2097a52.

📒 Files selected for processing (11)
  • .github/workflows/publish-clawhub.yml
  • .github/workflows/publish-skillhub.yml
  • .github/workflows/release.yml
  • README.md
  • README.zh-CN.md
  • docs/maintainers/development.md
  • docs/superpowers/specs/2026-07-30-release-notes-system-design.md
  • scripts/test-clawhub-publish-workflow.sh
  • scripts/test-documentation.sh
  • scripts/test-skill-publish-workflows.sh
  • scripts/test-workflows.sh
💤 Files with no reviewable changes (5)
  • README.md
  • README.zh-CN.md
  • .github/workflows/publish-skillhub.yml
  • scripts/test-skill-publish-workflows.sh
  • scripts/test-documentation.sh

7. Release 在公开 GitHub Release 后上传只含不可变 tag 的 `clawhub-release-tag` artifact。成功结束的
`Release` workflow 会由 `publish-clawhub.yml` 通过 `workflow_run` 消费;它 checkout 该 tag、验证
它属于默认分支,并跳过未改变的 `skills/javdb-cli/`。ClawHub 使用锁定的 `clawhub@0.23.1` 先做
无凭据 dry-run,再在最后发布步骤读取 `CLAWHUB_TOKEN`。该 token 只应配置为仓库或受保护

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔒 Security & Privacy | 🟠 Major | ⚡ Quick win

🧩 Analysis chain

🏁 Script executed:

ruby -e 'require "yaml"; job = YAML.load_file(".github/workflows/publish-clawhub.yml").fetch("jobs").fetch("publish"); abort "missing release environment" unless job["environment"] == "release"'

Repository: FlanChanXwO/javdb-cli

Length of output: 187


🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo "== docs context =="
sed -n '100,130p' docs/maintainers/development.md || true

echo
echo "== workflow relevant lines =="
sed -n '1,180p' .github/workflows/publish-clawhub.yml

echo
echo "== test workflow files =="
fd -i 'test.*clawhub.*workflow|clawhub.*workflow' .github scripts docs | sed -n '1,50p'
if [ -f scripts/test-clawhub-publish-workflow.sh ]; then
  sed -n '1,220p' scripts/test-clawhub-publish-workflow.sh
fi

echo
echo "== YAML parsed publish environment/name =="
ruby -e '
require "yaml"
path = ".github/workflows/publish-clawhub.yml"
yaml = YAML.load_file(path)
job = yaml.fetch("jobs").fetch("publish")
puts "publish.job_type=#{job.keys.join(", ")}"
puts "publish.environment=#{job["environment"].inspect}"
puts "release env ref in workflows?:"
system("rg -n \"environment:\\s*release\\b|CLAWHUB_TOKEN\" .github/workflows || true")
'

Repository: FlanChanXwO/javdb-cli

Length of output: 13865


为 CLAWHUB_TOKEN 的发布使用路径绑定 release environment。

文档写明了“受保护 environment secret”是 CLAWHUB_TOKEN 的配置方式之一,但 publish-clawhub.yml 的 jobs.publish 没有 environment: release,且发布脚本没有校验该 environment 存在。如果按文档创建的是环境 secret,当前 job 不会注入该 secret,发布步骤会因缺少 CLAWHUB_TOKEN 失败;应让发布 job 绑定 release environment,或让文档改为只支持 repository secret。同步检查 scripts/test-clawhub-publish-workflow.sh 是否覆盖该约束。

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@docs/maintainers/development.md` at line 116, 更新发布工作流的 jobs.publish,使其绑定
release environment,确保发布步骤能读取受保护环境中的 CLAWHUB_TOKEN;同步检查并更新
scripts/test-clawhub-publish-workflow.sh,验证该 environment 约束,保持文档描述与实际配置一致。

@FlanChanXwO
FlanChanXwO merged commit e84ad61 into main Aug 10, 2026
13 checks passed
@FlanChanXwO
FlanChanXwO deleted the codex/remove-skillhub branch August 28, 2026 12:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant