Claude-code-plugins guidewire-hello-world

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-hello-world" ~/.claude/skills/jeremylongshore-claude-code-plugins-guidewire-hello-world && rm -rf "$T"
manifest: plugins/saas-packs/guidewire-pack/skills/guidewire-hello-world/SKILL.md
source content

Guidewire Hello World

Overview

Execute your first Cloud API calls to PolicyCenter, ClaimCenter, and BillingCenter. All Guidewire Cloud APIs are RESTful with JSON payloads and follow Swagger 2.0.

Instructions

Step 1: Query PolicyCenter Accounts

const token = await getGuidewireToken();
const headers = { 'Authorization': `Bearer ${token}`, 'Content-Type': 'application/json' };

// List accounts
const accounts = await fetch(`${process.env.GW_PC_URL}/account/v1/accounts?pageSize=5`, { headers });
const data = await accounts.json();
data.data.forEach((acct: any) => {
  console.log(`Account: ${acct.attributes.accountNumber} | ${acct.attributes.accountHolderContact.displayName}`);
});

Step 2: Query ClaimCenter Claims

// List recent claims
const claims = await fetch(`${process.env.GW_CC_URL}/claim/v1/claims?pageSize=5`, { headers });
const claimData = await claims.json();
claimData.data.forEach((claim: any) => {
  console.log(`Claim: ${claim.attributes.claimNumber} | ${claim.attributes.status.code} | ${claim.attributes.lossDate}`);
});

Step 3: Guidewire API Response Structure

{
  "count": 42,
  "data": [
    {
      "attributes": { "accountNumber": "A000001", "...": "..." },
      "checksum": "abc123",
      "links": { "self": { "href": "/account/v1/accounts/pc:123" } }
    }
  ],
  "links": { "next": { "href": "/account/v1/accounts?pageSize=5&offsetToken=..." } }
}

Key patterns:

data[]
array,
attributes
for fields,
checksum
for optimistic locking,
links
for pagination.

Error Handling

ErrorCodeSolution
404 Not Found
Invalid endpoint pathVerify
/account/v1/accounts
format
400 Bad Request
Invalid query paramsCheck
pageSize
,
filter
syntax
422 Unprocessable
Business rule violationRead
userMessage
in response
409 Conflict
Stale checksumRe-GET resource, use new checksum

For detailed implementation, see: implementation guide

Resources

Next Steps

For local development workflow, see

guidewire-local-dev-loop
.