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

design-services

Manage service components and approval workflows in the NV oOS Pro Toolkit. Covers service component registration, dependency tracking, approval request lifecycle, and workflow approval gates. Use when registering service components, tracking service dependencies, managing approval requests, or configuring workflow approval nodes.

インストール方法を見る

含まれるファイル(1)

  • SKILL.md20.1 KB

SKILL.md(原文)

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

NV oOS Pro Toolkit Services & Approvals

The Pro Toolkit Services & Approvals system manages Service Components (a registry of microservices, external APIs, and internal components with dependency tracking) and Approval Requests (human-in-the-loop gates for workflow automation requiring sign-off). All entities are CPT records accessed via toolkit_cpt.

WP-CLI Commands

Key mcp-ai WP-CLI commands for service and approval operations. Run via terminal:

CommandUse for
wp mcp-ai service listList all registered service components with status
wp mcp-ai service checkRun health checks against all monitored service endpoints
wp mcp-ai approval listList pending and completed approval requests
wp mcp-ai approval resolveResolve an approval request (approve/reject) by ID
wp mcp-ai healthVerify service registry integrity and approval queue health
wp mcp-ai logView service health check and approval workflow logs

When to use this skill

Trigger when ANY of the following is true:

  • Registering a new service component or microservice in the toolkit.
  • Listing or searching the service registry for existing components.
  • Tracking service dependencies — which services depend on which others.
  • Checking service health status or endpoint availability.
  • Creating, reviewing, approving, or rejecting approval requests.
  • Configuring approval gates in a Pro Workflow Builder DAG.
  • Querying approval history for audit or compliance purposes.
  • Managing version tracking for registered service components.
  • Troubleshooting a workflow that is blocked on an approval gate.
  • Setting up automated health checks for critical service endpoints.

Mental model — services and approvals

The Services & Approvals system has two independent but complementary domains:

SERVICE COMPONENT ──(registered in)──→ Service Registry
      │
      ├── Service Type (microservice, api, internal, external)
      ├── Endpoint URL (health check + invocation)
      ├── Status (active, degraded, down, maintenance)
      ├── Version + Environment
      ├── Dependencies (references to other services)
      └── Health Check Configuration

APPROVAL REQUEST ──(created by)──→ Workflow / User / System
      │
      ├── Request Type (workflow_gate, content_review, access_request, deployment)
      ├── Requester (WP user ID or system identifier)
      ├── Status (pending → approved / rejected)
      ├── Approver (WP user ID who acted)
      ├── Workflow Context (DAG node ID, action reference)
      └── Audit Trail (timestamps, rationale, metadata)

SERVICE DEPENDENCY GRAPH:
  Service A ──depends_on──→ Service B ──depends_on──→ Service C
      │                         │
      └──depends_on──→ Service D

Relationships:

  • A Service Component (mcp_ai_service) is a standalone registry entry with type, endpoint, status, version, and _service_dependencies (array of post IDs). The dependency graph must remain acyclic.
  • An Approval Request (mcp_ai_approval) is a time-bound decision record created by a workflow node, user, or system event. It tracks requester, approver, status, rationale, and timestamps. Workflow builder nodes read status to proceed.
  • Service ↔ Approval is indirect: a deployment approval may reference a service, and a health check failure may auto-create an approval.

Entity Types

All Services & Approvals entities are managed through the toolkit_cpt MCP tool. Use the appropriate post_type slug for each entity:

CPT SlugLabelSupportsKey Meta Fields
mcp_ai_serviceService Componentstitle_service_type, _service_endpoint, _service_status, _service_version, _service_environment, _service_dependencies, _service_health_check_url, _service_health_interval, _service_owner, _service_description
mcp_ai_approvalApproval Requeststitle, custom-fields_approval_type, _approval_requester_id, _approval_status, _approval_approver_id, _approval_workflow_id, _approval_node_id, _approval_rationale, _approval_requested_at, _approval_resolved_at, _approval_priority, _approval_context

Service Component Meta Fields (detailed)

FieldTypeDescriptionExample
_service_typestringCategory of service"microservice", "external_api", "internal", "database", "queue"
_service_endpointstringPrimary invocation endpoint URL"https://api.example.com/v2"
_service_statusstringCurrent operational status"active", "degraded", "down", "maintenance", "unknown"
_service_versionstringSemantic version of the service"2.1.0"
_service_environmentstringDeployment environment"production", "staging", "development"
_service_dependenciesarrayPost IDs of dependent services[15, 23, 42]
_service_health_check_urlstringHealth check endpoint URL"https://api.example.com/health"
_service_health_intervalstringHealth check interval in seconds"300"
_service_ownerstringWP user ID of service owner"1"
_service_descriptionstringHuman-readable service description"Payment processing gateway - Stripe integration"

Approval Request Meta Fields (detailed)

FieldTypeDescriptionExample
_approval_typestringCategory of approval request"workflow_gate", "content_review", "access_request", "deployment", "config_change"
_approval_requester_idstringWP user ID or system identifier"5", "system:workflow-builder"
_approval_statusstringCurrent approval state"pending", "approved", "rejected", "cancelled", "expired"
_approval_approver_idstringWP user ID of the approver (set on resolution)"1"
_approval_workflow_idstringPro Workflow Builder workflow ID (if applicable)"wf_42"
_approval_node_idstringDAG node ID that created this approval"node_approval_deploy"
_approval_rationalestringApprover's reason for decision"Change approved after security review"
_approval_requested_atstringISO 8601 timestamp of request creation"2026-08-12T09:00:00Z"
_approval_resolved_atstringISO 8601 timestamp of resolution"2026-08-12T14:30:00Z"
_approval_prioritystringUrgency level"low", "normal", "high", "critical"
_approval_contextobjectArbitrary JSON context data{"deploy_target": "production", "change_summary": "..."}

Available Tools

All Services & Approvals operations use the toolkit_cpt MCP tool. This is the single interface for all service and approval CRUD operations.

Discovery

toolkit_cpt(action: "list_types")                                              # Confirm CPTs
toolkit_cpt(action: "get_schema", post_type: "mcp_ai_service")                # Service fields
toolkit_cpt(action: "get_schema", post_type: "mcp_ai_approval")               # Approval fields

Reading records

// List all production services
{
  "name": "toolkit_cpt",
  "arguments": {
    "action": "list_items",
    "post_type": "mcp_ai_service",
    "filters": [
      { "key": "_service_environment", "value": "production" }
    ],
    "orderby": "title",
    "order": "ASC",
    "per_page": 20
  }
}

// Search services by name or description
{
  "name": "toolkit_cpt",
  "arguments": {
    "action": "list_items",
    "post_type": "mcp_ai_service",
    "search": "payment"
  }
}

// Get a single service with all fields
{
  "name": "toolkit_cpt",
  "arguments": {
    "action": "get_item",
    "post_type": "mcp_ai_service",
    "item_id": 10
  }
}

// List all pending approval requests (highest priority first)
{
  "name": "toolkit_cpt",
  "arguments": {
    "action": "list_items",
    "post_type": "mcp_ai_approval",
    "filters": [
      { "key": "_approval_status", "value": "pending" }
    ],
    "orderby": "date",
    "order": "DESC",
    "per_page": 20
  }
}

// Get a single approval request
{
  "name": "toolkit_cpt",
  "arguments": {
    "action": "get_item",
    "post_type": "mcp_ai_approval",
    "item_id": 88
  }
}

Creating records

// Register a new service component
{
  "name": "toolkit_cpt",
  "arguments": {
    "action": "create_item",
    "post_type": "mcp_ai_service",
    "fields": {
      "title": "Payment Gateway - Stripe",
      "_service_type": "external_api",
      "_service_endpoint": "https://api.stripe.com/v1",
      "_service_status": "active",
      "_service_version": "2024-06",
      "_service_environment": "production",
      "_service_health_check_url": "https://api.stripe.com/v1/balance",
      "_service_health_interval": "300",
      "_service_owner": "1",
      "_service_description": "Stripe payment processing integration for WooCommerce orders",
      "_service_dependencies": []
    }
  }
}

// Create an approval request for a deployment gate
{
  "name": "toolkit_cpt",
  "arguments": {
    "action": "create_item",
    "post_type": "mcp_ai_approval",
    "fields": {
      "title": "Deploy Payment Service v2.1.0 to Production",
      "_approval_type": "deployment",
      "_approval_requester_id": "5",
      "_approval_status": "pending",
      "_approval_workflow_id": "wf_42",
      "_approval_node_id": "node_approval_deploy",
      "_approval_priority": "high",
      "_approval_context": {
        "service_id": 10,
        "version_from": "2.0.3",
        "version_to": "2.1.0",
        "change_summary": "Adds support for new payment methods; includes security patch for CVE-2026-1234"
      }
    }
  }
}

Updating records

// Update service status after a health check
{
  "name": "toolkit_cpt",
  "arguments": {
    "action": "update_item",
    "post_type": "mcp_ai_service",
    "item_id": 10,
    "fields": {
      "_service_status": "degraded",
      "_service_version": "2024-08"
    }
  }
}

// Add a dependency to a service
{
  "name": "toolkit_cpt",
  "arguments": {
    "action": "update_item",
    "post_type": "mcp_ai_service",
    "item_id": 10,
    "fields": {
      "_service_dependencies": [15, 23]
    }
  }
}

// Approve a pending request
{
  "name": "toolkit_cpt",
  "arguments": {
    "action": "update_item",
    "post_type": "mcp_ai_approval",
    "item_id": 88,
    "fields": {
      "_approval_status": "approved",
      "_approval_approver_id": "1",
      "_approval_rationale": "Security patch validated. Deployment approved.",
      "_approval_resolved_at": "2026-08-12T14:30:00Z"
    }
  }
}

// Reject: set _approval_status to "rejected" with _approval_rationale and _approval_resolved_at

Bulk & Delete operations

// Bulk register microservices
{
  "name": "toolkit_cpt",
  "arguments": {
    "action": "bulk_create",
    "post_type": "mcp_ai_service",
    "items": [
      { "title": "Email Service - SendGrid", "_service_type": "external_api", "_service_status": "active", "_service_environment": "production" },
      { "title": "Search Service - Elasticsearch", "_service_type": "database", "_service_status": "active", "_service_environment": "production" }
    ]
  }
}

// Delete a record (permanent — prefer status update to preserve history)
{ "name": "toolkit_cpt", "arguments": { "action": "delete_item", "post_type": "mcp_ai_service", "item_id": 99 } }

⚠️ Warning: Deleting a service removes it from the registry — any dependencies become broken references. Use _service_status: "down" instead. Deleting an approval removes the audit trail — use _approval_status: "cancelled" instead.

Common Workflows

Registering a new service component

1. Get schema:        get_schema(mcp_ai_service) — verify available fields.
2. Identify type:     Choose _service_type (microservice, external_api, internal, etc.).
3. Set endpoint:      Provide the primary URL for invocation.
4. Add health check:  Set _service_health_check_url and _service_health_interval.
5. Map dependencies:  List IDs of services this component depends on.
6. Create record:     create_item(mcp_ai_service, with all fields).
7. Verify:            get_item(mcp_ai_service, item_id: <new_id>) to confirm.

Service health check audit

1. list_items(mcp_ai_service, filters: [{key: "_service_status", value: "active"}])
2. For each service, fetch _service_health_check_url and verify 200 OK.
3. On failure: update_item(mcp_ai_service, _service_status: "degraded")
4. If down >24h: update_item(mcp_ai_service, _service_status: "down")
   → Optionally create an approval request for maintenance action.
5. On recovery: update_item(mcp_ai_service, _service_status: "active")

Approval request lifecycle

1. create_item(mcp_ai_approval, _approval_status: "pending")  → Workflow gate pauses.
2. Approver reviews: get_item(mcp_ai_approval, item_id: <id>)  → Inspect context & priority.
3. Approver decides: update_item → _approval_status: "approved"|"rejected"
   → Always include _approval_rationale, _approval_resolved_at, _approval_approver_id.
4. Workflow resumes: "approved" → next node; "rejected" → rejection branch or halt.
5. Audit: list_items(mcp_ai_approval, filters by _approval_type) for compliance.

Dependency graph validation

1. list_items(mcp_ai_service, per_page: 100) — collect all services.
2. For each, inspect _service_dependencies array.
3. Flag cycles (A→B, B→A), orphans (non-existent IDs), unknowns (status: down/unknown).
4. Report broken references for manual remediation.

Triaging pending approvals

1. list_items(mcp_ai_approval, filters: [{key: "_approval_status", value: "pending"}])
   → Sort by _approval_priority: critical first.
2. Critical/high >4h stale → escalate to service owner.
3. Normal/low >24h stale → check if context is still relevant; cancel if not.
4. Cross-reference _approval_workflow_id with workflow builder to find blocked DAGs.

Critical Rules

  • Always use get_schema first before creating or updating a record to verify available field keys and types.
  • Service dependencies must form a directed acyclic graph (DAG) — circular dependencies cause infinite health check loops and deployment deadlocks.
  • _service_dependencies is an array of post IDs — pass it as [15, 23], not "15, 23".
  • _approval_context is a JSON object — pass it as a native object in the JSON payload, not a string.
  • Approval requests are immutable audit records once resolved — never change the status back from "approved" or "rejected" to "pending". Create a new request instead.
  • _approval_resolved_at must be set when resolving — always include the timestamp alongside _approval_status changes to "approved" or "rejected".
  • Service status transitions should follow a defined path: active → degraded → down or active → maintenance → active. Don't jump from active to down without a degraded intermediate step unless there's a hard outage.
  • _service_health_interval is a string in seconds — use "300" not 300.
  • Approval priority drives SLA — critical: 1 hour, high: 4 hours, normal: 24 hours, low: 72 hours. Escalate when SLAs are breached.
  • Never delete approval requests — use _approval_status: "cancelled" to preserve the audit trail.

Common Mistakes

WRONG — creating a service with circular dependencies
Service A: _service_dependencies: [15]  (depends on B)
Service B: _service_dependencies: [10]  (depends on A)
// Creates a circular reference — health checks and deployments deadlock.

RIGHT — ensure the dependency graph is a DAG
Service A: _service_dependencies: [15]  (depends on B)
Service B: _service_dependencies: [42]  (depends on C)
// A → B → C is a valid acyclic chain.

WRONG — resolving an approval without rationale or timestamp
{ "action": "update_item", "post_type": "mcp_ai_approval", "item_id": 88,
  "fields": { "_approval_status": "approved" } }
// Missing _approval_rationale and _approval_resolved_at — the audit trail is incomplete.

RIGHT — fully document the resolution
{ "action": "update_item", "post_type": "mcp_ai_approval", "item_id": 88,
  "fields": { "_approval_status": "approved", "_approval_approver_id": "1",
  "_approval_rationale": "Change validated. No regressions in staging.", "_approval_resolved_at": "2026-08-12T14:30:00Z" } }

WRONG — deleting an approval instead of cancelling
{ "action": "delete_item", "post_type": "mcp_ai_approval", "item_id": 88 }
// Permanent loss of the audit record. Compliance auditors cannot trace the decision.

RIGHT — cancel to preserve the record
{ "action": "update_item", "post_type": "mcp_ai_approval", "item_id": 88,
  "fields": { "_approval_status": "cancelled", "_approval_rationale": "Deployment superseded by wf_99" } }

WRONG — passing _approval_context as a JSON string
{ "fields": { "_approval_context": "{\"key\": \"value\"}" } }
// The field parser expects a native object, not an escaped string.

RIGHT — pass _approval_context as a native object
{ "fields": { "_approval_context": { "key": "value" } } }

WRONG — setting a service dependency to a non-existent post ID
{ "fields": { "_service_dependencies": [99999] } }
// Post ID 99999 doesn't exist — the dependency graph has a dangling reference.

WRONG — jumping service status from "active" directly to "down"
{ "fields": { "_service_status": "down" } }
// Skips the "degraded" intermediate state, losing granularity for incident response.

Cross-References

  • Run design-pro-workflow-builder to create DAG workflows with approval nodes that reference mcp_ai_approval records.
  • Run design-pro-schedule-manager to schedule recurring service health checks and approval queue reviews.
  • Run design-ai-assistant-admin if an AI assistant triggers or resolves approval requests automatically.
  • Run design-crm if service components are linked to client accounts or deals.
  • Run design-project-management to track service-related tasks (deployments, migrations, incident response).
  • Run design-vault to securely store service API keys and endpoint credentials referenced in service configs.
  • Run design-document-generation to create deployment runbooks, incident reports, or approval summaries from service/approval data.
  • Run wp-security-audit on any endpoint exposed by registered services — the registry itself does not secure the endpoints.

What This Skill Does NOT Cover

  • Actual service implementation (code, containers, infrastructure) — this skill manages the registry, not the services themselves.
  • Workflow builder DAG design — use design-pro-workflow-builder for node configuration and approval node placement.
  • Health check execution engine — the Cron/Worker system performs checks; this skill covers the configuration and status interpretation.
  • Service monitoring dashboards (Grafana, Datadog) — use external observability tools for real-time metrics.
  • Approval notification delivery (email, SMS, Slack) — use design-communications and design-email-marketing for notification channels.
  • API key management for registered services — use design-vault for credential storage.
  • WordPress plugin/service discovery — use get_update_status and nv_oos_console_agent_get_environment_status for plugin-level health.

References

  • NV oOS Pro Toolkit Services admin page: /wp-admin/admin.php?page=nvoos-pro-toolkit-services
  • NV oOS Pro Toolkit Approvals admin page: /wp-admin/admin.php?page=nvoos-pro-toolkit-approvals
  • toolkit_cpt MCP tool — the primary interface for all service and approval operations.
  • Pro Workflow Builder approval node: uses mcp_ai_approval records as gates.
  • Semantic versioning specification: semver.org

レビュー

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

同じリポジトリのスキル

概要と使いどころ

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 のスキルをすべて見る

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