Install
openclaw skills install @sunshinejnjn/skill-authorAuthor, harden, and publish agent skills for ClawHub — write skills that conform to ClawHub conventions (frontmatter, structure, naming, versioning, licensing), run pre-publish hardening, and remediate clawhub.ai security-audit findings. Use when creating a skill for ClawHub, preparing a new version to publish, or when given a clawhub.ai///security-audit page.
openclaw skills install @sunshinejnjn/skill-authorMake agent skills that are well-formed for ClawHub. Four capabilities, in workflow order:
clawhub.ai/<owner>/<slug>/security-audit page (hard findings → code/config changes; soft findings → docs/policy clarification).clawhub publish with a proper changelog, then poll through the moderation queue until Latest: flips.ClawHub reviews run in two layers:
| Layer | Produces | How to handle |
|---|---|---|
| Static pattern scan | Hard findings with file:line (command injection, hardcoded secrets, instruction hijacking, memory poisoning, remote payload fetch, insecure dependencies) | Must be fixed in code/config — wording changes do not count |
| LLM review | Soft findings with confidence scores (language/locale policy, agency & consent, doc/code consistency, missing risk disclosures) | High confidence (≥90%) = real; lower = verify first. Usually fixed in docs |
False positives happen: path-traversal defense code gets flagged as "credential access"; reading the skill's own workflow JSON gets flagged as "memory poisoning". Never delete a guard to "fix" a finding — keep it and explain it in the report to the user.
Follow the conventions in references/authoring-guide.md. The short version:
clawhub search "<keywords>" to avoid collisions (slug defaults to the sanitized folder name).SKILL.md, README.md, LICENSE, VERSION, references/ (see guide §Structure).name, description (triggers first), version, license, homepage, compatibility, allowed-tools, metadata.openclaw.emoji (guide §Frontmatter).references/ files pointed to from the step that needs them.LICENSE is the declared license; VERSION mirrors the frontmatter version.Run the checklist in references/publish-checklist.md. The ten points:
references/*.md cited in docs must exist__pycache__/, test_output/) in the packageLICENSE present and matches frontmatter licenseVERSION matches frontmatter versionclawhub whoami)| Class | Question while writing | Fix |
|---|---|---|
| Command injection | Do shell examples interpolate user-controlled values (titles, paths, filenames)? | Allowlist sanitize + quote every expansion + verify destination stays inside the target dir; prefer file tools over constructed shell commands |
| Data egress | Does any bundled config point at a non-loopback default endpoint? What data leaves the machine? | Default to loopback-only; print a disclosure at runtime for non-local endpoints; document exactly what is transmitted and where outputs are written |
| Supply chain | Do install instructions clone mutable branches without pins or locks? | Pin reviewed commits (git checkout --detach <sha>), lock dependencies, verify repos still exist via the GitHub API (renamed/migrated repos 404), recommend venv + non-root |
Full pattern → fix mapping with real examples: references/audit-patterns.md.
When the user shares a security-audit page (fetch it with web_fetch):
references/audit-patterns.md, verify (compile/parse the file, run the skill's own test entry, grep for leftover old values).cd <parent of the skill folder>
clawhub whoami # confirm logged in
clawhub publish ./<slug> --version X.Y.Z --changelog "<itemized changes>"
# success: OK. Published <slug>@X.Y.Z (<versionId>)
# then poll through the pending.publication moderation queue:
clawhub inspect <slug> 2>&1 | grep "Latest:" # wait for "Latest: X.Y.Z"
Registry notes: the listing page always shows License: MIT-0 (the platform's fixed registration term) — the in-package LICENSE file is the declared license installers actually get; a mismatch is not an error. The registry auto-generates a skill-card.md; never add one to source. Full commands and polling loop: references/publish-checklist.md.
references/authoring-guide.md — ClawHub skill-authoring conventions: frontmatter field reference, slug/naming rules, versioning, tags, file layout, license model, description writingreferences/publish-checklist.md — completeness / publish / verification checklist with exact CLI commands (registry diff, moderation polling, repo liveness checks)references/audit-patterns.md — audit pattern → fix mapping (command injection, data egress, supply chain, locale, agency/consent, doc/code consistency, false positives) from two real remediation cases