本文へ移動
cccskills
無料GitHub で公開

design-security-ops

Manage the NV oOS Pro Toolkit Security Operations system — audit events, security training, maintenance windows, and incident records. Covers the full security ops lifecycle: audit logging, incident detection/response, maintenance scheduling, and compliance training tracking. Use when working with security audit trails, investigating incidents, scheduling maintenance windows, managing security training programs, or troubleshooting security operations data.

インストール方法を見る

含まれるファイル(1)

  • SKILL.md23.7 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

NV oOS Pro Toolkit Security Operations

The Pro Toolkit Security Operations system provides a complete security management framework built on WordPress Custom Post Types. It manages the full security lifecycle: audit → detect → respond → maintain. All entities are stored as CPT records accessible via the toolkit_cpt MCP tool.

WP-CLI Commands

Key mcp-ai WP-CLI commands for security ops. Run via terminal:

CommandUse for
wp mcp-ai healthVerify system health before/after incidents and maintenance windows
wp mcp-ai log errors --limit=20Review recent error log entries for incident investigation
wp mcp-ai log activity --type=tool_executionFilter activity log by tool executions for audit review
wp mcp-ai log prune --yesPrune old log entries after audit review is complete
wp mcp-ai queue statsCheck background job queue health for maintenance transitions
wp mcp-ai queue processTrigger processing of queued maintenance status transitions
wp mcp-ai queue retry <job-id>Retry a failed security ops background job

When to use this skill

Trigger when ANY of the following is true:

  • Viewing, searching, or filtering audit events, training modules, maintenance windows, or incidents.
  • Creating audit trail entries for agent actions, tool executions, or session events.
  • Managing security training programs — creating modules, tracking completion, assigning roles.
  • Scheduling maintenance windows with start/end times, service scoping, and notification channels.
  • Investigating or responding to security/operational incidents.
  • Moving an incident through its lifecycle phases (detected → investigating → identified → monitoring → resolved).
  • Checking for active maintenance windows before making infrastructure changes.
  • Reviewing incident post-mortems via linked lessons learned.
  • Triaging active incidents or checking maintenance window overlap.
  • Automating audit event creation from agent workflows.

Mental model — audit → detect → respond → maintain

The Security Ops system is organized around four core entity types connected by an operational lifecycle:

AUDIT_EVENT ──(logged)──→ persistent, immutable trail
                                │
                                ├── reveals anomalies
                                ▼
INCIDENT ──(detected)──→ investigating ──→ identified ──→ monitoring ──→ resolved
                                                                    │
                                                                    └──→ LESSON (linked via lesson_id)

MAINTENANCE ──(scheduled)──→ in_progress ──→ completed
                    │                          │
                    └──→ cancelled              └── linked via post_id to incidents it prevented

TRAINING ── assigned to roles → tracking completions → compliance reporting

Relationships:

  • An Incident links to a lessons learned record via _mcp_ai_incident_lesson_id.
  • A Maintenance Window may be linked to incidents via the post content (editor) field as cross-references.
  • Audit Events are immutable — they are never updated or deleted, only created and read.
  • Training modules have role-based assignment and per-user completion tracking stored in user meta.

Security Ops Entity Types

All security ops entities are managed through the toolkit_cpt MCP tool. Use the appropriate post_type slug for each entity:

CPT SlugLabelSupportsPurposeKey Meta Fields
mcp_ai_audit_eventAudit EventstitleImmutable security audit trail entries_wp_mcp_ai_audit_trail_id, _wp_mcp_ai_audit_session_id, _wp_mcp_ai_audit_assistant_id, _wp_mcp_ai_audit_provider, _wp_mcp_ai_audit_model, _wp_mcp_ai_audit_step_type, _wp_mcp_ai_audit_timestamp, _wp_mcp_ai_audit_sequence, _wp_mcp_ai_audit_data, _wp_mcp_ai_audit_event_hash
mcp_ai_trainingSecurity Trainingtitle, editor, excerptTraining modules and compliance programs_training_role, _training_type, _training_duration, _training_mandatory
mcp_ai_maintenanceMaintenance Windowstitle, editorPlanned maintenance and scheduled downtime_mcp_ai_maintenance_status, _mcp_ai_maintenance_start, _mcp_ai_maintenance_end, _mcp_ai_maintenance_services, _mcp_ai_maintenance_notify_channels, _mcp_ai_maintenance_banner_enabled
mcp_ai_incidentIncidentstitleSecurity/operational incident records_mcp_ai_incident_phase, _mcp_ai_incident_severity, _mcp_ai_incident_services, _mcp_ai_incident_timeline, _mcp_ai_incident_resolved_at, _mcp_ai_incident_lesson_id

Audit Event Meta Fields (detailed)

FieldTypeDescriptionExample
_wp_mcp_ai_audit_trail_idstringUnique trail identifier"trail_20260812_a1b2c3"
_wp_mcp_ai_audit_session_idstringSession identifier"sess_d4e5f6"
_wp_mcp_ai_audit_assistant_idintAssistant post ID"42"
_wp_mcp_ai_audit_providerstringAI provider name"openai", "gemini"
_wp_mcp_ai_audit_modelstringAI model used"gpt-4o"
_wp_mcp_ai_audit_step_typestringEvent step type"tool_call", "planning", "decision"
_wp_mcp_ai_audit_timestampintUnix timestamp1723456789
_wp_mcp_ai_audit_sequenceintSequence number within trail3
_wp_mcp_ai_audit_datamixedSerialized event payloadJSON string of tool arguments/output
_wp_mcp_ai_audit_event_hashstringCryptographic hash of event"sha256:abc123..."
_wp_mcp_ai_audit_prev_hashstringHash of previous event (chain integrity)"sha256:def456..."
_wp_mcp_ai_audit_tool_slugstringTool slug (if tool_call step)"toolkit_cpt"
_wp_mcp_ai_audit_duration_msintDuration in milliseconds1250
_wp_mcp_ai_audit_statusstringOutcome status"success", "error"
_wp_mcp_ai_audit_user_idintWordPress user ID1

Audit events are append-only. The title follows the format: "{trail_id} | {step_type} | #{sequence} | {ISO 8601 timestamp}".

Training Meta Fields (detailed)

FieldTypeDescriptionExample / Enum
_training_rolestringTarget role for this module"developer", "administrator", "security_team", "support_staff", "all_users"
_training_typestringModule type category"awareness", "technical", "compliance", "incident", "policy"
_training_durationintDuration in minutes45
_training_mandatoryboolRequired for compliance ("1" = true)"1", ""

Training roles: developer, administrator, security_team, support_staff, all_users Module types: awareness (Security Awareness), technical (Technical Security), compliance (Compliance Training), incident (Incident Response), policy (Policy Training)

Maintenance Meta Fields (detailed)

FieldTypeDescriptionExample
_mcp_ai_maintenance_statusstringCurrent window status"scheduled", "in_progress", "completed", "cancelled"
_mcp_ai_maintenance_startstringScheduled start (ISO 8601)"2026-08-15T02:00:00+00:00"
_mcp_ai_maintenance_endstringScheduled end (ISO 8601)"2026-08-15T04:00:00+00:00"
_mcp_ai_maintenance_servicesarrayAffected service slugs["api", "database", "cache"]
_mcp_ai_maintenance_notify_channelsarrayNotification channel IDs["email", "slack"]
_mcp_ai_maintenance_notify_beforeintMinutes before start to send reminder60
_mcp_ai_maintenance_banner_enabledboolShow frontend banner during windowtrue, false
_mcp_ai_maintenance_reminder_sentboolWhether reminder was sent (auto-managed)true, false

Status transitions (valid):

scheduled → in_progress  (auto at _mcp_ai_maintenance_start)
scheduled → cancelled
in_progress → completed  (auto at _mcp_ai_maintenance_end)
in_progress → cancelled

Incident Meta Fields (detailed)

FieldTypeDescriptionExample
_mcp_ai_incident_phasestringCurrent phase"detected", "investigating", "identified", "monitoring", "resolved"
_mcp_ai_incident_severitystringSeverity level"minor", "major", "critical"
_mcp_ai_incident_servicesarrayAffected service slugs["api", "auth"]
_mcp_ai_incident_timelinearrayAppend-only timeline entriesSee timeline entry structure below
_mcp_ai_incident_resolved_atstringISO 8601 when resolved (auto-set)"2026-08-15T16:30:00+00:00"
_mcp_ai_incident_lesson_idintLinked mcp_ai_lesson post ID89
_mcp_ai_incident_notify_channelsarrayNotification channel IDs["email", "pagerduty"]

Timeline entry structure:

{
  "timestamp": 1723456789,
  "phase": "investigating",
  "message": "Database connection pool exhausted — traced to connection leak in cron worker.",
  "operator_id": 1
}

Phase transitions (valid):

detected      → investigating, resolved
investigating → identified, resolved
identified    → monitoring, resolved
monitoring    → resolved
resolved      → (terminal)

Severity classification:

SeverityWhen to useExample
minorAffects non-critical service, no user impactSlow admin dashboard
majorPartial service degradation, workaround existsAPI rate limiting, cache miss spike
criticalComplete service outage, no workaroundSite down, auth broken

Available Tools

All security ops operations use the toolkit_cpt MCP tool as the primary interface for CRUD operations.

Discovery

# List all available security ops post types
toolkit_cpt(action: "list_types")

# Get field schema for any security ops type
toolkit_cpt(action: "get_schema", post_type: "mcp_ai_incident")

Reading records

// List recent audit events
{ "action": "list_items", "post_type": "mcp_ai_audit_event", "orderby": "date", "order": "DESC" }

// Find active (non-resolved) incidents
{ "action": "list_items", "post_type": "mcp_ai_incident",
  "filters": [{ "key": "_mcp_ai_incident_phase", "value": "resolved", "compare": "!=" }] }

// Get upcoming scheduled maintenance windows
{ "action": "list_items", "post_type": "mcp_ai_maintenance",
  "filters": [{ "key": "_mcp_ai_maintenance_status", "value": "scheduled" }] }

// Search training modules
{ "action": "list_items", "post_type": "mcp_ai_training", "search": "ISO 27001" }

Creating records

// Create an incident with initial timeline
{ "action": "create_item", "post_type": "mcp_ai_incident",
  "fields": {
    "title": "API Gateway returning 503 errors",
    "_mcp_ai_incident_phase": "detected",
    "_mcp_ai_incident_severity": "critical",
    "_mcp_ai_incident_services": ["api", "gateway"],
    "_mcp_ai_incident_timeline": [{
      "timestamp": 1723456789, "phase": "detected",
      "message": "Health check monitor detected 503 responses from API gateway.", "operator_id": 0
    }],
    "_mcp_ai_incident_notify_channels": ["email", "slack"]
  }
}

// Schedule a maintenance window
{ "action": "create_item", "post_type": "mcp_ai_maintenance",
  "fields": {
    "title": "Database upgrade to PostgreSQL 16",
    "content": "Upgrading primary database from v15 to v16. Expected downtime: 45 min.",
    "_mcp_ai_maintenance_status": "scheduled",
    "_mcp_ai_maintenance_start": "2026-08-20T02:00:00+00:00",
    "_mcp_ai_maintenance_end": "2026-08-20T04:00:00+00:00",
    "_mcp_ai_maintenance_services": ["database", "api"],
    "_mcp_ai_maintenance_notify_before": 60,
    "_mcp_ai_maintenance_banner_enabled": true
  }
}

// Create a training module
{ "action": "create_item", "post_type": "mcp_ai_training",
  "fields": {
    "title": "Phishing Awareness 2026",
    "excerpt": "Learn to identify and report phishing attempts.",
    "_training_role": "all_users", "_training_type": "awareness",
    "_training_duration": 30, "_training_mandatory": "1"
  }
}

Updating records

// Transition an incident to investigating
{ "action": "update_item", "post_type": "mcp_ai_incident", "item_id": 12345,
  "fields": { "_mcp_ai_incident_phase": "investigating" } }

// Resolve an incident with linked lesson
{ "action": "update_item", "post_type": "mcp_ai_incident", "item_id": 12345,
  "fields": { "_mcp_ai_incident_phase": "resolved", "_mcp_ai_incident_lesson_id": 89 } }

// Cancel a maintenance window
{ "action": "update_item", "post_type": "mcp_ai_maintenance", "item_id": 678,
  "fields": { "_mcp_ai_maintenance_status": "cancelled" } }

Common Workflows

Incident response lifecycle

1. Detection:     create_item(mcp_ai_incident, phase: "detected", severity: <level>)
                  → Timeline entry with initial observations.

2. Investigation: update_item(mcp_ai_incident, phase: "investigating")
                  → Check logs: wp mcp-ai log errors --limit=50
                  → Check health: wp mcp-ai health
                  → Add timeline entries with findings.

3. Identification: update_item(mcp_ai_incident, phase: "identified")
                  → Document root cause in timeline.
                  → Assess scope — add affected services.

4. Monitoring:    update_item(mcp_ai_incident, phase: "monitoring")
                  → Verify fix is holding.
                  → Add timeline entries confirming stability.

5. Resolution:    update_item(mcp_ai_incident, phase: "resolved")
                  → Create lessons learned post.
                  → Link via _mcp_ai_incident_lesson_id.
                  → Review audit events for contributing factors.

Maintenance window scheduling

1. Check for conflicts:
   list_items(mcp_ai_maintenance, filters: [{key: "_mcp_ai_maintenance_status", value: "scheduled"}])
   → Verify no overlapping windows for the same services.

2. Check active incidents:
   list_items(mcp_ai_incident, filters: [{key: "_mcp_ai_incident_phase", value: "resolved", compare: "!="}])
   → Critical incidents may require postponing maintenance.

3. Create window:
   create_item(mcp_ai_maintenance, with start/end times, services, notification channels)
   → _mcp_ai_maintenance_notify_before controls reminder timing.

4. Notify stakeholders:
   The system auto-sends reminders _mcp_ai_maintenance_notify_before minutes before start.
   → Verify channels in _mcp_ai_maintenance_notify_channels.

5. During window:
   Status auto-transitions to "in_progress" at start time.
   → Monitor health: wp mcp-ai health

6. After window:
   Status auto-transitions to "completed" at end time.
   → Verify all services healthy.
   → If issues: create incident linked to this maintenance window.

Audit review

1. List audit events by step type:
   list_items(mcp_ai_audit_event, filters: [{key: "_wp_mcp_ai_audit_step_type", value: "tool_call"}])

2. Trace a specific session:
   list_items(mcp_ai_audit_event, filters: [{key: "_wp_mcp_ai_audit_session_id", value: "sess_abc123"}],
                                    orderby: "date", order: "ASC")
   → The event chain is verifiable via _wp_mcp_ai_audit_event_hash → _wp_mcp_ai_audit_prev_hash.

3. Review error events:
   list_items(mcp_ai_audit_event, filters: [{key: "_wp_mcp_ai_audit_status", value: "error"}])

4. Cross-reference with WP-CLI logs:
   wp mcp-ai log activity --type=tool_execution

Training management

1. Create training modules by role and type:
   create_item(mcp_ai_training, with _training_role, _training_type, _training_duration, _training_mandatory)

2. Review compliance coverage:
   list_items(mcp_ai_training, filters: [{key: "_training_mandatory", value: "1"}])
   → Check that each role has required modules.

3. Track completions:
   Training completion is stored in user meta (wp_mcp_ai_training_completions).
   → Use the admin Training Statistics page for reporting.
   → Use the `design-analytics-reporting` skill for compliance dashboards.

4. Send reminders:
   Annual reminders run via wp_mcp_ai_annual_training_reminder cron hook.

Critical Rules

  • Never delete audit events — they are an immutable, cryptographically chained audit trail. Deletion breaks hash-chain integrity and violates compliance requirements.
  • Audit events are append-only — use create_item only. Never update_item or delete_item on mcp_ai_audit_event.
  • Incident phase transitions are validated — only specific transitions are allowed (see phase transition table above). Attempting invalid transitions will fail.
  • Incident severity must match impact — minor = no user impact, major = partial degradation, critical = complete outage. Misclassifying severity skews response priority.
  • Maintenance windows auto-transition — the system automatically moves scheduled → in_progress at start time and in_progress → completed at end time. Do not manually set these transitions unless the cron system is down.
  • Check for overlapping maintenance windows — before scheduling, list existing scheduled windows for the same services to avoid conflicts.
  • Link incidents to lessons learned — every resolved incident should have _mcp_ai_incident_lesson_id set. This builds organizational knowledge.
  • Timeline entries are append-only — when updating incident phase, also append a new timeline entry with the reason for the transition.
  • Training role assignment drives compliance — mandatory modules (_training_mandatory: "1") assigned to all_users apply to every user. Use specific roles (developer, administrator) for targeted training.
  • Always use get_schema first before creating or updating a record to verify available field keys and types.

Common Mistakes

WRONG — deleting an audit event
{ "action": "delete_item", "post_type": "mcp_ai_audit_event", "item_id": 99999 }
// Audit events are immutable. This breaks the hash chain and violates compliance.

RIGHT — audit events are never deleted
// There is no delete path for audit events. They are retained for the
// retention period configured in the audit trail system.

WRONG — skipping incident phases
// Moving from "detected" directly to "resolved" with no investigation.
// The transition is not valid and will be rejected by the CPT.

RIGHT — advance phase-by-phase with timeline entries
1. update_item: _mcp_ai_incident_phase: "investigating"
   + append timeline entry: "Began investigation, reviewing error logs."
2. update_item: _mcp_ai_incident_phase: "identified"
   + append timeline entry: "Root cause: connection pool exhaustion."
3. update_item: _mcp_ai_incident_phase: "monitoring"
   + append timeline entry: "Fix deployed, monitoring for 30 minutes."
4. update_item: _mcp_ai_incident_phase: "resolved"
   + set _mcp_ai_incident_lesson_id: <lesson_post_id>

WRONG — scheduling maintenance during an active critical incident
// Creating a maintenance window while a critical incident (phase != resolved)
// impacts the same services. This risks compounding the outage.

RIGHT — check for active incidents before scheduling
1. list_items(mcp_ai_incident, filters: [{key: "_mcp_ai_incident_phase", value: "resolved", compare: "!="}])
2. If critical incidents exist for overlapping services, postpone maintenance.

WRONG — classifying a complete outage as "minor"
{ "_mcp_ai_incident_severity": "minor" }
// Site is down — this is "critical". Misclassification delays response.

RIGHT — use the severity classification table
// minor: no user impact (e.g., slow admin dashboard)
// major: partial degradation with workaround (e.g., cache miss spike)
// critical: complete outage, no workaround (e.g., site down, auth broken)

WRONG — manually setting maintenance status transitions
{ "_mcp_ai_maintenance_status": "completed" }
// When done manually before the scheduled end time, the auto-transition
// cron may re-fire and create a duplicate completed transition event.

RIGHT — let the cron system handle auto-transitions
// Use update_item only for cancelling a window.
// The system auto-handles scheduled→in_progress and in_progress→completed.

WRONG — creating a training module without a role assignment
{ "title": "GDPR Basics", "_training_type": "compliance" }
// Missing _training_role — the module has no audience.

RIGHT — always assign a target role
{ "title": "GDPR Basics", "_training_role": "all_users", "_training_type": "compliance",
  "_training_duration": 20, "_training_mandatory": "1" }

Cross-References

  • Run design-crm to link security incidents to support tickets (mcp_ai_ticket) for customer-facing outage tracking.
  • Run design-pro-schedule-manager to manage cron-based maintenance window transitions and training reminders.
  • Run design-pro-workflow-builder to automate incident response workflows (auto-create incidents from health checks, auto-escalate based on severity).
  • Run wp-security-audit to perform code-level security reviews — complements security ops at the compliance/operational layer.
  • Run wp-security-deep for SSRF, deserialization, and advanced vulnerability checks that feed into incident creation.
  • Run wp-security-secrets to audit hardcoded secrets — findings can be logged as mcp_ai_audit_event entries.
  • Run design-document-generation to create incident post-mortem PDFs and training certificates.
  • Run design-analytics-reporting to build compliance dashboards from training completion data and incident metrics.

What This Skill Does NOT Cover

  • Agent audit trail internals (hash chaining, cryptographic verification) — use mcp_ai_audit_event CPT via toolkit_cpt for reading; the audit trail system manages creation automatically.
  • Health check service monitoring — the health check system auto-creates incidents via wp_mcp_ai_service_status_changed hook. This skill covers manual incident management.
  • Security training completion tracking at the user level — use the admin Training Statistics page or query wp_mcp_ai_training_completions user meta directly.
  • Lessons learned (mcp_ai_lesson) CPT management — use toolkit_cpt with post_type: "mcp_ai_lesson" for post-mortem records.
  • Notification delivery (email, Slack, PagerDuty) — this skill covers the entity data; notification dispatch is handled by the system.
  • Security posture scoring and Site Health integration — use the wp-security-audit skill and the /wp-admin/site-health.php dashboard.
  • Access control and capabilities — managed via WordPress roles; training roles (_training_role) are for training assignment, not access control.

References

  • NV oOS Pro Toolkit Security Ops admin: /wp-admin/admin.php?page=nvoos-pro-dashboard
  • Incidents admin page: /wp-admin/edit.php?post_type=mcp_ai_incident
  • Maintenance admin page: /wp-admin/edit.php?post_type=mcp_ai_maintenance
  • Security Training admin: /wp-admin/admin.php?page=nvoos-security-training
  • toolkit_cpt MCP tool — the primary interface for all security ops operations.
  • ISO 27001:2022 Control A.6.3 — Information Security Awareness, Education and Training.
  • ISO 27001:2022 Control A.16.1 — Management of Information Security Incidents and Improvements.

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

同じリポジトリのスキル

概要と使いどころ

Creating algorithmic art using p5.js with seeded randomness and interactive parameter exploration. Use this when users request creating art using code, generative art, algorithmic art, flow fields, or particle systems. Create original algorithmic art rather than copying existing artists' work to avoid copyright violations.

日本語の概要は準備中です。原文の説明を表示しています。

nvdigitalsolutions/mcp-ai-wpoos72026年10月13日 更新

Applies Anthropic's official brand colors and typography to any sort of artifact that may benefit from having Anthropic's look-and-feel. Use it when brand colors or style guidelines, visual formatting, or company design standards apply.

日本語の概要は準備中です。原文の説明を表示しています。

nvdigitalsolutions/mcp-ai-wpoos72026年10月13日 更新

Control a headless browser to navigate URLs, click elements, fill forms, extract content from JavaScript-rendered pages, take screenshots, and automate end-to-end web workflows.

日本語の概要は準備中です。原文の説明を表示しています。

nvdigitalsolutions/mcp-ai-wpoos72026年10月13日 更新

Create beautiful visual art in .png and .pdf documents using design philosophy. You should use this skill when the user asks to create a poster, piece of art, design, or other static piece. Create original visual designs, never copying existing artists' work to avoid copyright violations.

日本語の概要は準備中です。原文の説明を表示しています。

nvdigitalsolutions/mcp-ai-wpoos72026年10月13日 更新

Review code for quality, simplicity, and maintainability. Identifies unnecessary abstractions, duplicated logic, oversized functions, missing error handling, and naming issues — then fixes them automatically before presenting the result.

日本語の概要は準備中です。原文の説明を表示しています。

nvdigitalsolutions/mcp-ai-wpoos72026年10月13日 更新

WooCommerce store operations through NV oOS Pro — product research, catalog cross-referencing, inventory lookups, and Shopify or Flowhub comparisons where integrations are configured.

日本語の概要は準備中です。原文の説明を表示しています。

nvdigitalsolutions/mcp-ai-wpoos72026年10月13日 更新

nvdigitalsolutions のスキルをすべて見る

このスキルの問題を報告する