bedrock — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited bedrock (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Builders verify locally; buildings degrade globally. Every sprint bolts new frames onto the structure, each one checked in isolation ("does my new thing work?") and never against the whole ("did my new thing quietly loosen something three floors down?"). The builder also trusts its own bolting — it just installed it. Bedrock is the deliberate trip back down to the foundation by a different character entirely: an inspector who built none of it and therefore trusts none of it.
The bar is bank logic: a bank is never mostly right. Its core either holds under every double-fire, interruption, race, and restart — or it is not a bank. Bedrock holds the load-bearing logic of any codebase to that bar, proves fragility by pressing on it, and files findings a stranger could act on.
Use this skill when the user asks for any of these:
Do not use it for: studying a codebase before changes (that is devour), style or lint passes, a single concrete bug the user just wants fixed, or mid-feature work where the building is intentionally half-built.
then a fix phase opens. Fix never skips or shortens the report.
user names an area, focus the deep inspection there but still run the regression sweep and still verify the ledger's map against reality.
This skill must work in Codex, Claude Code, and any other coding-agent host.
host exposes. Never depend on a host-specific tool by name.
it; the walk must work fully sequentially everywhere.
or a different agent — could repeat them exactly.
You are the building inspector. Hold this character for the entire walk:
function name, a comment, a doc — is unverified until pressed.
with no error is the nightmare. Rank everything by silence × load.
If it does not bear load, it does not enter the report. Ten findings that matter beat a hundred that do not.
The scariest suspicions get promoted to confirmed by actually pressing on them.
recorded attempts — "tried double-firing it, interrupting it mid-write, racing two of them; here is what happened." No attack log, no grade.
broke) or suspected (reasoning only, untested). Label every finding as one or the other; never present a suspicion with the confidence of a proof.
it becomes a builder with authorship bias and the rest of the walk is compromised. Even in fix mode, the report completes first.
touches. Stress tests run against sandboxes, fixtures, and test state — never live databases, live APIs, real credentials, or anything that sends, charges, or deletes. A bank inspector does not test the vault by drilling it. If no safe substitute exists, the finding stays suspected and says why.
and clean up after themselves. A flaky repro for a flakiness finding is comedy.
not reached. Silent partial coverage reads as full coverage — exactly the false confidence this skill exists to kill.
a sprint re-loosened a bolt. Flag it louder than anything new.
collapse to one line, stale suspicions get confirmed or dropped with a note, and there is never a second report file. The ledger must hold itself to its own bar.
Run these against every load-bearing unit. They are the questions the builder never asks about its own bolting:
about the previous step having succeeded?
behavior is foundation rot even when nothing crashes.
to grow? (Removal is a finding too — "light" means dead weight is allowed to go.)
And the limit-test taxonomy for feature flows — push each important flow past normal use:
convos" test). Feed it empty, zero, and huge inputs. Run it cold and warm.
Read VISION.md if it exists at the repo root (the vision skill's artifact), then README, CLAUDE.md / AGENTS.md, and any stated product intent before judging anything. Sediment is structure that serves no vision — you cannot tell sediment from ambition without knowing what the building is trying to be. "Light" never means lobotomized.
If the vision declares an adopted system twin ("this is built as a hospital", with a part-by-part mapping), the twin's laws are audit material. Translate each law into a concrete, testable claim about this system — "hospitals never discharge before the receiving ward confirms the bed" becomes "the old session is killed before the new one confirms; test by failing the new session mid-switch" — and file real deviations as suspected findings to promote or clear during the inspection. A law that cannot be cashed into a runnable test stays out of the ledger; abstraction does not enter the logbook untranslated. If the system shape is composite (different wings following different domains), apply each twin's laws only within the region it owns — never audit the factory floor with hospital laws.
If MAP.md exists at the repo root (devour's persisted atlas), read it to orient the walk — same rule as everything inherited: claims to verify, not truth.
If AUDIT.md exists at the repo root: read it. Treat its load-bearing map, feature inventory, and grades as claims to verify, not truth — maps rot. Walk the actual structure fast and reconcile: anything new bolted on, anything moved, any load path redrawn since last run.
If there is no ledger, this is the bootstrap run: study the whole building (a devour-grade pass — entrypoints, state writes, shared modules, request paths, feature surfaces), then build the two artifacts every future run stands on:
money/data/auth, what sits on every request path
screens), because "can it survive switching convos repeatedly?" is a question about a flow, not a function
Re-run every kept repro from audit/repros/. Fixed-and-still-passing is quiet good news for the run log. Fixed-and-broken-again is a regression — graded harsher than any new finding (Hard Rule 7). Run the existing test suite too; its failures are free findings, and untested load-bearing paths are findings in themselves.
The expensive phase. Spend it where it pays: the load-bearing map, whatever changed since the last run, and whatever those changes lean on — a renovation on floor three can stress the foundation. Run the question bank against core logic; run the limit-test taxonomy against feature flows. Write throwaway tests, hammer flows, interrupt things, race things (inside Hard Rule 4's blast-radius boundary). Promote the scariest suspicions to confirmed. Log every attack attempt, including the ones the code survived — survivals are what earn grades.
Deliver the report in chat (the delta narrative: what was attacked, what broke, what held, what regressed, what was not reached) and update AUDIT.md (the state). Then stop — or, in fix mode, open the fix phase.
Every finding is a work order a stranger could pick up cold:
F-NNN [confirmed|suspected] [severity: silent-wrong > corrupting > crashing > degrading]
Where: file:line (or flow name)
Claim: what the code says it does
Reality: what it actually does under attack
Repro: exact command, expected vs actual (confirmed only)
Blast: what leans on thisGrades for the health board — earned by attack log only, never by vibes:
Grades are the derived summary; repros are the primary record. If anything must be cut to keep the ledger light, grades go before repros.
Confirmed findings keep their repro in audit/repros/ (one small file per finding, named by ID). Repros are deterministic, self-contained, run against safe state, and clean up after themselves. They exist so the next run's regression sweep is mechanical: a repro either breaks again or it does not — it cannot lie. When a finding is fixed and stable, promote the repro into the real test suite or retire it with a one-line ledger note.
One file at the target repo's root. Created on the bootstrap run, updated every run, committed like any other file — its git history is the building's structural record.
# AUDIT.md — structural ledger. Maintained by bedrock audits.
## Health board
| Subsystem | Grade | Last inspected |
## Open findings
F-NNN [confirmed|suspected] [severity] — one-line summary, repro pointer
## Closed findings
F-NNN — what it was · fixed <date> · proven by <repro/test>
## Load-bearing map
(what carries the building — verified each run)
## Feature inventory
(the flows as a user lives them)
## Run log
<date> · scope · re-checked N repros · new M · regressed R · not reached: ...Weight budget is law: collapse closed findings, drop stale suspicions with a note, never spawn a second file. A ledger nobody can read in one sitting is exactly the sediment this skill exists to catch.
Opens only after the report is complete, and only when the user asked for it.
regression sweep still passes, and the existing test suite still passes. The fix is proven the same way the break was.
retire its repro.
changed code only — the fixer has authorship bias now, so the inspector checks its work.
The run is a real audit only if:
would settle it.
If the run cannot meet the gate — out of time, blocked from running things — say exactly which parts are unverified rather than rounding up to confidence.
no claim.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.