← 返回
未分类 Key

Skill Publish

Audit and publish agent skills to ClawHub and GitHub. Scans for personal data, validates frontmatter, enforces bilingual docs, removes internal-only content,...
审计并发布技能至 ClawHub 与 GitHub,扫描个人信息,校验 frontmatter,强制双语文档,移除内部专属内容
haiyangchenbj haiyangchenbj 来源
未分类 clawhub v1.0.1 1 版本 100000 Key: 需要
★ 0
Stars
📥 83
下载
💾 0
安装
1
版本
#latest

概述

Skill Publish

> Audit, clean, and publish agent skills to ClawHub and GitHub.

> Complements skill-design-guide (design-time) with publish-time rules. Works with any SKILL.md-based skill in the OpenClaw ecosystem.

Overview

Local skill directories often contain personal scripts, internal notes, and ticker-specific code that should never appear in public distributions. This skill standardizes the audit → cleanup → publish → verify pipeline.

Two modes: audit (scan only, no changes) or publish (audit + clean + push).

Workflow

Mode: Audit (default when user says "check" or "audit")

Step 1: [Deterministic] Confirm Target

  • Identify the skill directory to audit. If user didn't specify, ask.
  • Verify SKILL.md exists at /SKILL.md.
  • If missing, stop: "Not a skill directory — no SKILL.md found."

Step 2: [Deterministic] Load Rules

  • Read references/publish-rules.md for detailed validation criteria.

Step 3: [Deterministic] Scan Files

For each file in the skill directory (recursive), check:

ScanWhat To Flag
-------------------
Personal dataTicker symbols with share counts, cost basis, account values, personal names/emails
Ticker-specific codeScripts or configs hardcoded to single tickers (e.g. check_tsla_entry.py)
Internal dev notes"审计清理版", "next N months: no new rules", personal reminders
Meta-documentsFiles like SKILL_PUBLISH_RULES.md that aren't part of the skill itself
Old version filesQ2_2026_交易策略.md — outdated strategy docs

Step 4: [LLM] Validate SKILL.md Content

Read the full SKILL.md. Check:

CheckRule
-------------
Frontmatter nameNo version number embedded
Frontmatter description≤3 sentences, English, no tickers/versions/keywords
H1 titleNo version number
## 详细参考 / ## References sectionMust NOT exist
Version historyOnly published versions, max 5 rows, no "planned" entries
Internal dev notesMust be absent from body text
LanguageBody is English (a Chinese summary paragraph at end is OK)

Step 5: [Deterministic] Validate Bilingual Docs

  • README.md exists and is in English
  • README_zh.md exists and is in Chinese
  • Version numbers in both README files match
  • CONTRIBUTING.md exists and is in English (if present)

Step 6: [Deterministic] Generate Audit Report

Output format:

## Skill Publish Audit: <skill-name>

### Issues Found

| # | Severity | File | Issue |
|---|----------|------|-------|
| 1 | HIGH | SKILL.md | description 含版本号和关键词列表 |
| 2 | HIGH | SKILL.md | H1 标题带版本号 |
| 3 | MEDIUM | check_tsla_entry.py | 个股脚本,不应发布 |
| 4 | LOW | SKILL.md | 版本历史含未发布版本 |

### Clean Files (safe to publish)
- SKILL.md (after fixes above)
- README.md ✓
- README_zh.md ✓
- references/*.md (3 files) ✓
- scripts/*.py (8 files) ✓

### Action Required Before Publish
- [ ] Fix issue #1: rewrite description
- [ ] Fix issue #2: remove version from H1
- [ ] Fix issue #3: exclude check_tsla_entry.py
- [ ] Fix issue #4: trim version history

Stop here in audit mode. User reviews and decides next step.

Mode: Publish (when user says "publish" or confirms audit)

Step 7: [LLM] Fix Content Issues

Apply all fixes identified in the audit:

  • Rewrite frontmatter description (≤3 English sentences)
  • Strip version from H1 title
  • Remove ## 详细参考/References section
  • Trim version history to 5 published versions max
  • Remove internal dev notes throughout

Write fixed content to SKILL.md, README.md, README_zh.md as needed.

Step 8: [Deterministic] Prepare Clean Directory

  1. Create temp dir: -publish/
  2. Copy only whitelisted files:
    • SKILL.md, README.md, README_zh.md
    • CONTRIBUTING.md, LICENSE (if exist)
    • references/ (all .md files)
    • scripts/ (all .py files — filters out personal scripts)
    • requirements.txt, _meta.json
  3. Verify: NO ticker-specific scripts, NO personal files, NO meta-documents in temp dir.

Step 9: [Deterministic] Determine Version

  • Read _meta.json for current published version
  • If user specified a version, validate it's higher than current
  • If no version specified, ask user for target version
  • Generate changelog summary from audit fixes

Step 10: [Deterministic] Push to ClawHub

clawhub publish <clean-dir> --slug <slug> --version <version> --changelog "<summary>"
  • If "Version already exists": bump patch version and retry
  • If network error: report and stop
  • On success: capture new version and publish ID

Step 11: [Deterministic] Push to GitHub

For each whitelisted file:

  1. GET https://api.github.com/repos///contents/ → get SHA
  2. PUT with base64 content + SHA (or POST if new file)

For files to delete (from audit list):

  • DELETE with SHA

Use the GitHub PAT from ~/.workbuddy/connectors//tokens/github.txt.

Step 12: [Deterministic] Verify

[ ] clawhub inspect <slug> → latest version matches, English description
[ ] GitHub repo: correct files present, no personal scripts
[ ] Clean temp dir deleted

Hard Rules

> These cannot be violated.

  1. Never modify local files. All fixes go to temp publish directory. Local stays intact.
  2. Never publish without audit. Every file must be scanned before reaching ClawHub/GitHub.
  3. Personal data is a blocking error. Any finding of account values, share counts, cost basis → must be resolved before publish.
  4. No version in name. name field and H1 title must never contain version numbers.
  5. English-first SKILL.md. Body text must be English. Chinese summary at end is optional.
  6. Temp dir must be deleted after successful publish.

Failure Handling

ScenarioAction
------------------
SKILL.md not foundStop: "Not a skill directory"
Personal data foundBlock publish; report exact file+line; user must manually remove
ClawHub auth missingGuide: "Run clawhub login --token "
Version already existsAuto-bump patch version; ask user to confirm
GitHub PAT not foundGuide: "Ensure GitHub connector is active"
GitHub write fails (403)Report: "Token lacks write permission on this repo"
Network timeoutRetry once; if still fails, report and stop
User cancels mid-publishClean up temp dir, report: "Publish aborted, local files untouched"

Output Format

Audit Mode Output

## Skill Publish Audit: <name> v<version>

### Issues (N found)
[table: severity, file, issue, fix]

### Clean Files (M files, K KB)
[file list]

### Publish Target
- ClawHub: <owner>/<slug>
- GitHub: <owner>/<repo>
- Version: <current> → <target>

Publish Mode Output

## Publish Complete: <name>@<version>

### ClawHub
- URL: https://clawhub.ai/<owner>/<slug>
- Version: <version>
- Publish ID: <id>

### GitHub
- Repo: <owner>/<repo>
- Commit: <sha>
- Files: <N> updated, <M> deleted

版本历史

共 1 个版本

  • v1.0.1 当前
    2026-06-07 13:05 安全 安全

安全检测

腾讯云安全 (Keen)

安全,无风险
查看报告

腾讯云安全 (Sanbu)

安全,无风险
查看报告

🔗 相关推荐

ai-agent

Agent Browser

rez0
用于 AI 代理的浏览器自动化 CLI。当用户需要与网站交互(包括浏览页面、填写表单、点击按钮、截图等)时使用。
★ 845 📥 326,952
ai-agent

self-improving agent

pskoett
记录自身发现以实现自我改进的技能
★ 4,124 📥 872,250
ai-agent

Self-Improving + Proactive Agent

ivangdavila
自我反思+自我批评+自我学习+自组织记忆。智能体评估自身工作、发现错误并持续改进。
★ 1,413 📥 325,503