Safety rating record · browse all ratings
obra/superpowers — using-superpowers SKILL.md
Score 100/100 — Strong public signals · skill · as of 2026-10-27 (check version rs-safety-checks-2.0)
Automated checks of public signals as of the date shown. Not a security audit, certification or endorsement, and not a statement about the people who maintain the project. Signals can be incomplete or out of date; each check shows its evidence and source so anyone can verify it.
Source record: https://raw.githubusercontent.com/obra/superpowers/main/skills/using-superpowers/SKILL.md · Rating page: https://www.rightshold.com/ratings/skill/raw-githubusercontent-com-obra-superpowers-main-skills-u-9b9680abbb · Machine form: /v1/ratings/browse/skill/raw-githubusercontent-com-obra-superpowers-main-skills-u-9b9680abbb
Checks
- Credential and environment access — Found (15/15): The scan recorded a pass: No credential or environment access patterns were found in the scanned bytes.
- Known-bad indicators — Found (15/15): The scan recorded a pass: None of the scanner's published known-bad indicator patterns matched the scanned bytes.
- Shell-outs and download-and-execute — Found (12/12): The scan recorded a pass: No shell-out or download-and-execute patterns were found in the scanned bytes.
- Install and postinstall hooks — Found (12/12): The scan recorded a pass: No install or postinstall hooks were found in the scanned bytes.
- Obfuscation and encoded payloads — Found (10/10): The scan recorded a pass: No obfuscation or encoded-payload signs were found in the scanned bytes.
- Outbound network references — Found (10/10): The scan recorded a pass: No outbound network references — no URLs, domains or network calls — were found in the scanned bytes.
- Permission declarations vs behavior — Found (10/10): The scan recorded a pass: No network, credential or filesystem behavior was observed in the bytes, so there is no permission gap to record.
- Provenance facts (weak signals) — Found (6/6): The scan recorded a pass: Provenance facts, labeled weak signals — they say where the bytes sit, not what the bytes do: source host: raw.githubusercontent.com; repository: obra/superpowers; bytes scanned: 3192.
Sealed ratings on record (1)
- 2026-10-27: score 100 (Strong public signals), rs-safety-checks-2.0, rating 61ae628e51b6a8f8…, sealed at ledger entry 5040
Timeline
First rated: 2026-10-27. Ratings on record: 1. Recorded changes: 0. Last changed: never.
Drift: clean (1 version(s) of the scanned bytes).
Latest scan receipt
The rightshold on https://raw.githubusercontent.com/obra/superpowers/main/skills/using-superpowers/SKILL.md — scanned 2026-10-27 · 0 of 8 checks flagged · receipt rsc_18df1136808de3ca03b05693, verify at rightshold.com/verify.
Receipt rsc_18df1136808de3ca03b05693, 0 of 8 checks flagged, scanned 2026-10-27T12:24:33.105Z, ledger entry 1643. Receipt record: https://www.rightshold.com/resource-scans/raw-githubusercontent-com-obra-superpowers-main-skills-u-9b9680abbb
Diff since first scan
No change is recorded: every receipt for this artifact names the same bytes.
Directory claim
No claim recorded. No public directory record publishes this artifact's source address, so no claim stands against it. A claim binds through a directory record whose own published addresses name the artifact.
Claim through the directory of record (rs-directory-claim/1): POST /v1/profiles/{handle}/claim-challenge, then POST /v1/profiles/{handle}/claim with the signature the challenge names — RS-KYA L1 (key-bound) or above.
How this record counts
- The corpus is every artifact with a current rating: GitHub repositories under check version rs-safety-checks-1.0, and npm packages, PyPI packages, MCP servers and agent skills under rs-safety-checks-2.0. A skill's rating is its latest sealed resource-scan receipt, scored under the published skill check set — never a second scan. Counts are computed when the page is read, from the same records the rating pages and GET /v1/ratings read, so the total here and the total there are two reads of one corpus.
- Every rating shown is sealed on the public ledger as a safety.rating entry naming its score and rating hash. The seal named on each row is the latest entry for that artifact; earlier ratings stay on the ledger and in the record page's series. An entry can be read in full at its ledger entry URL.
- Search matches a case-insensitive substring of the artifact's name, id or area. Filters name a kind, a band, a drift state or a minimum score. Search and filters change which rows are shown — never any rating, seal or count of record.
- Ordering is mechanical, over sealed facts only: score (the sealed score, highest first), recent (the rating's as-of date, newest first), name (A to Z), or changes (recorded rating or byte changes, most first). Ties break by name, then kind, then id, so the order is total and stable from page to page. No ordering is sold, submitted or editorial, and no placement on this index is for sale.
- Drift is stated only where a drift watch exists: skill artifacts, whose ratings are resource scans — clean when every receipt names the same bytes, changed when the receipts name more than one version of the bytes or a drift event is sealed against the artifact. Registry-collected ratings (GitHub, npm, PyPI, MCP servers) carry no drift watch and read not_watched; their change record is the rating timeline, not a byte watch.
- The timeline counts what is on record: for registry-collected ratings, the first rating's date, how many ratings are recorded, and how many times the recorded rating changed (a new rating hash — a re-check cannot erase an earlier rating). For skills it counts recorded scans instead: first seen, scans on record, and how many times the scanned bytes changed.
- Diff-since-scan exists only for skill artifacts with more than one recorded version: it names the first and current byte hashes and the scan checks whose outcome differs between the earliest and the latest receipt. Registry-collected ratings have no byte diff — their collections are metadata, not bytes — and their record shows the rating series instead.
- The claim block records whether a directory claim stands for this artifact. A claim binds through the directory of record (rs-directory-claim/1): a public directory profile whose own published addresses name this artifact's source address, claimed by an account that proved control of the agent's key at RS-KYA L1 or above. A claim attests key control only — it changes no rating, seal or ordering here, and the claiming account is never named.
