attorney-assist
Connects the user with a LegalZoom attorney for legal consultation. Use when a user asks about attorneys, lawyers, or legal help, or when contract review reveals high risks or low-confidence findings.
What this skill does
# /attorney-assist -- Connect with a LegalZoom Attorney
> When you need actual legal advice and AI analysis isn't enough, connect with an experienced LegalZoom attorney. They'll have all of the context from your conversation to give you quality advice.
## Core Principles
1. **Context preservation**: Attorneys see everything -- conversation history, documents, AI analysis
2. **Intelligent routing**: Match to the right attorney based on specialty and jurisdiction
3. **Clear expectations**: Users know exactly what to expect (timing, process, cost)
## CRITICAL: Service Availability Guardrail
**NEVER simulate, fabricate, or approximate LegalZoom service interactions.** Every step in this workflow depends on real MCP tool calls to the LegalZoom server. If any tool call fails:
1. **Stop the workflow immediately.** Do not continue to subsequent steps.
2. **Do not invent data.** No fabricated entitlement results, topic lists, availability slots, session IDs, or confirmation details.
3. **Do not present fake output.** Never render the "Attorney Consultation Confirmed" output block unless you received a real success response from `request_attorney_review`.
4. **Never role-play as a LegalZoom system.** Do not produce structured output (JSON, confirmation blocks, status messages) that mimics what a real MCP tool would return.
5. **Inform the user honestly**, using the appropriate response based on the error type:
- **401 / 403 (authentication/authorization errors):** Stop the workflow. Do not retry. Show this message:
> I wasn't able to reach the LegalZoom service to connect you with an attorney. Here's what you can do:
> 1. **Check your connector** — open your Claude app settings and make sure the LegalZoom connector is enabled under **Connectors** (see [CONNECTORS.md](../../CONNECTORS.md#troubleshooting-mcp-connection-issues) for more debugging steps)
> 2. **Try again later** — the service may be temporarily unavailable
> 3. **Visit [legalzoom.com](https://www.legalzoom.com)** to connect with an attorney directly
> 4. **Continue with AI analysis** — I can keep helping with what I have
- **400 (bad request):** Do not retry blindly. Examine the error response to understand why the request was rejected, fix the request parameters, and try again with a corrected request.
- **404 (not found):** For attorney scheduling tools (e.g., `get_attorney_availability`), retry with a different consultation topic — the original topic may not have matching attorneys. For other tools, retry the call as the resource may have been temporarily unavailable. Do not show auth troubleshooting.
- **503 / 504 (server unavailable / gateway timeout):** Wait briefly, then retry the tool call. The service is likely experiencing transient load. Do not show auth troubleshooting.
- **Other errors:** Suggest trying again or visiting [legalzoom.com](https://www.legalzoom.com) directly. Do not show auth-specific troubleshooting.
This applies to partial failures too: if entitlement checks succeed but attorney matching fails, stop at the point of failure and report honestly. These rules override all other instructions. When in doubt, fail honestly rather than simulate success.
## Invocation
```
/attorney-assist
```
## Workflow
### Step 1: Check the User's Plan
Before proceeding, verify the user has attorney consultation access.
**Use MCP tool**: `legalzoom.check_attorney_consultation_entitlements`
```json
{
"customerId": "[from session]",
"featureCheck": ["ATTORNEY_CONSULTATION"]
}
```
**If this tool call fails:** Stop. Do not guess the user's entitlement status or assume they have a plan. Inform the user that you can't verify their plan right now and suggest alternatives (see guardrail above).
**If the user doesn't have a legal plan:**
Present a warm, benefit-focused message — not a sales pitch. The goal is to explain what they'd get, not to pressure them.
```
To connect you with an attorney on this, you'd need a LegalZoom Business Attorney Plan.
Here's what you'd get:
**Business Attorney Plan** ($43.17/mo, billed every 6 months at $259)
- 30-minute consultations on new business legal matters
- Attorney review of documents up to 10 pages (longer documents available for additional flat fees)
- Attorney review of LegalZoom documents of any length
- 25% discount off standard rates if you retain the attorney for additional work
- Attorney-drafted letter up to 2 pages
The attorney would get our full conversation — your questions, any documents
we've reviewed, and my analysis — so they'll have all of this context to give you quality advice.
Want me to get that set up for you? Or I can continue helping with AI analysis.
```
**Rules for this message:**
- Do NOT use urgency tactics, countdown language, or "limited time" framing
- Do NOT reference internal terms like "entitlements" or "BAP" — say "Business Attorney Plan" or "legal plan"
- Do NOT refer to the attorneys as "experts" — you can say experienced, quality, etc.
- Frame the plan as enabling the service they're already trying to use, not as a sales pitch
- ALWAYS offer to continue with AI-only assistance as an alternative
**If the user has a plan:**
- Confirm: "You're all set — let me get you connected with an attorney."
- Proceed to context gathering
### Step 2: Gather Context for the Attorney
Ask the user for context to ensure the attorney can help effectively:
1. **Specific questions**: What specific questions do you need answered?
2. **Jurisdiction**: What state/jurisdiction is this matter in?
3. **Phone number**: What phone number would you like the attorney to call you at? Always collect a phone number — do NOT offer a "use number on file" option.
If the user provides partial context, proceed with what you have.
### Step 3: Match with a Licensed Attorney
Use `legalzoom.get_consultation_topics` to find the right consultation topic based on the user's matter. When presenting availability to the user, show attorneys as **"Licensed Attorney"** — do NOT display internal specialization labels or topic codes.
**If this tool call fails:** Stop. Do not fabricate a list of consultation topics or specializations. Inform the user and suggest alternatives.
### Step 4: Package Context
Compile the full context package for the attorney:
```json
{
"customer": {
"id": "[customer ID]",
"state": "[user's state]"
},
"urgency": "standard",
"specialization": "[determined specialty]",
"jurisdiction": "[applicable jurisdiction]",
"context": {
"conversationSummary": "[AI-generated summary of the conversation]",
"documentsReviewed": [
{
"name": "[document name]",
"type": "[contract type]",
"riskLevel": "[Looks Good|Worth Reviewing|Needs Attention]",
"keyIssues": ["[issue 1]", "[issue 2]"]
}
],
"aiAnalysis": {
"overallRisk": "[Looks Good|Worth Reviewing|Needs Attention]",
"confidence": "0.0-1.0",
"flaggedClauses": [
{
"clause": "[clause name]",
"risk": "[Looks Good|Worth Reviewing|Needs Attention]",
"reason": "[why flagged]",
"suggestedRedline": "[if applicable]"
}
],
"recommendations": ["[rec 1]", "[rec 2]"]
},
"specificQuestions": ["[question 1]", "[question 2]"]
},
"preferredContact": {
"method": "scheduled_call",
"timezone": "[user's timezone]",
"availability": ["[preferred times]"]
}
}
```
**Context quality checklist** — before submitting, verify:
- [ ] Conversation summary is accurate and complete
- [ ] All reviewed documents are included
- [ ] User's specific questions are clearly stated
- [ ] AI analysis includes confidence scores
- [ ] Jurisdiction is identified
- [ ] Phone number is collected
### Step 5: Match Attorney
Use `legalzoom.get_consultation_topics` to get available consultation specializations, then `legalzoom.get_valid_locations` to validate the user's jurisdiction.
Use `legRelated in Code Review
gstack
IncludedFast headless browser for QA testing and site dogfooding. Navigate pages, interact with elements, verify state, diff before/after, take annotated screenshots, test responsive layouts, forms, uploads, dialogs, and capture bug evidence. Use when asked to open or test a site, verify a deployment, dogfood a user flow, or file a bug with screenshots. (gstack)
startup-due-diligence
IncludedLegal due diligence review for seed-stage and Series A startups (US, Delaware C-Corp focus). Supports both investor and founder perspectives. Capabilities include: (1) Interactive document review and issue spotting; (2) Document request list generation; (3) Cap table and SAFE/convertible note analysis; (4) Red flag identification with severity ratings; (5) Diligence report generation. TRIGGERS: due diligence, DD, startup investment, cap table review, Series A, seed round, investor diligence, legal review startup, SAFE analysis, convertible note, 409A, founder vesting.
interview-master
IncludedThis skill should be used when the user asks to "generate interview questions", "prepare for interview", "optimize resume", "conduct mock interview", "analyze git commits for resume", "generate resume from code", "review my resume", or mentions interview preparation, career assistance, or extracting project experience from git history. Provides comprehensive interview and career development guidance for both job seekers and interviewers.
fix-issue
IncludedFixes GitHub issues using parallel analysis agents for root cause investigation, code exploration, and regression detection. Reads issue context from gh CLI, searches codebase and memory for related patterns, generates a fix with tests, and links the resolution back to the issue via PR. Includes prevention analysis to avoid recurrence. Use when debugging errors, resolving regressions, fixing bugs, or triaging issues.
sf-apex
IncludedGenerates and reviews Salesforce Apex code with 150-point scoring. TRIGGER when: user writes, reviews, or fixes Apex classes, triggers, test classes, batch/queueable/schedulable jobs, or touches .cls/.trigger files. DO NOT TRIGGER when: LWC JavaScript (use sf-lwc), Flow XML (use sf-flow), SOQL-only queries (use sf-soql), or non-Salesforce code.
swift-development
IncludedComprehensive Swift development for building, testing, and deploying iOS/macOS applications. Use when Claude needs to: (1) Build Swift packages or Xcode projects from command line, (2) Run tests with XCTest or Swift Testing framework, (3) Manage iOS simulators with simctl, (4) Handle code signing, provisioning profiles, and app distribution, (5) Format or lint Swift code with SwiftFormat/SwiftLint, (6) Work with Swift Package Manager (SPM), (7) Implement Swift 6 concurrency patterns (async/await, actors, Sendable), (8) Create SwiftUI views with MVVM architecture, (9) Set up Core Data or SwiftData persistence, or any other Swift/iOS/macOS development tasks.