Complete Guidewire integration skill pack with 24 skills covering InsuranceSuite, PolicyCenter, ClaimCenter, and insurance platform development. Flagship tier vendor pack.
Installation
Open Claude Code and run this command:
/plugin install guidewire-pack@claude-code-plugins-plus
Use --global to install for all projects, or --project for current project only.
What It Does
> 10 production-engineer Claude Code skills for Guidewire InsuranceSuite. Each skill addresses real Cloud API failure modes — token storms, checksum 409s, blocked binds, FNOL dedup, secret rotation — not tutorial walk-throughs.
Skills (10)
Ship Gosu code and configuration changes through Guidewire Cloud Console deployment slots without breaking running policies — Gosu compile + GUnit + lint gates per PR, config-package promotion dev→UAT→prod, schema-change rollouts with rollback hazards documented, canary deploy for high-risk changes, and the rollback decision tree when a release affects already-bound policies.
Guidewire CI/CD Pipeline
Overview
Ship Gosu changes from a developer's branch to production without breaking running policies. Guidewire Cloud Console (GCC) deployment slots are the carrier-side promotion mechanism — dev → uat → prod — with config packages as the unit of promotion. The CI side validates compile, runs GUnit, and packages; the CD side promotes packages through slots with deploy-time gates.
Five production failures this skill prevents:
- Bypassed compile/test gates — a
gradle buildfailure on a developer's machine reaches CI as "works on my machine"; CI runs the same gates as a clean clone, fails fast, never lands on a slot. - Promotion without UAT regression — UW logic change goes dev → prod skipping UAT; the change interacts badly with a product line not exercised in dev; bound policies start showing wrong premium.
- Schema change without rollback plan — a Gosu interface adds a required field; rolling back the deploy is fine, but rolling back the database column requires a separate migration that may have been forgotten.
- Canary that isn't a canary — "canary" deploy serves 100% of traffic immediately because the slot router has no per-slot routing; a real canary needs traffic split, not just a separate slot.
- Rollback after policies bound on the new code — a defective rate-plan deploy bound 200 policies in the 30 minutes before detection; reverting the code does not unbind the policies; they need targeted endorsement-correction or rate adjustment.
Prerequisites
- A working Guidewire Studio + runServer setup per
guidewire-local-dev-loop - GCC tenant with at least three slots (
dev,uat,prod) configured for the integration's product line - A CI runner (GitHub Actions, GitLab CI, Jenkins) with JDK 17 and access to a private artifact registry for config packages
- An age private key (per
guidewire-security-and-rbac) provisioned to CI for decrypting environment-specific secrets
Instructions
Build the pipeline in this order. Each step targets one of the five production failures listed in Overview.
1. PR-time gates (run on every push)
Three checks, all blocking. The PR cannot merge to main if any fails.
# .github/workflows/ci.yml
jobs:
validate:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-java@v4
with: { java-version: 17, distribution: temurin }
- run: ./gradlew compileGosu # gate 1: code compiles
- run: ./gradlew test # gate 2: GUnit passes
- run: ./gradlew check # gate 3: lint + Automate the PolicyCenter account→submission→quote→bind→issue→endorse→renew pipeline including the failure paths — underwriting issues blocking bind, quotes expiring before bind, referrals stuck pending approval, and mid-term endorsements that trigger unexpected premium audit recalculation.
Guidewire PolicyCenter Workflow
Overview
Drive the PolicyCenter policy lifecycle through Cloud API and survive the state-transition failures that derail naive automation. This is the workflow used by broker portals to quote-and-bind, by CRMs to push submissions, and by renewal jobs to issue out-of-cycle. Assumes guidewire-install-auth provides the bearer token and guidewire-sdk-patterns provides the retrying client with checksum round-trip.
Five production failures this skill prevents:
- Bind on a quote with open UW issues — quote API returns
200, theunderwritingIssues[]array is non-empty, the client ignores it, bind returns422 rule-violation. - Bind on a stale quote — quotes expire (default 30 days). A submission left open over a holiday returns
422 quote-expiredon bind. - Orphaned submissions on partial failure — submission → quote succeeds, bind fails, no rollback; the submission sits in
Quotedstatus forever, blocking the next attempt. - Renewal outside the renewal window — calling renewal before the window opens (typically 60–90 days before expiration) returns
422 renewal-window-closed. - Endorsement premium drift — mid-term endorsement recalculates premium against current rate plans, which may differ from the rate plan in force at policy inception. The numeric difference surprises downstream finance integrations.
Prerequisites
- A working auth + SDK layer per
guidewire-install-authandguidewire-sdk-patterns(getToken(),patchResource(),paginate(),mapError()) - Cloud API roles
pc.account.write,pc.submission.write,pc.policy.writeassigned to the integration's Service Application - Knowledge of which product code drives the workflow (e.g.,
PersonalAuto,BOPLine) — submission shape is product-specific - For renewal jobs: read access to the renewal-window configuration on the relevant product
Instructions
Build the workflow as discrete state-transition functions, each fully responsible for surfacing the failure modes of its transition. Compose them with explicit checkpoints — never collapse the pipeline into a single fire-and-forget call.
1. Create the account
const idempotencyKey = crypto.randomUUID();
const account = await retryable(async () => {
const res = await fetch(`${BASE}/pc/rest/v1/accounts`, {
method: "POST",
headers: { Authorization: `Bearer ${await getToken()}`, "Content-Type": "application/json", "Idempotency-Key": idempotencyKey },
body: JSOAutomate the ClaimCenter FNOL→investigation→reserve→payment→settlement→close pipeline including the failure paths — duplicate FNOL from multi-source intake, reserve-must-precede-payment ordering, supervisor-authorization tiers, premature settlement, and reopen-vs-new-claim ambiguity.
Guidewire ClaimCenter Workflow
Overview
Drive the ClaimCenter claims lifecycle through Cloud API and survive the failure modes that derail naive automation. This is the workflow used by FNOL portals, IVR claims intake, partner-of-record APIs, and reserve-setting jobs. Assumes guidewire-install-auth provides the bearer token and guidewire-sdk-patterns provides the retrying client with checksum round-trip.
Five production failures this skill prevents:
- Duplicate FNOL from multi-source intake — the same loss event is reported by the caller, the claimant, and the broker; without dedup logic three claims land on the same loss with three reserves.
- Payment before reserve — code creates a payment without first setting a reserve in the matching cost category; API returns
422 reserve-required. - Authorization-tier violation — an integration with payment role
cc.payment.writeattempts a payment above its authorization limit; API returns422 authorization-requiredand the payment lands in pending-approval. - Premature settlement — claim closed before all open reserves are zeroed or all open activities resolved; reopens compound work and generate audit findings.
- Reopen vs. new claim confusion — late-arriving evidence on a closed claim creates a new claim with a different number, breaking the loss-event continuity downstream finance and analytics depend on.
Prerequisites
- A working auth + SDK layer per
guidewire-install-authandguidewire-sdk-patterns - Cloud API roles
cc.claim.write,cc.reserve.write,cc.payment.writeassigned per least privilege; payment authorization tier matches the integration's expected payment range - Knowledge of the carrier's loss-cause code list (
AUTO,PROPERTY,WORKERSCOMP, etc.) and cost-category configuration (body,parts,medical,legal) - A loss-dedup key strategy (typically:
policyNumber + lossDate + lossCause + reporterId)
Instructions
1. FNOL with deduplication
Before creating a claim, check whether one already exists for the same loss event. The dedup key combines policy, loss date, loss cause, and the reporting party.
async function findExistingClaim(policyNumber: string, lossDate: string, lossCauseCode: string): Promise<Claim | null> {
const url = `${BASE}/cc/rest/v1/claims?filter=policyNumber+eq+'${policyNumber}'+and+lossDate+eq+'${lossDate}'+and+lossCause.code+eq+'${lossCauseCode}'`;
const res = await fetch(url, { headers: { Authorization: `Bearer ${await getToken()}` } });
const bodyAuthenticate production Guidewire Cloud API integrations and survive the auth-side failures — token expiry storms, scope drift, private-CA PKIX errors, secret rotation.
Guidewire Install & Auth
Overview
Authenticate a backend service to a Guidewire Cloud tenant using OAuth2 client credentials and operate the auth layer in production. This is not a hello-world walkthrough; it is the auth code your service runs at 3am when a token expires mid-batch, when a tenant admin rotates a scope, when a private CA renews a cert, and when on-call needs to swap a leaked secret without dropping in-flight requests.
The four production failures this skill prevents:
- Token expiry storms — every request races to refresh, the Hub rate-limits the auth endpoint, the integration cascades to red.
- Scope drift — a GCC admin removes a scope, every cached token starts returning
403, retrying does not help. - PKIX path building failed — JVM cannot validate the tenant's TLS chain because the private CA is not in the trust store; common when carriers front Cloud API with their own DLP appliance.
- Secret rotation downtime — the active client secret is rotated and the old secret stops working before the new one is loaded; in-flight token refreshes fail until restart.
Prerequisites
- JDK 17 (Guidewire Cloud release
202503and later) - A registered Service Application in Guidewire Cloud Console (GCC) with Cloud API roles assigned per least privilege
- Network egress from your runtime to
*.guidewire.net(runtime APIs) andgcc.guidewire.com(console only) - A secret store the runtime can read at startup and on rotation signal (AWS Secrets Manager, GCP Secret Manager, HashiCorp Vault, or Kubernetes Secret with CSI driver)
- For private-CA tenants: the carrier's CA chain in PEM form
Instructions
Build the auth layer in this order. Each section solves one production failure mode; do not skip steps because the failure shows up in production, not in dev.
- Implement the token-cache pattern below — proactive refresh, single-flight gate, JWT-based expiry.
- Wire secret rotation to your secret store; do not commit secrets or bake them into images.
- For private-CA tenants, install the trust store at the JVM/init-container layer.
- Validate scope hardening on every refresh so drift fails fast, not on the next business call.
Token-cache pattern (production)
Tokens are short-lived, typically one hour. Reactive refresh on 401 is wrong: it doubles latency on the failing request and creates a thundering herd when many requests notice expiry simultaneously. Cache the token in-process and refresh proactively at 80% of TTL, behind a single-flight gate so concurrent refreshers serialize.
import jwt from &Iterate on Gosu rules and configuration without paying the full 5–15 minute runServer rebuild every time.
Guidewire Local Dev Loop
Overview
Run a local InsuranceSuite instance and iterate on Gosu rule logic in seconds, not minutes. The single biggest productivity killer in Guidewire development is paying the 5–15 minute gradle runServer cold-start cost on every change because the developer does not know which edits hot-reload and which force a restart.
Three production problems this skill prevents:
- Restart cascade — developer changes a Gosu rule, restarts runServer, waits 8 minutes, finds the rule was wrong, repeats. A full day disappears in restarts.
- Silent stale code — Studio claims it hot-reloaded a class but the running JVM is still executing the old bytecode (common when interfaces change). Tests pass against stale code.
- GUnit drift — unit tests for Gosu rules diverge from the rules themselves because the cycle to run a single test through Studio is too slow; developers stop writing them.
Prerequisites
- JDK 17 (for Cloud release
202503+) - Guidewire Studio installed (IntelliJ-based, distributed by Guidewire)
- Local InsuranceSuite configuration zone (PolicyCenter, ClaimCenter, or BillingCenter)
- ≥16 GB RAM on the dev machine — runServer + Studio + the JVM debug agent need headroom
- Sample data loader configured for the chosen product (e.g.,
PersonalAutofor PC)
Instructions
Build the inner loop in this order. Every step targets one of the three productivity killers above.
1. Start runServer once, keep it warm
Cold start takes 5–15 minutes; treat it as a session investment.
# Start in dev mode with debug agent on 8088, leaves the server attached to the terminal
./gradlew runServer -Pdebug=true -PdebugPort=8088 -Dgw.servermode=dev
gw.servermode=dev enables the hot-reload paths inside the JVM. debugPort=8088 exposes the JDWP debug agent — attach IntelliJ to it once and leave it. Restart only when the what hot-reloads table below says you must.
2. What hot-reloads, what does not
Memorize this table — it determines whether the next edit costs 0 seconds or 8 minutes.
| Change type | Hot-reload? | Action | ||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Gosu method body in an existing class | yes | save in Studio; runServer detects via Reload Plugin |
||||||||||||||||||||||
| Gosu rule (entity, validation, UW) body | yes | save; rule fires on next entity event | ||||||||||||||||||||||
| New Gosu class added to an existing package | yes | save; class is picked up on first reference | ||||||||||||||||||||||
| Gosu interface signature change | no | restart runServer (binary-incompatible class load) |
| Surface | Catalog | ||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Custom Gosu code | every file under modules/configuration/gsrc/; commit count, author distribution |
||||||||||||||
| Custom plugins | every entry in plugin/registry/*.xml |
||||||||||||||
| Cust
Operate a Guidewire Cloud API integration in production — define SLIs/SLOs for token availability, bind success rate, FNOL p99 latency; route alerts so the on-call gets paged for real outages and never for transient noise; triage 401 spikes, 409 storms, 429 saturation, scope drift, and Gosu OOM cascades from signal to recovery in 15 minutes or less.
ReadWriteEditBash(curl:*)Bash(jq:*)GrepGlob
Guidewire Observability and Incident ResponseOverviewRun a production Guidewire Cloud API integration with the dashboards, alerts, and runbooks an on-call engineer can act on at 3am. This skill consolidates the operational layer: what to measure, what to alert on, how to triage the top five incident classes, and how to close the loop with a post-incident review that prevents recurrence rather than performing root-cause theater. Five operational failures this skill prevents:
Prerequisites
InstructionsBuild the operational layer in this order. Each step targets one of the five operational failures listed in Overview. 1. Define SLIs that measure user-visible behaviorTrack what users care about, not what is easy to measure. For a Guidewire integration, the SLIs that matter:
|