From persona-pack
Sets up local dev for Persona identity verification: sandbox env, ngrok webhooks, Python test inquiries, TypeScript/Vitest API mocks.
npx claudepluginhub jeremylongshore/claude-code-plugins-plus-skills --plugin persona-packThis skill is limited to using the following tools:
Sandbox testing with test inquiry templates, ngrok tunnel for webhook testing, mock API responses for CI.
Sets up Persona API authentication for Node.js/Python: configures env vars with sandbox/production keys, installs axios/requests+dotenv, verifies connection via REST API calls.
Sets up Instantly.ai local dev environment with mock server for testing API calls and webhooks without sending real emails.
Sets up Clerk local dev workflow: dev instance config, test user seeding, hot reload in Next.js, and npm scripts for HTTPS/tunneling. Use for local auth testing.
Share bugs, ideas, or general feedback.
Sandbox testing with test inquiry templates, ngrok tunnel for webhook testing, mock API responses for CI.
persona-install-auth setupset -euo pipefail
# Use sandbox API key for all development
echo 'PERSONA_API_KEY=persona_sandbox_xxxxxxxx' > .env
echo 'PERSONA_API_VERSION=2023-01-05' >> .env
# Terminal 1: Start your webhook server
npm run dev # localhost:3000
# Terminal 2: Tunnel with ngrok
ngrok http 3000
# Copy the HTTPS URL and configure in Persona Dashboard > Webhooks
import os, requests
HEADERS = {
"Authorization": f"Bearer {os.environ['PERSONA_API_KEY']}",
"Persona-Version": "2023-01-05",
}
# Create inquiry with sandbox template
resp = requests.post("https://withpersona.com/api/v1/inquiries", headers=HEADERS, json={
"data": {
"attributes": {
"inquiry-template-id": "itmpl_YOUR_SANDBOX_TEMPLATE",
"reference-id": f"test-{int(time.time())}",
}
}
})
print(f"Test inquiry: {resp.json()['data']['id']}")
import { vi } from 'vitest';
const mockPersonaApi = {
createInquiry: vi.fn().mockResolvedValue({
data: { id: 'inq_test_123', attributes: { status: 'created', 'session-token': 'tok_xxx' } },
}),
getInquiry: vi.fn().mockResolvedValue({
data: { id: 'inq_test_123', attributes: { status: 'completed' } },
}),
};
| Error | Cause | Solution |
|---|---|---|
| Webhook not received | ngrok URL not configured | Update webhook URL in Dashboard |
| Sandbox key rejected | Using production key | Verify key starts with persona_sandbox_ |
| Template not found | Wrong environment | Templates are per-environment |
Apply SDK patterns: persona-sdk-patterns