executing-plans
executing-plans
Use when executing an implementation plan in the current session as the implementer yourself — your human partner chose inline execution, or no subagent tool is available
qms-audit-expertISO 13485 internal audit expertise for medical device QMS. Use for audit planning and execution, nonconformity classification, CAPA verification, external audit preparation, or audit program management.
Independent GitHub snapshot · Automated classification · Original documentation governs
ISO 13485 internal audit methodology for medical device quality management systems.
Before planning or executing the audit, confirm these inputs. If any is unknown or vague, ASK — do not assume:
Stop rule: ask only the 2-3 that most change the output. If the user says "just draft it," proceed and list your assumptions at the top of the audit plan.
Plan risk-based internal audit program:
| Risk Level | Frequency | Criteria |
|---|---|---|
| High | Quarterly | Design control, CAPA, production validation |
| Medium | Semi-annual | Purchasing, training, document control |
| Low | Annual | Infrastructure, management review (if stable) |
| Clause | Process | Focus Areas |
|---|---|---|
| 4.2 | Document Control | Document approval, distribution, obsolete control |
| 5.6 | Management Review | Inputs complete, decisions documented, actions tracked |
| 6.2 | Training | Competency defined, records complete, effectiveness verified |
| 7.3 | Design Control | Inputs, reviews, V&V, transfer, changes |
| 7.4 | Purchasing | Supplier evaluation, incoming inspection |
| 7.5 | Production | Work instructions, process validation, DHR |
| 7.6 | Calibration | Equipment list, calibration status, out-of-tolerance |
| 8.2.2 | Internal Audit | Schedule compliance, auditor independence |
| 8.3 | NC Product | Identification, segregation, disposition |
| 8.5 | CAPA | Root cause, implementation, effectiveness |
Verify auditor independence before assignment:
Conduct systematic internal audit:
| Method | Use For | Documentation |
|---|---|---|
| Document review | Procedures, records | Document number, version, date |
| Interview | Process understanding | Interviewee name, role, summary |
| Observation | Actual practice | What, where, when observed |
| Record trace | Process flow | Record IDs, dates, linkage |
Document Control (4.2):
Design Control (7.3):
CAPA (8.5):
See references/iso13485-audit-guide.md for complete question sets.
Document each finding with:
Requirement: [Specific ISO 13485 clause or procedure]
Evidence: [What was observed, reviewed, or heard]
Gap: [How evidence fails to meet requirement]
Example:
Requirement: ISO 13485:2016 Clause 7.6 requires calibration
at specified intervals.
Evidence: Calibration records for pH meter (EQ-042) show
last calibration 2024-01-15. Calibration interval is
12 months. Today is 2025-03-20.
Gap: Equipment is 2 months overdue for calibration,
representing a gap in calibration program execution.
Classify and manage audit findings:
| Category | Definition | CAPA Required | Timeline |
|---|---|---|---|
| Major | Systematic failure or absence of element | Yes | 30 days |
| Minor | Isolated lapse or partial implementation | Recommended | 60 days |
| Observation | Improvement opportunity | Optional | As appropriate |
Is required element absent or failed?
├── Yes → Systematic (multiple instances)? → MAJOR
│ └── No → Could affect product safety? → MAJOR
│ └── No → MINOR
└── No → Deviation from procedure?
├── Yes → Recurring? → MAJOR
│ └── No → MINOR
└── No → Improvement opportunity? → OBSERVATION
| Finding Severity | CAPA Depth | Verification |
|---|---|---|
| Major | Full root cause analysis (5-Why, Fishbone) | Next audit or within 6 months |
| Minor | Immediate cause identification | Next scheduled audit |
| Observation | Not required | Noted at next audit |
See references/nonconformity-classification.md for detailed guidance.
Prepare for certification body or regulatory audit:
Documentation:
Personnel:
Facility:
references/iso13485-audit-guide.md contains:
references/nonconformity-classification.md contains:
# Generate optimized audit schedule
python scripts/audit_schedule_optimizer.py --processes processes.json
# Interactive mode
python scripts/audit_schedule_optimizer.py --interactive
# JSON output for integration
python scripts/audit_schedule_optimizer.py --processes processes.json --output json
Generates risk-based audit schedule considering:
Output includes:
{
"processes": [
{
"name": "Design Control",
"iso_clause": "7.3",
"risk_level": "HIGH",
"last_audit_date": "2024-06-15",
"previous_findings": 2
},
{
"name": "Document Control",
"iso_clause": "4.2",
"risk_level": "MEDIUM",
"last_audit_date": "2024-09-01",
"previous_findings": 0
}
]
}
Track audit program effectiveness:
| Metric | Target | Measurement |
|---|---|---|
| Schedule compliance | >90% | Audits completed on time |
| Finding closure rate | >95% | Findings closed by due date |
| Repeat findings | <10% | Same finding in consecutive audits |
| CAPA effectiveness | >90% | Verified effective at follow-up |
| Auditor utilization | 4 days/month | Audit days per qualified auditor |
| Problem | Likely Cause | Resolution |
|---|---|---|
| Schedule optimizer produces no audits for a process | last_audit_date is recent and risk level is Low | Low-risk processes are scheduled annually. If the last audit was within 365 days, no new audit is generated. Increase risk_level or criticality_score to trigger earlier scheduling. |
| Optimizer flags all processes as overdue | Date format in processes.json is incorrect | Use ISO 8601 format (YYYY-MM-DD) for last_audit_date. Invalid dates cause the tool to treat the last audit as missing. |
| Interactive mode does not accept input | Terminal does not support stdin prompts | Use file-based input with --processes processes.json instead of --interactive. |
| Audit schedule does not cover all ISO 13485 clauses | Input process list is incomplete | The optimizer schedules only the processes provided. Ensure all required clauses (4.2, 5.6, 6.2, 7.3, 7.4, 7.5, 7.6, 8.2.2, 8.3, 8.5) are represented in the input. |
| Finding classified as Minor but should be Major | Classification was applied inconsistently | Apply the decision tree: systematic failure or absent element = Major; isolated lapse = Minor. Consider whether the finding could affect product safety (auto-escalate to Major). |
| External auditor raises finding already closed internally | CAPA effectiveness verification not completed before external audit | Ensure all internal audit findings have completed CAPA with documented effectiveness verification before the external audit date. Close the loop, do not just complete the action. |
| Audit report rejected by process owner | Findings not supported by objective evidence | Every finding must reference specific evidence (document number, record ID, observation details). Rework findings using the Requirement-Evidence-Gap format documented in this skill. |
In Scope:
Out of Scope:
| Skill | Integration |
|---|---|
| quality-manager-qms-iso13485 | Provides the QMS process framework that the audit program evaluates; audit results feed into management review inputs |
| capa-officer | Major and Minor audit findings trigger CAPA initiation; CAPA effectiveness verification closes the audit finding loop |
| quality-documentation-manager | Document control audit coverage (Clause 4.2) validates document numbering, approval workflows, and Part 11 compliance |
| quality-manager-qmr | Audit program results are a required management review input (Clause 5.6.2); QMR oversees audit program effectiveness |
| risk-management-specialist | Risk management process audit (Clause 7.1) verifies ISO 14971 implementation and risk file completeness |
Generates risk-based audit schedules optimized by process risk, findings history, and time since last audit.
| Flag | Required | Description |
|---|---|---|
--processes | Yes (or --interactive) | Path to JSON file containing process definitions with name, iso_clause, risk_level (HIGH/MEDIUM/LOW), last_audit_date, previous_findings, and criticality_score |
--interactive | No | Launch interactive mode for guided process entry (alternative to file input) |
--output | No | Output format: json for structured output, omit for human-readable text |