openclaw-ghsa-maintainer

Inspect, patch, validate, and publish OpenClaw GitHub Security Advisories via the GHSA API.

1|Updated Jun 9, 2026
One-click install
npx skills add https://github.com/JEROME-PRAKASH-L/openclaw --skill openclaw-ghsa-maintainer-jerome-prakash-l
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: openclaw-ghsa-maintainer
Source: https://github.com/JEROME-PRAKASH-L/openclaw/tree/main/.agents/skills/openclaw-ghsa-maintainer
Command: npx skills add https://github.com/JEROME-PRAKASH-L/openclaw --skill openclaw-ghsa-maintainer-jerome-prakash-l

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Managing GitHub Security Advisories (GHSA) for OpenClaw involves error-prone API calls, strict field sequencing rules, and private fork checks that can cause publish failures or malformed advisory content if done by hand. ## Core Features & Use Cases - Advisory Inspection: Fetch advisory state, linked private fork, and vulnerability payload shape using the GitHub API before making changes. - Safe Patching Workflow: Build Markdown descriptions via heredocs and PATCH payloads with jq, applying severity and CVSS vector updates in separate calls as the API requires. - Publish Verification: Confirm private fork PRs are closed, publish by setting state to published, and re-fetch to verify published_at and clean description formatting. - Use Case: A maintainer needs to publish a draft GHSA for an OpenClaw vulnerability; this Skill walks through fetching the advisory, patching its fields correctly, verifying no open PRs remain on the private fork, and confirming the published state. ## Quick Start Use the openclaw-ghsa-maintainer skill to inspect and publish the draft security advisory GHSA-xxxx-yyyy-zzzz for the OpenClaw repository.

Frequently Asked Questions about openclaw-ghsa-maintainer

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I publish a GitHub Security Advisory via the API?

Publish a GHSA by sending a PATCH request to /repos/{owner}/{repo}/security-advisories/{ghsa_id} with the state field set to published. There is no separate /publish endpoint, and the private fork must have no open PRs first.

How to update GHSA severity and CVSS vector with gh api?

Update severity and cvss_vector_string in separate PATCH calls, since the GHSA API rejects payloads containing both fields together. Build each JSON payload with jq to avoid shell escaping errors.

Why does GHSA publishing fail with HTTP 422?

Publishing fails with HTTP 422 when required advisory fields are missing or the linked private fork still has open pull requests. List open PRs on the private fork with gh pr list and close them before retrying.

Why does my advisory description show literal \n characters?

Literal escaped newlines appear when Markdown is assembled with escaped \n strings in shell instead of real line breaks. Write the description via a heredoc to a temp file and pass it with jq --rawfile.

Can this skill handle stable or beta release work?

No, this skill is scoped strictly to GHSA security advisory workflows. Stable and beta release tasks belong to the separate release-openclaw-maintainer skill, and the two should not be mixed.