skills/iso-standards-readiness/SKILL.md
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.
This is a router. SKILL.md holds the boundary, the lane discipline, the shared
workflow, and the CLI contract. Per-standard depth lives in references/.
This skill cannot:
Always label outputs draft evidence-preparation material for authorized human review. Preserve unresolved decisions as blockers rather than resolving them.
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.
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.
| Standard | Profile key | Lane | Reference |
|---|---|---|---|
| ISO 13485 medical device QMS | iso-13485 | Certification | references/iso-13485.md |
| ISO 14971 device risk management | iso-14971 | No lane of its own | references/iso-14971.md |
| ISO/IEC 17025 testing and calibration laboratories | iso-17025 | Accreditation | references/iso-17025.md |
| ISO 15189 medical laboratories | iso-15189 | Accreditation | references/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.
Read references/source-ledger.md before making any time-sensitive statement. It
records provenance limitations, including which entries still need confirmation against
the ISO catalogue.
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:
Read references/assurance-lanes.md for the full lane table, scope-statement limits,
and the titling rule.
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:
| Profile | Template |
|---|---|
iso-13485, iso-14971 | assets/templates/scope-intake-template.json |
iso-17025 | assets/templates/laboratory-scope-intake-template.json |
iso-15189 | assets/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.
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.
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.
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.
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
Pending or ineffective CAPA effectiveness evidence blocks closure. Critical 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.
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.
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.
Read references/gap-analysis-checklist.md for the fail-closed review questions.
Present:
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.
All bundled CLIs:
--standard value rather than falling back to a default;--force is explicit; andTreat 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.
Scope intake, per profile:
assets/templates/scope-intake-template.json — device lifecycleassets/templates/laboratory-scope-intake-template.json — testing/calibrationassets/templates/medical-laboratory-scope-intake-template.json — examinationsShared registers and records:
assets/templates/document-register-template.jsonassets/templates/capa-record-template.jsonassets/templates/traceability-matrix-template.jsonassets/templates/supplier-controls-template.jsonassets/templates/evidence-manifest-template.jsonassets/templates/qmsr-transition-template.json — US device lane onlyManagement-system documentation:
assets/templates/quality-manual-template.mdassets/templates/procedures/CAPA-procedure-template.mdassets/templates/procedures/document-control-procedure-template.mdEvery template is deliberately draft/pending, uses placeholders, and includes
owner/status/evidence/approval fields. Copy and control it; never edit a distributed
template into a purported approved record.
Shared:
references/assurance-lanes.md — what each lane decides, and the titling rulereferences/source-ledger.md — dated authoritative source baseline and provenance
limitationsreferences/evidence-architecture.md — documentation and record architecturereferences/gap-analysis-checklist.md — fail-closed evidence review questionsreferences/quality-manual-guide.md — controlled manual developmentPer standard:
references/iso-13485.md — device QMS process/evidence framework, QMSR, MDSAP, EUreferences/iso-14971.md — risk-management chain and the missing-link failure modesreferences/iso-17025.md — laboratory competence, traceability, uncertainty, and
decision rulesreferences/iso-15189.md — medical laboratories, POCT, reporting, and the CLIA lane