You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit 29eec50
Browse filesBrowse the repository at this point in the historyBrowse files
docs: state the private fork's exact lowercase name
GitHub names an advisory's temporary private fork
servers-ghsa-xxxx-yyyy-zzzz, all lowercase; `servers-<ghsa-id>` invited
substituting the uppercase GHSA id. Give the exact form and point at
`.private_fork.full_name`.
Refs #4870
Signed-off-by: cliffhall <[email protected]>
Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]>
Copy file name to clipboardExpand all lines: .claude/skills/security-advisory/SKILL.md
+3-2Lines changed: 3 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -217,7 +217,8 @@ reporter is manual, and the thread cannot be read back with `gh`.
217
217
### 4. The private fork
218
218
219
219
An accepted advisory is fixed in a **private fork** GitHub creates for it: a
220
-
private repository named `servers-<ghsa-id>` in the org.
220
+
private repository named `servers-ghsa-xxxx-yyyy-zzzz` (the id in lowercase) in
221
+
the org; read the exact name from `.private_fork.full_name`.
221
222
222
223
⚠️ **Read `private_fork` FIRST. The POST is not a probe; it CREATES one.**
223
224
Calling it to "check whether a fork exists" makes one, which then needs
@@ -324,7 +325,7 @@ issues and two cards.
324
325
| States |`triage` → `draft` (accepted) → `published`; or `closed`|
325
326
| Accepted? |`submission.accepted` on the advisory object, alongside `state`|
326
327
| Listing |`GET repos/{owner}/{repo}/security-advisories`, 30 per page, so always `--paginate`|
327
-
| Private fork |`POST …/security-advisories/{ghsa_id}/forks` → `202`, a private repo `servers-<ghsa-id>`in the org |
328
+
| Private fork |`POST …/security-advisories/{ghsa_id}/forks` → `202`, a private repo `servers-ghsa-xxxx-yyyy-zzzz` (lowercase) in the org; exact name in `.private_fork.full_name`|
328
329
| Fork idempotency | Read `.private_fork` first; the POST creates, it does not probe |
329
330
| Fork deletion | Needs the `delete_repo` OAuth scope, which a default `gh` token lacks |
330
331
| Comments |**No API at all**, REST or GraphQL; UI-only |
0 commit comments