From open-agreements
Runs ISO 27001 internal audits: walks through 48 priority Annex A controls by domain, identifies gaps, collects evidence, generates findings with corrective actions using NIST SP 800-53 reference. For audit prep, quarterly reviews, or post-incident analysis.
npx claudepluginhub open-agreements/open-agreementsThis skill uses the workspace's default tool permissions.
Run a structured internal audit against ISO 27001:2022. This skill walks you through scoping, control assessment, evidence collection, and findings generation — following the same workflow a certified auditor uses.
Guides ISO 27001 compliance with gap analysis tables, policy documents, Annex A control advice, risk registers, and SoA generation for 2013/2022 versions.
Assesses SOC 2 Type II readiness by mapping Trust Services Criteria to NIST SP 800-53 controls, identifying gaps, and building remediation plans.
Analyzes ISO 27001 compliance gaps, provides step-by-step auditing guidance, best practices, and generates configurations for security operations.
Share bugs, ideas, or general feedback.
Run a structured internal audit against ISO 27001:2022. This skill walks you through scoping, control assessment, evidence collection, and findings generation — following the same workflow a certified auditor uses.
Activate this skill when:
Do NOT use for:
iso-27001-evidence-collection for evidence gathering firstsoc2-readiness insteadISO 27001:2022 has 93 Annex A controls across 4 domains, plus ISMS clauses 4-10 (30 sub-clauses). This skill covers 48 priority Annex A controls (of 93 total) — the most critical per domain for cloud-native startups. Remaining controls are lower-tier or typically N/A for cloud-native organizations.
| Domain | Controls | Focus |
|---|---|---|
| A.5 Organizational | 37 | Policies, roles, incident management, supplier relations |
| A.6 People | 8 | Screening, training, termination, confidentiality |
| A.7 Physical | 14 | Facility security, equipment, media — mostly N/A for cloud startups |
| A.8 Technological | 34 | Access control, crypto, logging, SDLC, network security |
| Clauses 4-10 | 30 | ISMS management system (context, leadership, planning, support, operation, performance, improvement) |
Is the organization cloud-native (no owned data centers)?
├── YES → Mark A.7.1-A.7.9, A.7.11-A.7.13 as "satisfied by cloud provider SOC 2"
│ Focus evidence on: laptops, home offices, mobile devices
├── NO → Full A.7 assessment required
│
Does the organization develop software?
├── YES → A.8.25-A.8.34 (SDLC controls) are in scope
├── NO → A.8.25-A.8.34 can be scoped out with justification
│
Does the organization handle PII?
├── YES → A.5.34 (privacy) is critical, cross-reference with GDPR/CCPA
├── NO → A.5.34 is checkbox tier
Not all 93 controls fail equally. Prioritize by audit failure frequency:
| Tier | Count | Treatment |
|---|---|---|
| Critical | ~30 | Full assessment: evidence, interviews, observation |
| Relevant | ~30 | Standard check: evidence review, spot-check |
| Checkbox | ~33 | Verify policy exists or cloud provider covers it |
For detailed per-control guidance, load rules/<domain>.md.
# If Internal ISO Audit MCP server is available:
list_controls() # Get all controls with tier classifications
get_control_guidance(control_id="Clause 9.2") # Check specific ISMS clause requirements
# If reading local files:
# Check compliance/status/last_refresh.yaml for staleness
Most startups fail here — they treat ISMS as documentation, not a functioning management system.
Auditor hint: Auditors look for a CONNECTED chain — risk assessment → SoA → risk treatment plan → evidence of implementation → monitoring → management review → improvement. Any break in the chain is a nonconformity.
Work through controls by domain, prioritizing Critical tier:
For each Critical control:
For each Relevant control:
For each Checkbox control:
# If Internal ISO Audit MCP server is available:
list_controls(domain="organizational") # List all controls in a domain with tiers
get_control_guidance(control_id="A.5.15") # Full guidance: auditor hints, pitfalls, evidence
search_guidance(query="access review", domain="organizational") # Find related controls by keyword
get_nist_mapping(control_id="A.5.15") # Cross-reference to NIST SP 800-53
For each finding, collect supporting evidence:
Evidence naming convention: {control_id}_{evidence_type}_{date}.{ext}
Example: A.5.15_user-access-list_2026-02-28.json
For detailed collection commands, load rules/ files or use the iso-27001-evidence-collection skill.
For each nonconformity:
## Finding: [Short title]
- **Control**: A.x.x
- **NIST Reference**: [NIST control ID]
- **Severity**: Major / Minor / Observation
- **Description**: [What was found]
- **Evidence**: [What evidence supports the finding]
- **Root Cause**: [Why the control failed]
- **Corrective Action**: [Specific remediation steps]
- **Due Date**: [Agreed timeline]
- **Owner**: [Person responsible]
Severity definitions:
Generate a structured audit report:
| # | Control | Common Failure | Fix |
|---|---|---|---|
| 1 | A.5.15 | No periodic access review | Schedule quarterly reviews, export user lists |
| 2 | A.8.8 | No vulnerability scanning | Deploy Dependabot/Snyk, schedule infra scans |
| 3 | A.5.24 | Incident response plan untested | Run tabletop exercise, document results |
| 4 | A.8.5 | MFA not enforced everywhere | Enable MFA on all production + admin accounts |
| 5 | A.5.30 | No business continuity test | Run DR failover test, document RTO/RPO results |
| 6 | A.8.15 | Audit logs not centralized | Ship logs to SIEM/CloudWatch/Stackdriver |
| 7 | A.8.9 | No baseline configuration | Document server/container base images |
| 8 | A.6.1 | Background checks incomplete | Verify all employees have completed screening |
| 9 | A.8.32 | No change management process | Require PR reviews, document deployment process |
| 10 | A.5.9 | Asset inventory incomplete | Export from cloud provider + endpoint management |
screencapture -x ~/evidence/{filename}.png on macOS when screenshots are necessary| Problem | Solution |
|---|---|
| Data is stale (> 7 days old) | Refresh from monitoring dashboard or re-export from source systems |
| Can't determine which controls apply | Start with the SoA; if no SoA exists, use the decision tree above |
| Too many findings to address before audit | Prioritize: fix all Major nonconformities first, then Critical-tier Minors |
| Evidence timestamps don't match audit period | Re-collect evidence within the audit window (typically 12 months) |
| Cloud provider controls not documented | Request SOC 2 Type II report from provider; map their controls to your SoA |
| Internal audit has never been done | This IS the first internal audit — document that in the report and plan for regular cadence |
For detailed per-control guidance, load the appropriate rules file:
| File | Coverage |
|---|---|
rules/access-control.md | A.5.15-A.5.18, A.8.2-A.8.5 — identity, authentication, authorization |
rules/incident-response.md | A.5.24-A.5.29, A.6.8 — incident lifecycle |
rules/encryption.md | A.8.24, A.8.10-A.8.12 — cryptographic controls |
rules/change-management.md | A.8.25-A.8.34, A.8.9, A.8.32 — SDLC and configuration |
rules/logging-monitoring.md | A.8.15-A.8.17 — audit trails and monitoring |
rules/business-continuity.md | A.5.30, A.8.13-A.8.14 — backup, DR, BCP |
rules/people-controls.md | A.6.1-A.6.8 — HR security lifecycle |
rules/supplier-management.md | A.5.19-A.5.23 — third-party risk |
rules/isms-management.md | Clauses 4-10 — management system operation |
Audit procedures and control guidance developed with Internal ISO Audit (Hazel Castro, ISO 27001 Lead Auditor, 14+ years, 100+ audits).
This skill operates in three modes, detected automatically:
Internal ISO Audit MCP server available (best) — Live control guidance lookup with auditor hints, NIST cross-references, and full-text search
internalisoaudit MCP server configured in clientget_control_guidance, list_controls, get_nist_mapping, search_guidanceinternalisoaudit.com/api/mcpLocal compliance data available (good) — Reads compliance/ directory directly
compliance/status/last_refresh.yaml existsReference only (baseline) — Uses embedded rules/ files, no live data
For Internal ISO Audit MCP server setup, see CONNECTORS.md.