From shippo
Validate, parse, and standardize shipping addresses via the Shippo API
How this skill is triggered — by the user, by Claude, or both
Slash command
/shippo:address-validationThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
<!--
The Shippo API uses v1 field names for address components in most endpoints (including CreateShipment). Always use:
| Field | Description | Example |
|---|---|---|
name | Full name | Jane Smith |
street1 | Street address line 1 | 731 Market St |
street2 | Street address line 2 (optional) | Suite 200 |
city | City | San Francisco |
state | State or province | CA |
zip | Postal code | 94103 |
country | ISO 3166-1 alpha-2 country code | US |
email | Email (required for international senders) | [email protected] |
phone | Phone (required for international senders) | +1-555-123-4567 |
Note: CreateAddress and ValidateAddress take the v2 field names (address_line_1, city_locality, state_province, postal_code), but when passing addresses inline to CreateShipment, you must use the v1 names above.
street1, city, state, zip, country (ISO 3166-1 alpha-2).CreateAddress with the address fields. This creates the address and returns an object ID.ValidateAddress with the address fields to get validation results. Note: this endpoint takes address fields as query parameters, not an object ID.analysis.validation_result.value in the response. Values: "valid", "invalid", or "partially_valid" (address found with corrections applied). Check analysis.validation_result.reasons for details.changed_attributes). Note analysis.address_type ("residential", "commercial", or "unknown") -- residential classification affects carrier surcharges.recommended_address, present it to the user.partially_valid: show what was corrected and ask the user to confirm the corrections are acceptable.ParseAddress with the raw string (e.g., "123 Main St, Springfield IL 62704").address_line_1, city_locality, state_province, postal_code.country. You must ask the user for the country or infer it, then add it before proceeding.CreateAddress then ValidateAddress (follow the structured address workflow above from step 2).country field. Do not guess.There is no batch validation endpoint. Call CreateAddress per address. Track results (row number, valid/invalid, corrections, errors, residential classification) and report a summary when done. For 50+ addresses, set expectations about processing time and provide progress updates.
Call ValidateAddress with the address fields. This endpoint validates by address fields, not by object ID.
If CreateAddress returns a "Duplicate address" error, the address already exists in the account. Retrieve it via ListAddresses or proceed directly to validation.
Validate an address:
CreateAddress (saves address) + ValidateAddress (validates with same fields)
Parse then validate:
ParseAddress -> add country -> CreateAddress + ValidateAddress
Creates, edits, and optimizes skills for Claude Code, including drafting, evaluating with test prompts, iterating on performance, and improving skill descriptions for better triggering accuracy.
npx claudepluginhub goshippo/ai --plugin shippo