chore: remove SkillHub publishing integration - #20
Conversation
审阅者指南在保留 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)
文件级变更
提示与命令与 Sourcery 交互
自定义你的体验访问你的 控制面板 来:
获取帮助Original review guide in EnglishReviewer's GuideRetires 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 artifactsequenceDiagram
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)
File-Level Changes
Tips and commandsInteracting with Sourcery
Customizing Your ExperienceAccess your dashboard to:
Getting Help
|
📝 WalkthroughWalkthrough本次变更将发布 tag handoff 统一为 ClawHub,删除 SkillHub 发布 workflow,并同步更新文档、README 和自动化验证脚本。 ChangesClawHub 发布流程
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
Possibly related PRs
Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches📝 Generate docstrings
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. Comment |
There was a problem hiding this comment.
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
📒 Files selected for processing (11)
.github/workflows/publish-clawhub.yml.github/workflows/publish-skillhub.yml.github/workflows/release.ymlREADME.mdREADME.zh-CN.mddocs/maintainers/development.mddocs/superpowers/specs/2026-07-30-release-notes-system-design.mdscripts/test-clawhub-publish-workflow.shscripts/test-documentation.shscripts/test-skill-publish-workflows.shscripts/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 只应配置为仓库或受保护 |
There was a problem hiding this comment.
🔒 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 约束,保持文档描述与实际配置一致。
Summary
Scope and compatibility
SKILLHUB_TOKENsecret after this PR is mergedRelease-note declaration
Validation
sh scripts/test-clawhub-publish-workflow.shsh scripts/test-workflows.shsh scripts/test-documentation.shgit diff --checkgo test ./..., release tooling, release notes, documentation structure, and architecture structure checksSummary by Sourcery
弃用 SkillHub 发布路径,保留 ClawHub 作为唯一的技能分发工作流,并相应更新发布交接产物、文档和工作流测试。
增强内容:
CI:
文档:
测试:
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:
CI:
Documentation:
Tests:
Summary by CodeRabbit
发布流程
文档
测试