Skill Tracer
Skills › Scientific Agent Skills › iso-standards-readiness

iso-standards-readiness

skill · 383 lines · MIT · skills/iso-standards-readiness/SKILL.md

The facts

Its description

Prepares and structurally reviews readiness evidence for ISO management-system and laboratory-competence standards - ISO 13485 medical device QMS, ISO 14971 device risk management, ISO/IEC 17025 testing and calibration laboratories, and ISO 15189 medical laboratories. Use when organizing declared scope, controlled documents, risk-management files, scope of accreditation, traceability, CAPA, external-provider controls, or bounded local evidence manifests, and when separating ISO certification from laboratory accreditation, FDA QMSR inspection, CLIA certification, MDSAP, and EU MDR/IVDR evidence boundaries. Not for legal applicability, compliance, certification, or accreditation decisions; contains no clause text.

The description the agent reads to decide when to use it.

From its settingsline 3

Tools it may use, or may not

allowed-tools: Read Write Bash Glob

Tools it may use while it runs without asking you first.

From its settingsline 6

Runs scripts

python3 scripts/validate_scope_intake.py, python3 scripts/audit_document_records.py, python3 scripts/check_traceability.py, python3 scripts/check_capa.py, python3 scripts/check_supplier_controls.py (first 5 of 8 lines)

Scripts the text names. Found by matching words, so treat them as pointers.

Found by matching wordsline 129 line 164 line 185 line 192 line 201

Files it mentions

references/iso-13485.md, references/iso-14971.md, references/iso-17025.md, references/iso-15189.md, references/source-ledger.md (first 5 of 33 lines)

Files the text names, such as ones to read or write. Found by matching words, so treat them as pointers.

Found by matching wordsline 66 line 67 line 68 line 69 line 98

Licence

MIT, from the skill file

The terms its author shares it under, which let it be shown here.

From its settingsline 4 licence text

Other settings

compatibility: Python 3.11+; bundled CLIs use only the standard library and bounded local JSON/Markdown files, with no network access or credentials. metadata: version: "1.3" skill-author: K-Dense Inc. supersedes: iso-13485-certification last-reviewed: "2026-10-01"

More settings at the top of the file, shown as written.

From its settingsline 5 line 7
Other files in this skill (31) Close

The text

Open on GitHub

Most marks come from matching words in the file, so treat them as pointers.

1---
2name: iso-standards-readiness
3description: Prepares and structurally reviews readiness evidence for ISO management-system and laboratory-competence standards - ISO 13485 medical device QMS, ISO 14971 device risk management, ISO/IEC 17025 testing and calibration laboratories, and ISO 15189 medical laboratories. Use when organizing declared scope, controlled documents, risk-management files, scope of accreditation, traceability, CAPA, external-provider controls, or bounded local evidence manifests, and when separating ISO certification from laboratory accreditation, FDA QMSR inspection, CLIA certification, MDSAP, and EU MDR/IVDR evidence boundaries. Not for legal applicability, compliance, certification, or accreditation decisions; contains no clause text.
4license: MIT
5compatibility: Python 3.11+; bundled CLIs use only the standard library and bounded local JSON/Markdown files, with no network access or credentials.
6allowed-tools: Read Write Bash Glob
7metadata:
8 version: "1.3"
9 skill-author: K-Dense Inc.
10 supersedes: iso-13485-certification
11 last-reviewed: "2026-10-01"
12---
14# ISO Standards Readiness Evidence Preparation

ISO Standards Readiness Evidence Preparation

Raw lines 1 to 15
16## Purpose
18Use this skill to organize declared scope, controlled documents, implementation
19records, traceability, and readiness evidence for substantive human review against a
20named standard. It summarizes process workflows and provides deterministic local
21checks. It contains no clause text and performs no audit.
23`SKILL.md` holds the boundary, lane discipline, shared evidence workflow, and CLI
24contract. Per-standard preparation details live in `references/`.

Purpose

Use this skill to organize declared scope, controlled documents, implementation records, traceability, and readiness evidence for substantive human review against a named standard. It summarizes process workflows and provides deterministic local checks. It contains no clause text and performs no audit.

SKILL.md holds the boundary, lane discipline, shared evidence workflow, and CLI contract. Per-standard preparation details live in references/.

Raw lines 16 to 25
26## Non-negotiable boundary
28This skill cannot:
30- certify or accredit anything, issue or validate a certificate, accreditation
31 schedule, or licence, or promise an audit, assessment, or inspection result;
32- determine legal/regulatory applicability, device classification, reportability,
33 conformity route, product authorization, market access, licensure, personnel
34 qualification, or compliance;
35- replace authorized management, the management representative, laboratory director,
36 quality manager, authorized signatory, RA/QA, legal counsel, regulatory/competent
37 authorities, a notified body, an MDSAP Auditing Organization, an accreditation body,
38 an assessor, or a certification body;
39- validate a method, compute or approve measurement uncertainty, establish
40 metrological traceability, set risk-acceptability criteria, or judge whether a risk,
41 decision rule, or reference interval is fit for purpose; or
42- infer implementation, competence, conformity, compliance, or readiness from a
43 template, checklist, filename, keyword, document count, percentage, or script
44 result.
46Always label outputs **draft evidence-preparation material for authorized human
47review**. Preserve unresolved decisions as blockers rather than resolving them.

Non-negotiable boundary

This skill cannot:

  • certify or accredit anything, issue or validate a certificate, accreditation schedule, or licence, or promise an audit, assessment, or inspection result;
  • determine legal/regulatory applicability, device classification, reportability, conformity route, product authorization, market access, licensure, personnel qualification, or compliance;
  • replace authorized management, the management representative, laboratory director, quality manager, authorized signatory, RA/QA, legal counsel, regulatory/competent authorities, a notified body, an MDSAP Auditing Organization, an accreditation body, an assessor, or a certification body;
  • validate a method, compute or approve measurement uncertainty, establish metrological traceability, set risk-acceptability criteria, or judge whether a risk, decision rule, or reference interval is fit for purpose; or
  • infer implementation, competence, conformity, compliance, or readiness from a template, checklist, filename, keyword, document count, percentage, or script result.

Always label outputs draft evidence-preparation material for authorized human review. Preserve unresolved decisions as blockers rather than resolving them.

Raw lines 26 to 48
49## ISO and IEC copyright
51ISO and IEC standards are copyrighted. Obtain each standard from
52[ISO](https://www.iso.org/standards.html), IEC, an ISO national member, or another
53authorized source. Do not retrieve, paste, reproduce, or generate clause text.
54Summarize the organization's own process and cite the controlled authorized copy. See
55[ISO copyright](https://www.iso.org/copyright.html). Accreditation-body, CAP, and
56scheme checklists that quote requirements are separately licensed — keep them out of
57shared repositories and prompts too.

ISO and IEC copyright

ISO and IEC standards are copyrighted. Obtain each standard from ISO, IEC, an ISO national member, or another authorized source. Do not retrieve, paste, reproduce, or generate clause text. Summarize the organization's own process and cite the controlled authorized copy. See ISO copyright. Accreditation-body, CAP, and scheme checklists that quote requirements are separately licensed — keep them out of shared repositories and prompts too.

Raw lines 49 to 58
59## Standards covered
61Read the reference file for the standard in play **before** preparing evidence. Each
62one carries its own current edition, lane, domain vocabulary, and failure modes.
64| Standard | Profile key | Lane | Reference |
65| --- | --- | --- | --- |
66| ISO 13485 medical device QMS | `iso-13485` | Certification | `references/iso-13485.md` |
67| ISO 14971 device risk management | `iso-14971` | Supports a declared lane | `references/iso-14971.md` |
68| ISO/IEC 17025 testing and calibration laboratories | `iso-17025` | Accreditation | `references/iso-17025.md` |
69| ISO 15189 medical laboratories | `iso-15189` | Accreditation | `references/iso-15189.md` |
71A standard absent from this table is out of scope for the bundled checks. Do not
72repurpose a profile for a standard it does not name — a domain vocabulary borrowed from
73a different standard produces a report that looks complete and means nothing.

Standards covered

Read the reference file for the standard in play before preparing evidence. Each one carries its own current edition, lane, domain vocabulary, and failure modes.

StandardProfile keyLaneReference
ISO 13485 medical device QMSiso-13485Certificationreferences/iso-13485.md
ISO 14971 device risk managementiso-14971Supports a declared lanereferences/iso-14971.md
ISO/IEC 17025 testing and calibration laboratoriesiso-17025Accreditationreferences/iso-17025.md
ISO 15189 medical laboratoriesiso-15189Accreditationreferences/iso-15189.md

A standard absent from this table is out of scope for the bundled checks. Do not repurpose a profile for a standard it does not name — a domain vocabulary borrowed from a different standard produces a report that looks complete and means nothing.

Raw lines 59 to 74
Reads a file references/iso-13485.md :66
Reads a file references/iso-14971.md :67
Reads a file references/iso-17025.md :68
Reads a file references/iso-15189.md :69
75## Current baseline (read the ledger before any time-sensitive statement)
77- **ISO 13485:2016** Edition 3, confirmed after its 2025 systematic review.
78 **EN ISO 13485:2016/A11:2021** is a European amendment, not an ISO international
79 "Amendment 1:2021."
80- **ISO 14971:2019** Edition 3, confirmed in 2025, with **ISO/TR 24971:2020** as its
81 informative guidance companion. Its proposed successor **ISO/AWI TS 24971-1**
82 is under development, not a published replacement or a new normative basis.
83- **ISO/IEC 17025:2017** Edition 3 remains current; no successor edition identified.
84- **ISO 15189:2022** Edition 4 replaced the 2012 edition, absorbed the POCT
85 requirements formerly in ISO 22870, and its accreditation transition closed in
86 **December 2025** — implemented, not upcoming.
87- **FDA QMSR** effective and enforced since **2026-02-02**; Part 820 is titled
88 *Quality Management System Regulation*; QSIT is retired in favour of Compliance
89 Program **7382.850**.
90- **MDSAP** current Audit Approach is **MDSAP AU P0002.011**, version date
91 **2026-08-03**.
92- **Accreditation recognition:** Global Accreditation Cooperation Incorporated
93 commenced full operations **2026-01-01**, replacing ILAC and IAF, with its own MRA;
94 former IAF MLA / ILAC MRA outputs stay recognized during the transition.
95- **EU:** use current consolidated MDR/IVDR texts, current OJEU harmonised-standard
96 decisions, current MDCG guidance, and the product-specific conformity route.
98Read `references/source-ledger.md` before making any time-sensitive statement. It
99records catalogue confirmation, published versus draft documents, and the remaining
100EU source-retrieval limitations. The bundled report `basis_date` is this skill
101release's research baseline, not the organization's review date or a freshness guarantee.

Current baseline (read the ledger before any time-sensitive statement)

  • ISO 13485:2016 Edition 3, confirmed after its 2025 systematic review. EN ISO 13485:2016/A11:2021 is a European amendment, not an ISO international "Amendment 1:2021."
  • ISO 14971:2019 Edition 3, confirmed in 2025, with ISO/TR 24971:2020 as its informative guidance companion. Its proposed successor ISO/AWI TS 24971-1 is under development, not a published replacement or a new normative basis.
  • ISO/IEC 17025:2017 Edition 3 remains current; no successor edition identified.
  • ISO 15189:2022 Edition 4 replaced the 2012 edition, absorbed the POCT requirements formerly in ISO 22870, and its accreditation transition closed in December 2025 — implemented, not upcoming.
  • FDA QMSR effective and enforced since 2026-02-02; Part 820 is titled Quality Management System Regulation; QSIT is retired in favour of Compliance Program 7382.850.
  • MDSAP current Audit Approach is MDSAP AU P0002.011, version date 2026-08-03.
  • Accreditation recognition: Global Accreditation Cooperation Incorporated commenced full operations 2026-01-01, replacing ILAC and IAF, with its own MRA; former IAF MLA / ILAC MRA outputs stay recognized during the transition.
  • EU: use current consolidated MDR/IVDR texts, current OJEU harmonised-standard decisions, current MDCG guidance, and the product-specific conformity route.

Read references/source-ledger.md before making any time-sensitive statement. It records catalogue confirmation, published versus draft documents, and the remaining EU source-retrieval limitations. The bundled report basis_date is this skill release's research baseline, not the organization's review date or a freshness guarantee.

Raw lines 75 to 102
103## Keep the assurance lanes separate
105Lane confusion, not missing documents, causes most substantive errors here.
106Certification, accreditation, regulator inspection, mandatory licensure, regulatory
107audit programmes, and product conformity assessment are decided by different bodies
108against different bases, and none substitutes for another. Two rules that are violated
109constantly:
111- Organizations are **certified**; laboratories are **accredited**. "ISO 17025
112 certified" and "ISO 15189 certified" are category errors.
113- A certificate never displaces a regulator. ISO 13485 certification does not exempt
114 anyone from FDA inspection, and ISO 15189 accreditation does not satisfy CLIA.
116Read `references/assurance-lanes.md` for the full lane table, scope-statement limits,
117and the titling rule.

Keep the assurance lanes separate

Lane confusion, not missing documents, causes most substantive errors here. Certification, accreditation, regulator inspection, mandatory licensure, regulatory audit programmes, and product conformity assessment are decided by different bodies against different bases, and none substitutes for another. Two rules that are violated constantly:

  • Organizations are certified; laboratories are accredited. "ISO 17025 certified" and "ISO 15189 certified" are category errors.
  • A certificate never displaces a regulator. ISO 13485 certification does not exempt anyone from FDA inspection, and ISO 15189 accreditation does not satisfy CLIA.

Read references/assurance-lanes.md for the full lane table, scope-statement limits, and the titling rule.

Raw lines 103 to 118
119## Core workflow
121### Step 1: Declare the standard, purpose, and authorized owners
123Name the standard(s), the lane(s) the work supports, and the owners: management
124representative or laboratory director, quality owner, legal/applicability owner,
125process or technical owners, approvers, and escalation route. A lane is a declared
126input, never an inference.
128```bash
129PYTHONDONTWRITEBYTECODE=1 python3 scripts/validate_scope_intake.py \
130 assets/templates/scope-intake-template.json --standard iso-13485
131```
133Use the matching template and profile:
135| Profile | Template |
136| --- | --- |
137| `iso-13485`, `iso-14971` | `assets/templates/scope-intake-template.json` |
141`--standard` defaults to `iso-13485`. Every distributed template intentionally fails
142closed; copy it outside the skill and complete it with controlled organizational
143evidence. Undetermined applicability raises `HUMAN_DECISION_REQUIRED` — leave it as a
144blocker.

Step 1: Declare the standard, purpose, and authorized owners

Name the standard(s), the lane(s) the work supports, and the owners: management representative or laboratory director, quality owner, legal/applicability owner, process or technical owners, approvers, and escalation route. A lane is a declared input, never an inference.

PYTHONDONTWRITEBYTECODE=1 python3 scripts/validate_scope_intake.py \
  assets/templates/scope-intake-template.json --standard iso-13485

Use the matching template and profile:

ProfileTemplate
iso-13485, iso-14971assets/templates/scope-intake-template.json
iso-17025assets/templates/laboratory-scope-intake-template.json
iso-15189assets/templates/medical-laboratory-scope-intake-template.json

--standard defaults to iso-13485. Every distributed template intentionally fails closed; copy it outside the skill and complete it with controlled organizational evidence. Undetermined applicability raises HUMAN_DECISION_REQUIRED — leave it as a blocker.

Raw lines 121 to 145
Runs code python3 scripts/validate_scope_intake.py :129
146### Step 2: Freeze source/version evidence
148For every standard, regulation, guidance, scheme document, audit model, and product
149source, record publisher, official title, edition/version/date, authorized location,
150access and currency-review dates, scope/applicability owner, impact assessment, status,
151evidence, and approval.
153Do not use search snippets as controlled requirements. Do not silently update an
154incorporated edition when a publisher releases a new one — FDA incorporated a specific
155ISO 13485 edition, and a later ISO or EN publication does not change it.

Step 2: Freeze source/version evidence

For every standard, regulation, guidance, scheme document, audit model, and product source, record publisher, official title, edition/version/date, authorized location, access and currency-review dates, scope/applicability owner, impact assessment, status, evidence, and approval.

Do not use search snippets as controlled requirements. Do not silently update an incorporated edition when a publisher releases a new one — FDA incorporated a specific ISO 13485 edition, and a later ISO or EN publication does not change it.

Raw lines 146 to 156
157### Step 3: Inventory controlled documents and records
159Do not count named procedures or scan keywords. Build an explicit register linking
160documents, records, source versions, owners, approvals, effective dates, retention
161bases, training, and change records.
163```bash
164PYTHONDONTWRITEBYTECODE=1 python3 scripts/audit_document_records.py \
165 assets/templates/document-register-template.json
166```
168This check is standard-agnostic. Read `references/evidence-architecture.md` for the
169evidence architecture.

Step 3: Inventory controlled documents and records

Do not count named procedures or scan keywords. Build an explicit register linking documents, records, source versions, owners, approvals, effective dates, retention bases, training, and change records.

PYTHONDONTWRITEBYTECODE=1 python3 scripts/audit_document_records.py \
  assets/templates/document-register-template.json

This check is standard-agnostic. Read references/evidence-architecture.md for the evidence architecture.

Raw lines 157 to 170
Runs code python3 scripts/audit_document_records.py :164
171### Step 4: Review process implementation
173Assess controlled procedures **and sampled records** across the domains your profile
174declares — the per-standard reference file lists them. Each item needs owner, status,
175evidence IDs, source/version, approval, and open-gap links.
177A procedure describing an activity is not evidence the activity happened. Sample
178records in every domain you report on, and state what you sampled and what you did not.

Step 4: Review process implementation

Assess controlled procedures and sampled records across the domains your profile declares — the per-standard reference file lists them. Each item needs owner, status, evidence IDs, source/version, approval, and open-gap links.

A procedure describing an activity is not evidence the activity happened. Sample records in every domain you report on, and state what you sampled and what you did not.

Raw lines 171 to 179
180### Step 5: Run the focused checks that apply to the lane
182Device lanes (`iso-13485`, `iso-14971`) — risk/design/production/post-market chain:
184```bash
185PYTHONDONTWRITEBYTECODE=1 python3 scripts/check_traceability.py \
186 assets/templates/traceability-matrix-template.json
187```
189All standards — corrective action and effectiveness:
191```bash
192PYTHONDONTWRITEBYTECODE=1 python3 scripts/check_capa.py \
193 assets/templates/capa-record-template.json
194```
196All standards — suppliers and externally provided products and services, including
197calibration providers, reference-material suppliers, and referral or subcontracted
198laboratories:
200```bash
201PYTHONDONTWRITEBYTECODE=1 python3 scripts/check_supplier_controls.py \
202 assets/templates/supplier-controls-template.json
203```
205For a calibration supplier, link the purchased measurand, range, method, and
206location to the provider's dated accreditation scope and applicable calibration
207and measurement capability, using the current
208[Global ACI-TECH-1-009 (M) policy basis](https://global-aci.org/en/global_aci-documents/)
209(successor to ILAC P14; see the source ledger).
210Capture the actual certificate's reported uncertainty separately; a scope CMC is
211not automatically the uncertainty of the delivered calibration. Leave any
212coverage or suitability judgment to the authorized technical owner.
214Pending or ineffective CAPA effectiveness evidence blocks closure. High-risk supplier
215controls stay blocked until risk-based controls and approvals are evidenced.
217Note that `check_traceability.py` concerns design and risk traceability, **not**
218metrological traceability — the words collide and it is the wrong tool for laboratory
219work.

Step 5: Run the focused checks that apply to the lane

Device lanes (iso-13485, iso-14971) — risk/design/production/post-market chain:

PYTHONDONTWRITEBYTECODE=1 python3 scripts/check_traceability.py \
  assets/templates/traceability-matrix-template.json

All standards — corrective action and effectiveness:

PYTHONDONTWRITEBYTECODE=1 python3 scripts/check_capa.py \
  assets/templates/capa-record-template.json

All standards — suppliers and externally provided products and services, including calibration providers, reference-material suppliers, and referral or subcontracted laboratories:

PYTHONDONTWRITEBYTECODE=1 python3 scripts/check_supplier_controls.py \
  assets/templates/supplier-controls-template.json

For a calibration supplier, link the purchased measurand, range, method, and location to the provider's dated accreditation scope and applicable calibration and measurement capability, using the current Global ACI-TECH-1-009 (M) policy basis (successor to ILAC P14; see the source ledger). Capture the actual certificate's reported uncertainty separately; a scope CMC is not automatically the uncertainty of the delivered calibration. Leave any coverage or suitability judgment to the authorized technical owner.

Pending or ineffective CAPA effectiveness evidence blocks closure. High-risk supplier controls stay blocked until risk-based controls and approvals are evidenced.

Note that check_traceability.py concerns design and risk traceability, not metrological traceability — the words collide and it is the wrong tool for laboratory work.

Raw lines 180 to 220
Runs code python3 scripts/check_traceability.py :185
Runs code python3 scripts/check_capa.py :192
Runs code python3 scripts/check_supplier_controls.py :201
221### Step 6: Address lane-specific regulator evidence separately
223For the US device lane only:
225```bash
226PYTHONDONTWRITEBYTECODE=1 python3 scripts/check_qmsr_transition.py \
227 assets/templates/qmsr-transition-template.json
228```
230Review current Part 820/FDA source basis, supplemental provisions, obsolete QSR/QSIT
231references, pre-effective-date records, inspection-accessible management/quality/
232supplier-audit records, current inspection-process training, complaint and servicing
233records, labeling/packaging controls, supplier/software/change evidence, and prohibited
234certificate-equivalence claims. Do not build an old-820-to-ISO clause map as the
235current control framework.
237Laboratory lanes have no equivalent bundled check. CLIA, licensure, and national
238inspection evidence stays with the authorized compliance owner; see

Step 6: Address lane-specific regulator evidence separately

For the US device lane only:

PYTHONDONTWRITEBYTECODE=1 python3 scripts/check_qmsr_transition.py \
  assets/templates/qmsr-transition-template.json

Review current Part 820/FDA source basis, supplemental provisions, obsolete QSR/QSIT references, pre-effective-date records, inspection-accessible management/quality/ supplier-audit records, current inspection-process training, complaint and servicing records, labeling/packaging controls, supplier/software/change evidence, and prohibited certificate-equivalence claims. Do not build an old-820-to-ISO clause map as the current control framework.

Laboratory lanes have no equivalent bundled check. CLIA, licensure, and national inspection evidence stays with the authorized compliance owner; see references/iso-15189.md.

Raw lines 221 to 240
Runs code python3 scripts/check_qmsr_transition.py :226
Reads a file references/iso-15189.md :239
241### Step 7: Assemble a bounded readiness manifest
243Copy the evidence template outside the skill. Use relative paths to local `.json`,
244`.md`, or `.markdown` evidence only, and one declared lane purpose per manifest.
246```bash
247PYTHONDONTWRITEBYTECODE=1 python3 scripts/validate_evidence_manifest.py \
248 /path/to/evidence-manifest.json \
249 --standard iso-17025 \
250 --base-dir /path/to/controlled-export \
251 --verify-files \
252 --output /path/to/manifest-report.json
253```
255Then generate a domain-level gap view against the same profile:
257```bash
258PYTHONDONTWRITEBYTECODE=1 python3 scripts/gap_analyzer.py \
259 /path/to/evidence-manifest.json \
260 --standard iso-17025 \
261 --base-dir /path/to/controlled-export \
262 --verify-files \
263 --output /path/to/gap-report.json
264```
266The analyzer uses explicit manifest labels. It does not infer evidence from filenames,
267keywords, or proprietary standard text, and does not calculate a compliance score. A
268domain absent from `expected_domains` is reported `not-assessed`, which is **not** a
269not-applicable determination. Entry-level structural findings, including a requested
270hash mismatch, prevent an `evidence-present-for-human-review` domain label. Always
271read the report-level findings too; domain labels do not establish file authenticity
272or substantive adequacy.
274Read `references/gap-analysis-checklist.md` for the fail-closed review questions.

Step 7: Assemble a bounded readiness manifest

Copy the evidence template outside the skill. Use relative paths to local .json, .md, or .markdown evidence only, and one declared lane purpose per manifest.

PYTHONDONTWRITEBYTECODE=1 python3 scripts/validate_evidence_manifest.py \
  /path/to/evidence-manifest.json \
  --standard iso-17025 \
  --base-dir /path/to/controlled-export \
  --verify-files \
  --output /path/to/manifest-report.json

Then generate a domain-level gap view against the same profile:

PYTHONDONTWRITEBYTECODE=1 python3 scripts/gap_analyzer.py \
  /path/to/evidence-manifest.json \
  --standard iso-17025 \
  --base-dir /path/to/controlled-export \
  --verify-files \
  --output /path/to/gap-report.json

The analyzer uses explicit manifest labels. It does not infer evidence from filenames, keywords, or proprietary standard text, and does not calculate a compliance score. A domain absent from expected_domains is reported not-assessed, which is not a not-applicable determination. Entry-level structural findings, including a requested hash mismatch, prevent an evidence-present-for-human-review domain label. Always read the report-level findings too; domain labels do not establish file authenticity or substantive adequacy.

Read references/gap-analysis-checklist.md for the fail-closed review questions.

Raw lines 241 to 275
Runs code python3 scripts/validate_evidence_manifest.py :247
Runs code python3 scripts/gap_analyzer.py :258
276### Step 8: Human review and controlled handoff
278Present:
280- declared standard, scope, assurance lane(s), and unresolved applicability decisions;
281- the exact source/version baseline;
282- evidence sampled and the limitations of that sample;
283- structural findings grouped by process and risk;
284- actions, change, and CAPA owners with dates;
285- approval state; and
286- the authorized party responsible for the next decision.
288Never title the result "certificate," "accreditation," "compliance report," "audit
289pass," "deemed status," or "ready for inspection." A suitable title is **Draft evidence
290review for authorized human assessment**, naming the lane it was prepared for.

Step 8: Human review and controlled handoff

Present:

  • declared standard, scope, assurance lane(s), and unresolved applicability decisions;
  • the exact source/version baseline;
  • evidence sampled and the limitations of that sample;
  • structural findings grouped by process and risk;
  • actions, change, and CAPA owners with dates;
  • approval state; and
  • the authorized party responsible for the next decision.

Never title the result "certificate," "accreditation," "compliance report," "audit pass," "deemed status," or "ready for inspection." A suitable title is Draft evidence review for authorized human assessment, naming the lane it was prepared for.

Raw lines 276 to 291
292## CLI behavior and safety
294All bundled CLIs:
296- use the Python standard library only;
297- perform no network requests;
298- accept bounded local JSON; optional evidence verification accepts only bounded local
299 JSON/Markdown;
300- reject symbolic-link inputs, duplicate JSON keys, non-finite numbers, excessive
301 size/nesting/items, and unsafe evidence paths;
302- refuse an unlisted `--standard` value rather than falling back to a default;
303- use no dynamic evaluation, executable deserialization, pickle, or shell execution;
304- refuse to overwrite reports unless `--force` is explicit; and
305- produce deterministic sorted JSON.
307Treat the manifest itself as a controlled organizational record. An optional SHA-256
308comparison detects a local file mismatch only; it does not establish provenance,
309authenticity, adequacy, or trust in a user-supplied manifest. Values in JSON
310`local_path` and `evidence.location` fields refer to the user's controlled export, not
311to bundled skill resources; unresolved placeholders must never be opened.
313Exit codes:
315- `0`: no structural finding for the supplied fields; **not a compliance, conformity,
316 competence, or accreditation result**;
317- `1`: structural/evidence gaps found;
318- `2`: invalid or unsafe input/output, including an unlisted standard.
320Run `python3 scripts/<name>.py --help` for each interface.

CLI behavior and safety

All bundled CLIs:

  • use the Python standard library only;
  • perform no network requests;
  • accept bounded local JSON; optional evidence verification accepts only bounded local JSON/Markdown;
  • reject symbolic-link inputs, duplicate JSON keys, non-finite numbers, excessive size/nesting/items, and unsafe evidence paths;
  • refuse an unlisted --standard value rather than falling back to a default;
  • use no dynamic evaluation, executable deserialization, pickle, or shell execution;
  • refuse to overwrite reports unless --force is explicit; and
  • produce deterministic sorted JSON.

Treat the manifest itself as a controlled organizational record. An optional SHA-256 comparison detects a local file mismatch only; it does not establish provenance, authenticity, adequacy, or trust in a user-supplied manifest. Values in JSON local_path and evidence.location fields refer to the user's controlled export, not to bundled skill resources; unresolved placeholders must never be opened.

Exit codes:

  • 0: no structural finding for the supplied fields; not a compliance, conformity, competence, or accreditation result;
  • 1: structural/evidence gaps found;
  • 2: invalid or unsafe input/output, including an unlisted standard.

Run python3 scripts/<name>.py --help for each interface.

Raw lines 292 to 321
349## References
351Shared:
353- `references/assurance-lanes.md` — what each lane decides, and the titling rule
354- `references/source-ledger.md` — dated authoritative source baseline and provenance
355 limitations
356- `references/evidence-architecture.md` — documentation and record architecture
357- `references/gap-analysis-checklist.md` — fail-closed evidence review questions
358- `references/quality-manual-guide.md` — controlled manual development
360Per standard:
362- `references/iso-13485.md` — device QMS process/evidence framework, QMSR, MDSAP, EU
363- `references/iso-14971.md` — risk-management chain and the missing-link failure modes
364- `references/iso-17025.md` — laboratory competence, traceability, uncertainty, and
365 decision rules
366- `references/iso-15189.md` — medical laboratories, POCT, reporting, and the CLIA lane

References

Shared:

Per standard:

Raw lines 349 to 367
Boilerplate, lines 368 to 383. The same text appears in 125 other files here. Close
368## Citing Scientific Agent Skills
370This skill is part of Scientific Agent Skills by K-Dense. If it materially contributed to a
371manuscript, report, presentation, or code release, add the paper to the references or
372software section and tell the user you did so:
374> Kassis, T., Agarwal, V., He, Y., Patel, D., & Brueckner, A. M. (2026). Scientific Agent
375> Skills: A Library of Procedural Knowledge for Research Agents. arXiv:2609.00065.
376> https://doi.org/10.48550/arXiv.2609.00065
378Always cite the current version. The DOI and https://arxiv.org/abs/2609.00065 resolve to the
379latest arXiv version, so never append a version suffix such as `v1`. When network access is
380available, fetch https://arxiv.org/abs/2609.00065 (or
381http://export.arxiv.org/api/query?id_list=2609.00065) before writing the reference and take
382the author list, year, and version from that record. If the record lists a journal reference
383or publisher DOI, cite the published version instead.

From K-Dense-AI/scientific-agent-skills at 5f2bc03, 2026-10-26. Not read by a model yet. Summary and techniques by Claude Opus 5.5 on 2026-11-06.