openclaw-ghsa-maintainer

Inspect, patch, and publish GitHub Security Advisories for the OpenClaw repository.

Updated Mar 30, 2026
One-click install
npx skills add https://github.com/srgaba/open-claw --skill openclaw-ghsa-maintainer-srgaba
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: openclaw-ghsa-maintainer
Source: https://github.com/srgaba/open-claw/tree/main/project/.agents/skills/openclaw-ghsa-maintainer
Command: npx skills add https://github.com/srgaba/open-claw --skill openclaw-ghsa-maintainer-srgaba

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Publishing a GitHub Security Advisory (GHSA) involves fragile API constraints, private fork checks, and Markdown payload pitfalls that can cause failed publishes or corrupted advisory descriptions. This Skill guides maintainers through the full advisory lifecycle safely. ## Core Features & Use Cases - Advisory Inspection: Fetch advisory state, linked private fork, and vulnerability payload shape via the GitHub API before making changes. - Safe Payload Preparation: Build advisory Markdown with heredocs and PATCH JSON with jq to avoid escaped-newline corruption. - Publish Guardrails: Verify private fork PRs are closed, sequence severity and CVSS updates into separate PATCH calls, and confirm publish success afterward. - Use Case: A maintainer needs to publish a patched GHSA for OpenClaw. The Skill walks them through fetching the advisory, closing fork PRs, PATCHing fields in the correct order, publishing, and verifying state. ## Quick Start Use the openclaw-ghsa-maintainer skill to inspect advisory GHSA-xxxx, prepare the patch payload, and publish it after verifying the private fork has no open PRs.

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 PATCHing the advisory endpoint with "state":"published"; there is no separate /publish endpoint. Before publishing, verify the private fork has no open PRs and all required fields are set, or the API returns HTTP 422.

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 setting both fields in one request. Build each payload with jq and send them sequentially using gh api -X PATCH.

Why does GHSA publish fail with HTTP 422?

HTTP 422 occurs 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 the publish.

Why does my advisory description show literal \n characters?

Literal \n sequences appear when Markdown is assembled with escaped newline strings instead of real line breaks. Write the description via a heredoc to a temp file and load it into JSON with jq --rawfile to preserve proper formatting.

When should I not use this GHSA maintainer workflow?

Do not use this workflow for stable or beta release management; that belongs to the separate release maintainer process. This workflow is scoped strictly to repository security advisory inspection, patching, and publishing.