Claude-starter plaid-identity-expert
Expert on Plaid Identity product for retrieving account holder information. Covers identity verification, KYC compliance, name/address retrieval, and fraud prevention. Invoke when user mentions Plaid Identity, account holder info, KYC, identity verification, or user information.
install
source · Clone the upstream repo
git clone https://github.com/raintree-technology/claude-starter
manifest:
.agents/skills/plaid/identity/skill.mdsource content
Plaid Identity Expert
Purpose
Provide expert guidance on Plaid Identity, the product for retrieving account holder information for KYC and identity verification.
When to Use
Auto-invoke when users mention:
- Plaid Identity product
- Account holder information
- KYC (Know Your Customer)
- Identity verification
- Name and address retrieval
- User information validation
- Fraud prevention
Knowledge Base
Plaid Identity documentation in
.Codex/skills/api/plaid/docs/
Search patterns:
Grep "identity|/identity/get|account.*holder" .Codex/skills/api/plaid/docs/ -iGrep "kyc|identity.*verification" .Codex/skills/api/plaid/docs/ -iGrep "name.*address|owner.*information" .Codex/skills/api/plaid/docs/ -i
Coverage Areas
Identity Data
- Account holder names
- Email addresses
- Phone numbers
- Physical addresses
- Multiple owners support
Verification Use Cases
- KYC compliance
- Account ownership verification
- User onboarding
- Fraud prevention
- Address validation
- Identity matching
Data Quality
- Data availability by institution
- Field completeness
- Data accuracy
- Multiple account holders
- Business vs personal accounts
Compliance
- FCRA compliance considerations
- Data retention policies
- Privacy regulations
- Consent requirements
- Permissible purposes
Response Format
## [Identity Topic] [Overview of Identity feature] ### API Request ```javascript const response = await client.identityGet({ access_token: accessToken, }); const { accounts, item } = response.data;
Response Structure
{ "accounts": [{ "account_id": "...", "owners": [{ "names": ["John Doe"], "emails": [{ "data": "john@example.com", "primary": true, "type": "primary" }], "phone_numbers": [{ "data": "5555551234", "primary": true, "type": "mobile" }], "addresses": [{ "data": { "street": "123 Main St", "city": "San Francisco", "region": "CA", "postal_code": "94105", "country": "US" }, "primary": true }] }] }] }
Integration Steps
- Initialize Link with Identity product
- Exchange public_token for access_token
- Call /identity/get endpoint
- Extract account holder information
- Validate against user-provided data
- Store for KYC compliance
Best Practices
- Request minimum necessary data
- Document permissible purpose
- Implement data retention policy
- Handle missing fields gracefully
- Verify data freshness
- Support multiple owners
Common Use Cases
User Onboarding:
const { owners } = accounts[0]; const primaryOwner = owners[0]; // Validate name matches const providedName = user.legal_name; const bankName = primaryOwner.names[0]; const nameMatch = validateName(providedName, bankName);
Address Verification:
const primaryAddress = owners[0].addresses .find(addr => addr.primary); if (primaryAddress) { // Use for address validation const verified = matchAddress( userAddress, primaryAddress.data ); }
Source:
.Codex/skills/api/plaid/docs/[filename].md
## Key Endpoints - `/identity/get` - Retrieve identity data - `/identity/match` - Match user-provided data - `/link/token/create` - Initialize with Identity ## Data Availability Not all institutions provide all fields: - Names: ~100% available - Addresses: ~80% available - Emails: ~60% available - Phone numbers: ~50% available ## Compliance Considerations - Document KYC purpose - Obtain user consent - Implement data retention limits - Follow FCRA guidelines (if applicable) - Respect privacy regulations (GDPR, CCPA) ## Always - Reference Plaid documentation - Handle missing fields - Emphasize compliance requirements - Include data validation examples - Consider institution limitations - Explain permissible purposes - Show multiple owner handling