From wealthbox-data-completeness-audit
Wealthbox Data Completeness Audit -- Scan your Wealthbox CRM for missing and incomplete contact data
How this skill is triggered — by the user, by Claude, or both
Slash command
/wealthbox-data-completeness-audit:wealthbox-data-completenessThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
You are running the Wealthbox Data Completeness Audit skill. It pulls all contacts from a Wealthbox CRM account, analyzes field completeness, scores each contact, and generates an interactive HTML report.
You are running the Wealthbox Data Completeness Audit skill. It pulls all contacts from a Wealthbox CRM account, analyzes field completeness, scores each contact, and generates an interactive HTML report.
CRITICAL: Never use cd in bash commands. All CLI commands use the absolute path prefix shown below.
CLI tool: node ${CLAUDE_SKILL_DIR}/../../scripts/cli.js <command> -- all commands output JSON to stdout
${CLAUDE_SKILL_DIR} is automatically set to this skill's directory. The plugin root is two levels up.
Run these commands silently (do not display output to user). Ignore any errors. These are best-effort and must never block the flow.
git -C ${CLAUDE_SKILL_DIR}/../.. pull --ff-only 2>/dev/null || true
npm install --prefix ${CLAUDE_SKILL_DIR}/../../scripts 2>/dev/null || true
Then check setup status:
node ${CLAUDE_SKILL_DIR}/../../scripts/cli.js check-setup 2>/dev/null
Parse the JSON. Store registered, email, wealthbox_connected for routing.
registered AND wealthbox_connected -> skip to Step 3registered but NOT wealthbox_connected -> skip to Step 2registered -> proceed to Step 1Display:
██╗ ███████╗ █████╗
██║ ██╔════╝██╔══██╗
██║ █████╗ ███████║
██║ ██╔══╝ ██╔══██║
███████╗███████╗██║ ██║
╚══════╝╚══════╝╚═╝ ╚═╝
Wealthbox Data Completeness Audit -- A LEA Skill
What does it do? Scans your Wealthbox CRM and generates a report showing which contact records are missing critical information: email, phone, date of birth, household assignment, agreement dates, and more.
Who is this for? Operations teams, compliance officers, and advisors at RIAs and wealth management firms who use Wealthbox.
How it works:
| Step | What happens |
|---|---|
| Connect | Securely link your Wealthbox account via API token |
| Audit | Pull all contacts and analyze 14 completeness fields |
| Report | Generate an HTML report with scores, field coverage, and CSV export |
Credentials stored encrypted on LEA servers. All analysis runs locally — your data flows directly between your machine and Wealthbox, never through LEA.
Use AskUserQuestion: "Ready to get started?"
If "Not now", exit. If "Let's go", continue:
Prompt for email and firm name. Use plain text prompts, NOT AskUserQuestion (free-text input is better here):
To get started, enter your work email (this registers you with LEA Skills):
Wait for user input. Store as email.
And your firm name (optional, press Enter to skip):
Wait for user input. Store as firm_name (may be empty).
Run registration:
node ${CLAUDE_SKILL_DIR}/../../scripts/cli.js register "<email>" "<firm_name>"
If firm_name is empty, omit it:
node ${CLAUDE_SKILL_DIR}/../../scripts/cli.js register "<email>"
Parse JSON. If success: true, show: "Registered successfully." and proceed to Step 2.
Display:
To connect, you will need your Wealthbox API Access Token. Here is how to get it:
- Log in to Wealthbox at app.crmworkspace.com
- Click your profile icon (top right) and select Settings
- Scroll to API Access and click Create Access Token
- Copy the token
Then prompt:
Paste your Wealthbox API token here:
Wait for user input. Store as wb_token.
Run auth:
node ${CLAUDE_SKILL_DIR}/../../scripts/cli.js auth-wealthbox-token "<wb_token>"
Parse JSON response.
If success: true, display:
Connected to Wealthbox as {user.name} ({user.email})
Proceed to Step 3.
If success: false, display the error and suggest:
Could not connect. Please check that your API token is correct and try again.
Use AskUserQuestion: "What would you like to do?"
node ${CLAUDE_SKILL_DIR}/../../scripts/cli.js verify-wealthbox
Parse JSON. If success: true, display:
Connected to Wealthbox as {user.name} ({user.email})
If success: false, display error and suggest re-running the skill to reconnect.
Display:
Pulling contacts from Wealthbox and analyzing data completeness. This may take a moment for larger accounts...
Run the audit:
node ${CLAUDE_SKILL_DIR}/../../scripts/cli.js audit-contacts
IMPORTANT: This command may take 10-30 seconds for accounts with many contacts due to API rate limits. Do NOT set a short timeout.
Parse the JSON response. If success: false, show the error and offer to retry.
If success: true but totalContacts: 0, display:
No contacts found in your Wealthbox account.
And skip to Step 7.
If success: true and contacts exist:
echo '<full_json_response>' > /tmp/wb-audit-data.json
node ${CLAUDE_SKILL_DIR}/../../scripts/cli.js generate-report audit --output-file /tmp/wealthbox-data-completeness-report.html --data-file /tmp/wb-audit-data.json
open /tmp/wealthbox-data-completeness-report.html
Audit complete. Report opened in your browser.
- {totalContacts} contacts audited
- {averageScore}% average completeness score
- {needsAttention} contacts need attention (below 50%)
Do NOT show a detailed table or field breakdown here. The report has everything.
Log usage (silently, do not display output):
node ${CLAUDE_SKILL_DIR}/../../scripts/cli.js log-usage wealthbox-data-completeness 2>/dev/null
Use AskUserQuestion: "What next?"
If the user selects "Done", display exactly this and end:
Done! Got questions? Want more? [email protected]
success: false in any CLI response, show the error message and ask to retry or exit2>/dev/null)| Step | Command | When |
|---|---|---|
| 0 | npm install | Always (silent) |
| 0 | check-setup | Always |
| 1 | register | First run only |
| 2 | auth-wealthbox-token | First run only |
| 3 | verify-wealthbox | Always |
| 4 | audit-contacts | Main audit |
| 4 | generate-report | Report generation |
| 4 | open | Open report |
| 7 | log-usage | Usage tracking |
Total: 5-8 bash calls for full flow
Searches MemPalace before answering questions about past work, people, projects, or prior decisions. Returns verbatim stored content instead of guessing from model memory.
Guides Payload CMS config (payload.config.ts), collections, fields, hooks, access control, APIs. Debugs validation errors, security, relationships, queries, transactions, hook behavior.
Implements vector databases with Pinecone, Weaviate, Qdrant, Milvus, pgvector for semantic search, RAG, recommendations, and similarity systems. Optimizes embeddings, indexing, and hybrid search.
npx claudepluginhub lea-product-and-engineering/lea-wealth-plugins --plugin wealthbox-data-completeness-audit