
Openclaw Ghsa Maintainer
- 234 installs
- 385k repo stars
- Updated August 3, 2026
- steipete/clawdis
Use openclaw-ghsa-maintainer for development tasks
About
openclaw-ghsa-maintainer: A skill for development. This provides functionality for development workflows.
- openclaw-ghsa-maintainer
Openclaw Ghsa Maintainer by the numbers
- 234 all-time installs (skills.sh)
- +5 installs in the week ending Jul 27, 2026 (Skillselion tracking)
- Ranked #1,597 of 4,348 Backend & APIs skills by installs in the Skillselion catalog
- Data as of Aug 3, 2026 (Skillselion catalog sync)
npx skills add https://github.com/steipete/clawdis --skill openclaw-ghsa-maintainerAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 234 |
|---|---|
| repo stars | ★ 385k |
| Last updated | August 3, 2026 |
| Repository | steipete/clawdis ↗ |
What it does
Use openclaw-ghsa-maintainer for development tasks
Files
OpenClaw GHSA Maintainer
Use this skill for repo security advisory workflow only. Keep general release work in release-openclaw-maintainer.
Respect advisory guardrails
- Before reviewing or publishing a repo advisory, read
SECURITY.md. - Ask permission before any publish action.
- Treat this skill as GHSA-only. Do not use it for stable or beta release work.
Fetch and inspect advisory state
Fetch the current advisory and the latest published npm version:
gh api /repos/openclaw/openclaw/security-advisories/<GHSA>
npm view openclaw version --userconfig "$(mktemp)"Use the fetch output to confirm the advisory state, linked private fork, and vulnerability payload shape before patching.
Verify private fork PRs are closed
Before publishing, verify that the advisory's private fork has no open PRs:
fork=$(gh api /repos/openclaw/openclaw/security-advisories/<GHSA> | jq -r .private_fork.full_name)
gh pr list -R "$fork" --state openThe PR list must be empty before publish.
Prepare advisory Markdown and JSON safely
- Write advisory Markdown via heredoc to a temp file. Do not use escaped
\nstrings. - Build PATCH payload JSON with
jq, not hand-escaped shell JSON.
Example pattern:
cat > /tmp/ghsa.desc.md <<'EOF'
<markdown description>
EOF
jq -n --rawfile desc /tmp/ghsa.desc.md \
'{summary,severity,description:$desc,vulnerabilities:[...]}' \
> /tmp/ghsa.patch.jsonApply PATCH calls in the correct sequence
- Do not set
severityandcvss_vector_stringin the same PATCH call. - Use separate calls when the advisory requires both fields.
- Publish by PATCHing the advisory and setting
"state":"published". There is no separate/publishendpoint.
Example shape:
gh api -X PATCH /repos/openclaw/openclaw/security-advisories/<GHSA> \
--input /tmp/ghsa.patch.jsonPublish and verify success
After publish, re-fetch the advisory and confirm:
state=publishedpublished_atis set- the description does not contain literal escaped
\\n
Verification pattern:
gh api /repos/openclaw/openclaw/security-advisories/<GHSA>
jq -r .description < /tmp/ghsa.refetch.json | rg '\\\\n'Common GHSA footguns
- Publishing fails with HTTP 422 if required fields are missing or the private fork still has open PRs.
- A payload that looks correct in shell can still be wrong if Markdown was assembled with escaped newline strings.
- Advisory PATCH sequencing matters; separate field updates when GHSA API constraints require it.
- Public hardening/no-publish comments and draft text should avoid raw commit hashes, PR titles/numbers, and fix-mechanism summaries. Prefer patched-version fields or release-only wording; keep SHAs, PRs, and implementation notes in internal evidence.