Claude-code-plugins-plus guidewire-observability

install
source · Clone the upstream repo
git clone https://github.com/jeremylongshore/claude-code-plugins-plus-skills
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/jeremylongshore/claude-code-plugins-plus-skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/plugins/saas-packs/guidewire-pack/skills/guidewire-observability" ~/.claude/skills/jeremylongshore-claude-code-plugins-plus-guidewire-observability && rm -rf "$T"
manifest: plugins/saas-packs/guidewire-pack/skills/guidewire-observability/SKILL.md
source content

Guidewire Observability

Overview

Guidewire InsuranceSuite processes claims, policies, and billing through long-running batch jobs and synchronous Cloud APIs. Observability must track claim processing times, policy synchronization health, billing accuracy, and integration endpoint status. Batch failures in ClaimCenter or PolicyCenter can silently block downstream workflows, so real-time alerting on queue depth and job completion is critical for insurance operations SLAs.

Key Metrics

MetricTypeTargetAlert Threshold
Claim processing timeHistogram< 30s> 60s
Policy sync success rateGauge> 99.5%< 98%
Billing accuracy rateGauge> 99.9%< 99.5%
Cloud API latency p95Histogram< 500ms> 2s
Batch job completion rateGauge100%< 95% per cycle
Integration queue depthGauge< 100> 500

Instrumentation

async function trackGuidewireAPI(endpoint: string, operation: string, fn: () => Promise<any>) {
  const start = Date.now();
  try {
    const result = await fn();
    metrics.histogram('guidewire.api.latency', Date.now() - start, { endpoint, operation });
    metrics.increment('guidewire.api.calls', { endpoint, status: 'ok' });
    return result;
  } catch (err) {
    metrics.increment('guidewire.api.errors', { endpoint, status: err.statusCode });
    throw err;
  }
}

Health Check Dashboard

async function guidewireHealth(): Promise<Record<string, string>> {
  const batchStatus = await gccAdmin.getBatchJobStatus();
  const apiLatency = await metrics.query('guidewire.api.latency', 'p95', '5m');
  const queueDepth = await gccAdmin.getIntegrationQueueDepth();
  return {
    batch_jobs: batchStatus.allCompleted ? 'healthy' : 'failed',
    api_latency: apiLatency < 500 ? 'healthy' : 'slow',
    integration_queue: queueDepth < 100 ? 'healthy' : 'backlogged',
  };
}

Alerting Rules

const alerts = [
  { metric: 'guidewire.claim.processing_time_p95', condition: '> 60s', window: '15m', severity: 'warning' },
  { metric: 'guidewire.batch.completion_rate', condition: '< 0.95', window: '1h', severity: 'critical' },
  { metric: 'guidewire.integration.queue_depth', condition: '> 500', window: '10m', severity: 'critical' },
  { metric: 'guidewire.api.error_rate', condition: '> 0.02', window: '5m', severity: 'warning' },
];

Structured Logging

function logGuidewireEvent(event: string, data: Record<string, any>) {
  console.log(JSON.stringify({
    service: 'guidewire', event,
    module: data.module, // ClaimCenter | PolicyCenter | BillingCenter
    operation: data.operation, duration_ms: data.latency,
    // Redact PII: no policyholder names, SSNs, or claim details
    claim_id: data.claimId, policy_number: data.policyNum,
    timestamp: new Date().toISOString(),
  }));
}

Error Handling

SignalMeaningAction
Batch job timeoutLong-running claim/policy sync stalledCheck GCC batch monitor, restart job
Queue depth > 500Integration backlog growingScale consumers, check downstream APIs
Policy sync < 98%Data mismatch between systemsAudit sync logs, compare source records
API 503 errorsGCC maintenance or overloadCheck GCC status page, retry with backoff
Billing discrepancyCalculation or rounding errorFlag for manual review, audit batch output

Resources

Next Steps

See

guidewire-incident-runbook
.