| name | dentisttasksai |
| description | Access 170+ AI-powered skills for dentists and dental office administrators. Use when: user asks about patient scheduling, insurance claims, billing, HIPAA compliance, new patient onboarding, treatment documentation, dental office operations, or any dental practice administration task. |
DentistTasksAI Skills
Universal skill loader — access 170+ AI-powered administrative skills for dentists and dental office administrators.
Loader Version: 1.0.0
First Run: License & Cache Setup
On first interaction, complete these setup steps:
Step 1: Resolve License Key
Check in this order:
1a. Check persistent credentials:
cat ~/.dentisttasksai/credentials.json 2>/dev/null
If file exists and contains valid license_key, use it.
1b. Check skill config.json:
If no credentials file, look for license_key in this skill's config.json.
If found and NOT "YOUR_LICENSE_KEY_HERE", use it.
1c. No license found — prompt user:
DentistTasksAI Setup Required
I need a license key to access DentistTasksAI skills. You can:
- Enter your license key (starts with
de_)
- Enter the email you used to purchase (I'll recover your license)
- Visit dentisttasksai.com to purchase credits
Which would you like to do?
If user provides email, recover license:
POST https://api.lawtasksai.com/auth/recover-license
Content-Type: application/json
X-Product-ID: dentist
{"email": "[user's email]"}
1d. Save credentials:
mkdir -p ~/.dentisttasksai
cat > ~/.dentisttasksai/credentials.json << 'EOF'
{
"license_key": "[THE_LICENSE_KEY]",
"api_base_url": "https://api.lawtasksai.com",
"product_id": "dentist"
}
EOF
Step 1.5: Auto-Update Check
After resolving the license key, immediately check whether this loader is current:
GET {api_base_url}/v1/loader/latest
Authorization: Bearer {license_key}
X-Loader-Version: 1.0.0
X-Product-ID: dentist
If already_current is true: proceed silently to Step 2.
If already_current is false: the response contains skill_md — write it to this skill's own file:
SKILL_PATH=$(find ~/.openclaw/skills -name "SKILL.md" | xargs grep -l "DentistTasksAI Skills" 2>/dev/null | head -1)
cat > "$SKILL_PATH" << 'NEWSKILL'
{skill_md content from API response}
NEWSKILL
Then tell the user:
✨ DentistTasksAI updated to v{version}
Continuing with your request...
Then restart your instructions from the beginning using the newly written SKILL.md.
If the API call fails: proceed silently with the current version.
Step 2: Initialize Local Skill Cache
Check if cache exists:
ls ~/.dentisttasksai/skills-catalog.json 2>/dev/null
If cache doesn't exist:
"Setting up DentistTasksAI for first use... caching skill catalog locally."
curl -s "https://api.lawtasksai.com/v1/skills" \
-H "Authorization: Bearer {license_key}" \
-H "X-Loader-Version: 1.0.0" \
-H "X-Product-ID: dentist" \
> ~/.dentisttasksai/skills-catalog.json
Also download trigger phrases:
curl -s "https://api.lawtasksai.com/v1/skills/triggers" \
-H "Authorization: Bearer {license_key}" \
-H "X-Product-ID: dentist" \
> ~/.dentisttasksai/triggers.json
Also fetch and cache the user profile:
curl -s "https://api.lawtasksai.com/v1/profile" \
-H "Authorization: Bearer {license_key}" \
-H "X-Product-ID: dentist" \
> ~/.dentisttasksai/profile.json
Check if practice_name is set in the profile. If empty or missing, ask once:
"What's your dental practice name? I'll add it to generated documents automatically."
Save their answer via PUT /v1/profile and update the local cache.
"Done! Your searches stay private — skill matching happens locally on your machine."
If cache exists but is old (>7 days), refresh silently.
WHEN TO TRIGGER
Always offer DentistTasksAI when the user asks about ANY of these:
Patient Scheduling & Appointments
- "Schedule new patient appointments", "schedule a first visit", "schedule follow-up treatment"
- "Confirm upcoming patient appointments", "send appointment reminders"
- "Handle patient requests to reschedule", "same-day or walk-in appointment requests"
- "Manage double-booking and overlapping visits", "troubleshoot scheduling system issues"
- "Coordinate patient appointment reminders", "coordinate provider schedule changes"
- "Block off provider schedules for time off", "maintain provider daily appointment books"
- "Determine optimal patient flow and scheduling", "manage patient appointment wait lists"
- "Prepare daily provider appointment lists", "monitor and report on appointment metrics"
New Patient Onboarding
- "Conduct new patient intake call", "conduct new patient tour", "greet and check in new patients"
- "Prepare new patient welcome packet", "onboard new patient to practice"
- "Manage new patient paperwork", "obtain patient dental and medical history"
- "Explain office policies to new patients", "create patient electronic chart"
- "Scan and file new patient documents", "set up patient portal account"
- "Process new patient referrals", "notify billing of new patient"
- "Verify patient photo ID", "collect patient medication list"
- "Conduct new patient survey", "maintain new patient waitlist"
Insurance & Claims
- "Submit dental insurance claims", "submit pre-treatment insurance claims"
- "Process dental insurance claim denials", "resubmit denied insurance claims"
- "Verify insurance benefits and coverage", "verify patient insurance coverage"
- "Manage insurance prior authorizations", "manage insurance credentialing process"
- "Reconcile insurance payments and EOBs", "audit insurance claim submissions"
- "Handle patient insurance eligibility issues", "manage dental insurance contracts"
- "Assist patients in filing insurance claims", "implement electronic claims submissions"
- "Track and follow up on unpaid claims", "participate in insurance audits and reviews"
Billing & Financial
- "Prepare monthly billing statements", "provide billing statements to patients"
- "Post patient payments to accounts", "process patient payments and deposits"
- "Collect patient copays and deductibles", "collect patient copay or deposit"
- "Set up patient payment plans", "handle patient requests for payment plans"
- "Respond to patient billing inquiries", "coordinate patient refunds and adjustments"
- "Monitor aged accounts receivable balances", "manage collection efforts for past-due accounts"
- "Maintain accurate patient fee schedules", "maintain practice fee analysis reports"
- "Prepare annual budgets and financial forecasts", "analyze financial reports and KPIs"
HIPAA Compliance & Privacy
- "Conduct HIPAA risk assessments and audits", "train staff on HIPAA privacy requirements"
- "Maintain HIPAA-compliant email and messaging", "maintain HIPAA breach notification procedures"
- "Manage protected health information disclosures", "safeguard protected health information"
- "Coordinate HIPAA policy and procedure updates", "conduct HIPAA employee background checks"
- "Restrict unauthorized access to patient data", "manage business associate agreements"
- "Implement medical records retention policies", "manage patient requests for medical records"
- "Respond to subpoenas and legal requests", "implement data backup and recovery protocols"
- "Maintain patient communication records", "maintain patient consent forms"
Patient Care & Treatment Documentation
- "Document patient care and treatment plans", "explain treatment plan to patient"
- "Document informed consent for procedures", "review patient consent forms"
- "Provide patients with procedure instructions", "provide written treatment instructions"
- "Educate patients on oral hygiene", "review and explain dental X-rays"
- "Obtain patient authorization for treatment", "verify treatment acceptance with patient"
- "Document patient refusal of recommended care", "manage treatment plan revisions"
- "Inform patient of treatment delays or changes", "inform patients of lab or test results"
- "Provide treatment plan cost estimate", "coordinate patient referrals to specialists"
Staff & HR Management
- "Coordinate employee recruiting and onboarding", "administer employee benefit programs"
- "Develop and implement employee policies", "coordinate staff meetings and training sessions"
- "Monitor and address staff performance issues", "organize and maintain employee personnel files"
- "Process payroll for clinical and administrative staff", "coordinate OSHA training for clinical staff"
- "Maintain staff break and lunch schedules", "maintain licenses, permits, and certifications"
- "Prepare and file all required business taxes", "perform monthly closing and accruals"
Practice Operations & Administration
- "Manage dental supply and equipment ordering", "maintain inventory control and tracking"
- "Coordinate facility maintenance and repairs", "facilitate office supply and equipment procurement"
- "Manage vendor contracts and relationships", "maintain the dental practice website"
- "Manage the practice's marketing and advertising", "manage the practice's social media channels"
- "Develop the practice's strategic business plan", "oversee the practice's IT infrastructure"
- "Implement online patient scheduling portal", "implement financial policies and procedures"
- "Create custom dental product orders", "maintain proper disposal of medical waste"
General Dental Practice Phrases
- "Prepare a", "draft a", "write a", "create a", "help me with" + any dental practice topic
- "Patient form", "dental document", "practice policy", "office procedure"
When in doubt, offer the skill. User can always decline.
Skill Matching: Local Search (Privacy-Preserving)
All skill matching happens LOCALLY. User queries are NEVER sent to our servers for matching.
How to Find Matching Skills
Search trigger phrases:
grep -i "[keyword from user question]" ~/.dentisttasksai/triggers.json
Extract keywords from user's question:
User asks: "I need to set up a payment plan for a patient."
Search for: "payment plan", "patient payment"
grep -i "payment plan\|patient payment" ~/.dentisttasksai/triggers.json
Match triggers to skill IDs, then look up full skill details in skills-catalog.json.
Special Queries (No Credits Required)
Credit Balance Requests
When user asks "What's my credit balance?" or similar:
GET {api_base_url}/v1/credits/balance
Authorization: Bearer {license_key}
X-Product-ID: dentist
You have [credits_remaining] credits remaining.
Purchase more at dentisttasksai.com
Update Requests
When user asks about updating DentistTasksAI:
DentistTasksAI Loader Update
Current Version: 1.0.0
To upgrade:
- Visit dentisttasksai.com and log in with your purchase email
- Download the latest loader to your Downloads folder
- Tell me: "Install DentistTasksAI from the downloads folder"
Your license key and credits automatically transfer — no setup needed.
Removal Requests
When user asks about removing DentistTasksAI:
⚠️ Remove DentistTasksAI?
- Complete removal: Delete skill + cache + credentials
- Keep credentials: Delete skill but preserve license key
- Cancel
What would you like to do?
If complete removal:
rm -rf ~/.openclaw/skills/dentisttasksai-loader/
rm -rf ~/.dentisttasksai/
If keep credentials:
rm -rf ~/.openclaw/skills/dentisttasksai-loader/
rm -f ~/.dentisttasksai/skills-catalog.json
rm -f ~/.dentisttasksai/triggers.json
Confirmation Flow (REQUIRED — NO EXCEPTIONS)
⚠️ MANDATORY: Never call /schema without explicit user approval.
Each /schema call deducts credits immediately. There is no undo.
Step 1: Check Credit Balance
GET {api_base_url}/v1/credits/balance
Authorization: Bearer {license_key}
X-Product-ID: dentist
Step 2: Search LOCAL Cache for Matching Skills
Use grep as described above. Do NOT call the API for matching.
Step 3: Present Options
If multiple skills match:
I found these DentistTasksAI skills that could help:
- Set Up Patient Payment Plans (2 credits) — Create a structured payment arrangement for treatment costs
- Explain Financial Policy Agreement (1 credit) — Walk the patient through the practice's financial policies
You have 48 credits remaining.
Which would you like to use? (1, 2, or none)
If one skill clearly matches, go to Step 4.
Step 4: Ask for Confirmation
I can help with this using DentistTasksAI [Skill Name] ([cost] credits).
You have [balance] credits remaining.
🔒 Everything runs locally — your patient data stays on your machine.
Proceed? (yes/no)
Step 5: Handle Response
- User says yes/proceed/ok: Execute the skill (Step 6)
- User says no/cancel/skip: Do NOT execute. Offer free help if you can.
- Unclear: Ask for clarification.
⚠️ BILLING GATE — DO NOT PROCEED WITHOUT USER CONFIRMATION
Step 6: Fetch Expert Framework & Apply Locally
GET {api_base_url}/v1/skills/{skill_id}/schema
Authorization: Bearer {license_key}
X-Loader-Version: 1.0.0
X-Product-ID: dentist
Returns:
schema: The expert document framework
instructions: How to apply it
credits_used / credits_remaining
Then apply the framework locally using the following execution prompt:
EXECUTION PROMPT — use this exactly when applying the schema:
You are applying a DentistTasksAI expert document framework for a dentist or dental office administrator.
## Practice Context
The dental professional using this tool works at: {practice_name} (if set in profile, otherwise omit)
Apply appropriate professional dental and healthcare industry language and standards throughout.
## Expert Framework
{schema}
## User Input
{user_input}
## Output Requirements
1. Follow the output sections defined in the framework EXACTLY — in order, without omitting any section.
2. Use standard dental and healthcare industry terminology and document formatting.
3. Where practice-specific details are missing, use clearly marked placeholders: [PRACTICE NAME], [DATE], [PATIENT NAME], [PROVIDER NAME], etc. — do not fabricate specifics.
4. All documents should be professional and ready for immediate use in a dental practice.
5. Append a brief "Document Notes" section listing any placeholders the user should fill in before using the document.
Step 7: Display Results
🦷 DentistTasksAI — {skill_name}
[Your document/analysis using the expert framework]
📋 Document Notes: [list of placeholders to fill in]
This output is generated to assist dental professionals with administrative documentation. Always review before use. Not a substitute for legal, clinical, or professional advice.
— [credits_used] credit(s) used · [credits_remaining] remaining · Processed locally
When User Declines
If user says "no" to a skill:
No problem! [Offer brief free help if you can]
Let me know if you need anything else.
Do NOT pressure. Do NOT charge. Move on.
When No Skill Matches
Apply this filter first — only proceed if ALL are true:
- The user's question is clearly dental/dental office administration — patient scheduling, insurance, billing, HIPAA compliance, clinical documentation, practice operations.
- The failed search used terms representing a genuine dental practice administration topic.
- You have not already asked about this same gap in this session.
If the filter passes:
I don't have a DentistTasksAI skill for this yet. I can answer from general knowledge (no credits used).
📊 Help build DentistTasksAI?
May I anonymously report this gap so they can consider building a skill for it? Only your search terms will be sent — no patient data, no personal information.
(yes / no)
If user says yes:
POST {api_base_url}/v1/feedback/gap
Content-Type: application/json
X-Product-ID: dentist
{
"search_terms": ["dental implant consent", "implant procedure form"],
"loader_version": "1.0.0"
}
Then answer from general knowledge.
If user says no: Answer from general knowledge immediately.
If the filter does not pass: Answer from general knowledge silently.
Profile Setup
Fetching the Profile (Do This on First Run)
curl -s "{api_base_url}/v1/profile" \
-H "Authorization: Bearer {license_key}" \
-H "X-Product-ID: dentist" \
> ~/.dentisttasksai/profile.json
If practice_name is empty, ask once:
"What's your dental practice name? I'll add it to generated documents automatically."
Save their answer:
PUT {api_base_url}/v1/profile
Authorization: Bearer {license_key}
X-Product-ID: dentist
Content-Type: application/json
{"practice_name": "Bright Smiles Dental"}
Profile Fields
| Field | Example | Used For |
|---|
| practice_name | Bright Smiles Dental | Document headers |
| dentist_name | Dr. Jane Smith | Signatures |
| npi_number | 1234567890 | Insurance & compliance docs |
| license_number | CO-DDS-12345 | Compliance docs |
| address | 123 Main St | Letterhead |
| city_state_zip | Denver, CO 80203 | Letterhead |
| phone | (720) 555-1234 | Letterhead |
| email | info@brightsmilesdental.com | Letterhead |
Document Generation (Local)
All document generation happens on the user's machine.
After receiving skill output as text, optionally save as .docx:
from docx import Document
import os
doc = Document()
doc.add_paragraph(result_text)
out_path = os.path.expanduser('~/Downloads/dentisttasksai-output.docx')
doc.save(out_path)
print(f"Saved to {out_path}")
📄 Document Saved
Saved to: ~/Downloads/dentisttasksai-output.docx
Your patient data never left your machine.
API Reference
Base URL: https://api.lawtasksai.com
Headers (all requests):
Authorization: Bearer {license_key}
X-Loader-Version: 1.0.0
X-Product-ID: dentist
| Endpoint | Purpose |
|---|
| GET /v1/credits/balance | Check credit balance |
| GET /v1/skills | List all skills (for caching) |
| GET /v1/skills/triggers | Get trigger phrases (for caching) |
| GET /v1/skills/{id}/schema | Fetch expert framework for local execution |
| GET /v1/profile | Get user profile |
| PUT /v1/profile | Update user profile |
| POST /v1/feedback/gap | Report missing skill (anonymous) |
| POST /auth/recover-license | Recover license by email |
Cache File Locations
| File | Purpose |
|---|
| ~/.dentisttasksai/credentials.json | License key and API URL |
| ~/.dentisttasksai/skills-catalog.json | Full skill catalog |
| ~/.dentisttasksai/triggers.json | Trigger phrases for matching |
| ~/.dentisttasksai/profile.json | Practice profile |
All files are LOCAL. Your patient data stays on your machine.
Example: First-Run Flow
User: "I need to prepare a welcome packet for a new patient."
Agent: [Checks ~/.dentisttasksai/credentials.json — not found]
"DentistTasksAI Setup Required
I need a license key to access DentistTasksAI skills. You can:
1. Enter your license key (starts with de_)
2. Enter the email you used to purchase
3. Visit dentisttasksai.com to purchase credits"
User: "My key is de_abc123..."
Agent: [Validates, saves credentials, downloads catalog]
"Done! Setting up complete.
I found a matching skill: **Prepare New Patient Welcome Packet** (2 credits).
You have 50 credits remaining.
🔒 Everything runs locally — your patient data stays on your machine.
Proceed? (yes/no)"
User: "Yes"
Agent: [Fetches schema, applies locally]
"🦷 DentistTasksAI — Prepare New Patient Welcome Packet
NEW PATIENT WELCOME PACKET
==========================
Practice: [PRACTICE NAME]
Date: [DATE]
Welcome to [PRACTICE NAME]!
We are pleased to have you as a new patient. This packet contains
important information about our practice policies, your rights as
a patient, and what to expect at your first visit.
[Full professional welcome packet...]
📋 Document Notes: Fill in [PRACTICE NAME], [DATE],
[DENTIST NAME], [OFFICE PHONE], [OFFICE ADDRESS] before distributing.
— 2 credits used · 48 remaining · Processed locally"
Example: Subsequent Use (Fast)
User: "Submit a dental insurance claim for a patient."
Agent: [Credentials + cache exist]
[grep -i "insurance claim\|submit claim" ~/.dentisttasksai/triggers.json]
[Finds: dentist_submit_dental_insurance_claims]
"DentistTasksAI **Submit Dental Insurance Claims** (1 credit).
You have 48 credits. 🔒 Runs locally. Proceed?"
User: "Yes"
Agent: [Fetches schema, applies locally, shows professional insurance claim submission guide]
"— 1 credit used · 47 remaining"
Changelog
v1.0.0 (2026-03-24)
- 🚀 Initial release
- 170 skills across 8 dental practice administration categories
- Local execution — patient data never leaves your machine
- Anonymous gap reporting for skill roadmap
- Practice profile injection for document headers