Discoverability Audit
A skill for the engineers and operators of a Discoverability Engineering system, which audits the repository and live public surfaces and returns a status for each required capability, with proof, what is missing, and the smallest fixes in order.
This skill is Labor as Code™ for the discoverability audit in Discoverability Engineering. Labor as Code is a skill that encapsulates a person's knowledge, judgment, and skill in durable, inspectable, versioned form. The know-how is an engineer's habit of asking of every claim that the system does something, "Show me the record that says it ran."
The method comes from "Controlled Tests and the Actionboard Show Whether Discovery Is Getting More Correct," which defines the five statuses and the September 24 report, and from the audit box that ends each implementation chapter. Read the first for the rule and the others for the checks each chapter adds. This skill runs every one of those checks in one pass over the user's own repository. It does not retell Merriden's audit.
A document is intent, not proof. A spec, a plan, or an issue that
says a check runs is evidence that someone meant it to. The skill marks a
capability IMPLEMENTED only when a stored record shows it ran, or a live
page shows the work. It never raises a status because a spec is well
written, because a person says it is done, or because it ran once long
ago. It never changes any file outside state/audits/.
Before running
Confirm these points with the user before the first status:
- Which subject. The audit covers one subject and its Finder
Specifications. Read
README.mdandAGENTS.mdfor the subject and the outcome. Stop and ask if there are several. - The last audit. Read the newest file in
state/audits/nameddiscoverability-audit-*.md. This run compares against it. If there is none, this is the first audit, and every status starts from the records alone. - Who owns what. Read the ownership section of
AGENTS.md. Each finding names the engineer or the Discoverability Operator, using the book's split: the engineer owns the machine, the operator owns claims, questions, and inbound. - Which optional parts apply. The prior-art part applies only if the subject publishes disclosures or holds patents. The health supply-chain parts apply only where the specs name those surfaces. Mark a part NOT APPLICABLE with the reason. Never leave it silent.
Step 1: Inspect what exists
Read, and list by path, what the audit can see:
- The repository:
specs/,state/,actionboard/,audits/,prompts/,content/. - The live surfaces in
specs/surfaces/: the website, the published documents, the structured data, the public profiles, the supplier portals and procurement records, and any patent and literature surfaces. Open each one that is public. Mark each surface that needs a loginmanual_checkand name its owner. - The test records, the answer-engine outputs, the inbound records, the Actionboard, the ontology, and the evidence freshness dates.
Record the date of the audit and the date each live surface was read.
Step 2: Return a status for each capability
Give each line one of five statuses and cite its proof:
| Status | Meaning |
|---|---|
| IMPLEMENTED | The capability runs, and a stored record or live page shows it ran |
| PARTIAL | Some of it runs. The line says which part is missing |
| PLANNED | A spec or an issue describes it, and nothing runs yet |
| MISSING | Neither a spec nor a running piece exists |
| UNCLEAR | The audit cannot tell from the evidence it has, and the line says what would settle it |
Check each capability below and cite a file path with a date, a record ID, or a live URL with the date read:
- Finder Specifications and jobs. Every specification names a job,
sources or UNKNOWN for each field,
cannot_use, and a next action; every job has exclusions; no field uses persona language. - Finder Question Library. Every required criterion has a question; every question has a source, expected evidence, and a next action; no two questions pass or fail on the same evidence; the last review is inside its calendar.
- Surface map. Every surface a finder uses has an entry with an
owner, a holder, a band, and a
last_checkeddate under 90 days; evidence readable only by a logged-in human is marked. - Evidence graph. Every claim node has a
demonstrated_bylink to a public artifact readable without a login; every record has a freshness limit; stale records and opencontradicted_bylinks are listed. - Entity consistency. The canonical record exists; the last comparison of every surface is under 35 days old; each conflict has a queue item or a recorded reason.
- Ontology and structured data. Terms from recent inbound and test results are in the ontology or listed as gaps; structured data values match visible text and the entity record; a record shows the check ran.
- Answer and agent tests. The tests cover every surface the Finder Specification lists; each high-priority question runs in at least two phrasings; every run keeps the verbatim answer and its citations; every saved answer has characterization findings and all five scores; no report counts a mention as qualification.
- Government and portal surfaces. Every entry has stale-when dates; renewal and expiry dates are on the Actionboard; the past-performance page explains what award data omits.
- Engagement paths and inbound. Every next action has a matching path with an owner and a reply time; the last path test is under 35 days old; every inquiry has a record that closes with a spec change or a written reason; qualified and unqualified inquiries by path are on the Actionboard.
- Actionboard. It answers each of its thirteen questions from stored records, was recomputed after the last test, and carries no traffic, rankings, or mention counts. Three sampled numbers trace to their records.
- Prior art and patent evidence (if applicable). Every disclosure the subject relies on has a Prior Art Record with one date proven by someone other than the publisher and no login or notice; a retrieval test under 35 days old exists for each record; every invention made public has a Publish-or-Protect entry dated before its first public date; every patent node shows an assignee name equal to the legal name and a recorded assignment; the patent watch ran in the last 8 days; the Actionboard's prior-art row matches the last retrieval test.
- Acceptance criteria for the first loop, written before the baseline: each returns a status against dated records, and the audit says whether any criterion blocks expansion.
- Where knowledge lives. No prompt holds a criterion, list, or question text that a spec should hold.
Step 3: Test the statuses against each other
- Reject any IMPLEMENTED that cites only a spec file. Change it to PLANNED or PARTIAL and say why.
- Read the audit next to the Actionboard. If scores rise while an audit line fails, say so and name which record to check first, because the scores may be produced wrongly.
- Compare with the last audit. List each line whose status changed and the record that changed it. A line that got worse gets the same attention as a new gap.
- Read the live pages for lines that rest on a live page. A record that says a page exists does not prove the page still does.
Step 4: Write the report and conclude
Save the report to state/audits/discoverability-audit-<date>.md:
Discoverability audit, <date>. Subject: <subject>.
<capability> <STATUS> <path, record ID, or URL with date>
<what is missing, or what would settle it>
Then conclude in plain words, with reasons:
- The count of each status, and the change since the last audit.
- The three smallest fixes, in order, each with the line it closes, the owner, and the observable change the next audit should show. Put a lapse a finder would see first (an expiring registration, a stale record behind a required criterion) ahead of a missing tool.
- What only a person can settle: claims, questions, inbound
decisions, and anything marked
manual_check. - Whether the loop can expand. Say yes only when every acceptance criterion is IMPLEMENTED or the open ones are named as not blocking, with the reason.
Where the evidence is too thin to give a status, write UNCLEAR and name what would resolve it. Do not pick a status to sound useful.
What this skill does not do
- It does not edit any spec, record, page, or registration, and it
writes only to
state/audits/. - It does not renew, publish, or correct anything it finds.
- It does not count a mention, a ranking, or traffic as evidence that a finder could qualify the subject.
- It does not decide whether to file, publish, or keep something secret, or read a patent's claims. The operator and the patent attorney do.