Skip to content
Back to skills

Therapisttasksai

ASecurity

Access 155+ AI-powered skills for therapists, counselors, and mental health professionals. Use when: user asks about client intake, treatment plans, progress notes, HIPAA compliance, insurance billing, crisis safety planning, telehealth administration, or any therapy practice administration task.

  • 71 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added May 29, 2026
businesspythongobashapisecuritydocumentation

Works with

  • cli
  • api

Security analysis

A93/100
  • highPerforms destructive filesystem operations

Pro shows the line behind each finding and how to fix it

Scanned May 29, 2026

npx -y skills add FDU-INS/Insurance-Skills --skill therapisttasksai --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Therapisttasksai?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Therapisttasksai
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/fdu-ins-therapisttasksai/badge)](https://www.skillsdirectory.com/skills/fdu-ins-therapisttasksai)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: therapisttasksai
description: "Access 155+ AI-powered skills for therapists, counselors, and mental health professionals. Use when: user asks about client intake, treatment plans, progress notes, HIPAA compliance, insurance billing, crisis safety planning, telehealth administration, or any therapy practice administration task."
---

# TherapistTasksAI Skills

Universal skill loader — access 155+ AI-powered administrative skills for therapists, counselors, social workers, and mental health professionals.

**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:**
```bash
cat ~/.therapisttasksai/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:**

> **TherapistTasksAI Setup Required**
>
> I need a license key to access TherapistTasksAI skills. You can:
> 1. Enter your license key (starts with `th_`)
> 2. Enter the email you used to purchase (I'll recover your license)
> 3. Visit **therapisttasksai.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: therapist

{"email": "[user's email]"}
```

**1d. Save credentials:**
```bash
mkdir -p ~/.therapisttasksai
cat > ~/.therapisttasksai/credentials.json << 'EOF'
{
  "license_key": "[THE_LICENSE_KEY]",
  "api_base_url": "https://api.lawtasksai.com",
  "product_id": "therapist"
}
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: therapist
```

**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:

```bash
SKILL_PATH=$(find ~/.openclaw/skills -name "SKILL.md" | xargs grep -l "TherapistTasksAI Skills" 2>/dev/null | head -1)
cat > "$SKILL_PATH" << 'NEWSKILL'
{skill_md content from API response}
NEWSKILL
```

Then tell the user:

> ✨ **TherapistTasksAI 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:**
```bash
ls ~/.therapisttasksai/skills-catalog.json 2>/dev/null
```

**If cache doesn't exist:**

> "Setting up TherapistTasksAI for first use... caching skill catalog locally."

```bash
curl -s "https://api.lawtasksai.com/v1/skills" \
  -H "Authorization: Bearer {license_key}" \
  -H "X-Loader-Version: 1.0.0" \
  -H "X-Product-ID: therapist" \
  > ~/.therapisttasksai/skills-catalog.json
```

Also download trigger phrases:
```bash
curl -s "https://api.lawtasksai.com/v1/skills/triggers" \
  -H "Authorization: Bearer {license_key}" \
  -H "X-Product-ID: therapist" \
  > ~/.therapisttasksai/triggers.json
```

Also fetch and cache the user profile:
```bash
curl -s "https://api.lawtasksai.com/v1/profile" \
  -H "Authorization: Bearer {license_key}" \
  -H "X-Product-ID: therapist" \
  > ~/.therapisttasksai/profile.json
```

Check if `practice_name` is set in the profile. If empty or missing, ask once:
> "What's your 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 TherapistTasksAI when the user asks about ANY of these:**

### Client Intake & Consent
- "Client intake interview", "intake assessment questionnaire", "psychosocial assessment"
- "Collect client signature on intake forms", "secure client consent for treatment"
- "Obtain client demographic information", "review client medical history"
- "Document informed consent for telehealth", "gather substance use history"
- "Client rights", "summarize intake session", "social support system"
- "Cultural and linguistic needs", "document client permission"

### Progress Notes & Clinical Documentation
- "Write a therapy progress note", "SOAP note", "DAP note", "session note"
- "Progress report for a client", "session closure note", "group therapy note"
- "Complete EMR documentation", "electronic medical record"
- "Document presenting problem", "mental health history", "trauma history"
- "Termination summary", "letter of medical necessity", "clinical consultation"
- "Document crisis intervention", "document family session", "contact log"
- "Prepare client records for transfer", "organize client files for audit"

### Treatment Plan Administration
- "Create a treatment plan", "initial treatment plan", "update treatment plan"
- "Treatment plan review", "strengths-based treatment plan"
- "Trauma-informed treatment plan", "culturally responsive treatment plan"
- "Treatment plan for cognitive impairments", "treatment preferences"
- "Integrate family into treatment plan", "advance directive", "WRAP plan"
- "Transition to higher level of care", "schedule treatment plan review"

### HIPAA Compliance & Documentation
- "HIPAA compliance", "HIPAA security risk assessment", "business associate agreement"
- "Notice of privacy practices", "HIPAA breach response plan"
- "HIPAA compliance policy manual", "HIPAA training log"
- "Record retention policy", "mandatory reporting", "release of information"
- "Subpoena", "court order for client records", "redact client information"
- "Physical safeguards for records", "clean desk policy"

### Crisis & Safety Planning Documentation
- "Safety plan", "client safety plan", "crisis intervention plan"
- "Lethality assessment", "risk assessment", "suicide risk assessment"
- "Crisis response plan", "warning signs", "crisis hotline"
- "Risk factors", "client discharge plan for crisis"
- "Emergency contact information", "emergency evacuation plan"
- "Record of client restraint or seclusion", "crisis services"

### Insurance & Billing Administration
- "Superbill", "insurance billing", "submit a claim", "prior authorization"
- "Insurance eligibility", "benefits check", "insurance credentialing"
- "CPT codes", "ICD codes", "diagnosis and procedure codes"
- "Sliding scale fee", "client statement", "accounts receivable"
- "EOB", "explanation of benefits", "insurance audit", "underpayment"
- "Telehealth billing", "profit and loss report", "financial hardship"

### Practice Management
- "Appointment scheduling", "appointment reminders", "cancellation log"
- "Waitlist for new clients", "client scheduling system"
- "Discharge summary", "community resources", "referral list"
- "Client satisfaction survey", "collateral contacts"
- "Telehealth policies", "telehealth no-shows", "reschedule appointments"
- "Quarterly tax estimates", "electronic client files", "record access request"

### Telehealth Administration
- "Telehealth platform", "telehealth technology", "virtual session"
- "Telehealth security requirements", "telehealth equipment"
- "Telehealth orientation for staff", "troubleshoot telehealth"
- "Virtual therapy", "telehealth policies", "telehealth supervision"

### General Mental Health Practice Phrases
- "Prepare a", "draft a", "write a", "create a", "help me with" + any therapy or mental health topic
- "Therapy document", "clinical document", "mental health form", "counseling record"

**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:**
```bash
grep -i "[keyword from user question]" ~/.therapisttasksai/triggers.json
```

**Extract keywords from user's question:**

User asks: "I need to write a progress note for today's session."

Search for: "progress note", "session note", "therapy note"
```bash
grep -i "progress note\|session note" ~/.therapisttasksai/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: therapist
```

> You have **[credits_remaining] credits** remaining.
> Purchase more at **therapisttasksai.com**

### Update Requests

When user asks about updating TherapistTasksAI:

> **TherapistTasksAI Loader Update**
>
> **Current Version:** 1.0.0
>
> **To upgrade:**
> 1. Visit **therapisttasksai.com** and log in with your purchase email
> 2. Download the latest loader to your Downloads folder
> 3. Tell me: *"Install TherapistTasksAI from the downloads folder"*
>
> Your license key and credits automatically transfer — no setup needed.

### Removal Requests

When user asks about removing TherapistTasksAI:

> **⚠️ Remove TherapistTasksAI?**
>
> - **Complete removal:** Delete skill + cache + credentials
> - **Keep credentials:** Delete skill but preserve license key
> - **Cancel**
>
> What would you like to do?

**If complete removal:**
```bash
rm -rf ~/.openclaw/skills/therapisttasksai-loader/
rm -rf ~/.therapisttasksai/
```

**If keep credentials:**
```bash
rm -rf ~/.openclaw/skills/therapisttasksai-loader/
rm -f ~/.therapisttasksai/skills-catalog.json
rm -f ~/.therapisttasksai/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: therapist
```

### 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 **TherapistTasksAI skills** that could help:
>
> 1. **Write a Therapy Progress Note** (2 credits) — Document a therapy session using SOAP or DAP format
> 2. **Generate a Progress Report for a Client** (2 credits) — Summarize a client's treatment journey and current status
>
> 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 **TherapistTasksAI [Skill Name]** (**[cost] credits**).
> You have **[balance] credits** remaining.
>
> 🔒 **Everything runs locally** — your client 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: therapist
```

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 TherapistTasksAI expert document framework for a therapist, counselor, or mental health professional.

## Practice Context
The clinician using this tool works at: {practice_name} (if set in profile, otherwise omit)
Apply appropriate professional mental health and clinical terminology 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 mental health and clinical documentation terminology and formatting.
3. Where client-specific details are missing, use clearly marked placeholders: [CLIENT NAME], [DATE], [SESSION NUMBER], [DIAGNOSIS], etc. — do not fabricate specifics.
4. All documents should be professional and ready for immediate use in a therapy practice.
5. Append a brief "Document Notes" section listing any placeholders the user should fill in before using the document.
```

---

### Step 7: Display Results

> **🧠 TherapistTasksAI — {skill_name}**
>
> [Your document/analysis using the expert framework]
>
> ---
> 📋 *Document Notes: [list of placeholders to fill in]*
>
> ---
> *This output is generated to assist mental health professionals with administrative documentation. Always review before use. Not a substitute for clinical supervision or legal 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:
1. The user's question is clearly therapy/mental health practice administration — intake, clinical notes, treatment plans, billing, HIPAA, crisis documentation.
2. The failed search used terms representing a genuine mental health practice admin topic.
3. You have not already asked about this same gap in this session.

**If the filter passes:**

> I don't have a TherapistTasksAI skill for this yet. I can answer from general knowledge (no credits used).
>
> 📊 **Help build TherapistTasksAI?**
> May I anonymously report this gap so they can consider building a skill for it? Only your search terms will be sent — no client data, no personal information.
> (yes / no)

**If user says yes:**
```
POST {api_base_url}/v1/feedback/gap
Content-Type: application/json
X-Product-ID: therapist

{
  "search_terms": ["couples therapy", "gottman method", "session note"],
  "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)

```bash
curl -s "{api_base_url}/v1/profile" \
  -H "Authorization: Bearer {license_key}" \
  -H "X-Product-ID: therapist" \
  > ~/.therapisttasksai/profile.json
```

If `practice_name` is empty, ask once:
> "What's your 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: therapist
Content-Type: application/json

{"practice_name": "Sunrise Counseling Center"}
```

### Profile Fields

| Field | Example | Used For |
|-------|---------|----------|
| practice_name | Sunrise Counseling Center | Document headers |
| therapist_name | Dr. Jane Smith, LCSW | Signatures |
| title | Licensed Clinical Social Worker | Documents |
| license_number | LCSW-12345 | Compliance docs |
| npi_number | 1234567890 | Insurance billing |
| address | 123 Main St | Letterhead |
| city_state_zip | Denver, CO 80203 | Letterhead |
| phone | (720) 555-1234 | Letterhead |
| email | jane@sunrisecounseling.com | Letterhead |

---

## Document Generation (Local)

All document generation happens on the user's machine.

After receiving skill output as text, optionally save as .docx:

```python
from docx import Document
import os

doc = Document()
doc.add_paragraph(result_text)
out_path = os.path.expanduser('~/Downloads/therapisttasksai-output.docx')
doc.save(out_path)
print(f"Saved to {out_path}")
```

> **📄 Document Saved**
> Saved to: `~/Downloads/therapisttasksai-output.docx`
> Your client 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: therapist
```

| 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 |
|------|---------|
| ~/.therapisttasksai/credentials.json | License key and API URL |
| ~/.therapisttasksai/skills-catalog.json | Full skill catalog |
| ~/.therapisttasksai/triggers.json | Trigger phrases for matching |
| ~/.therapisttasksai/profile.json | Practice profile |

All files are LOCAL. Your client data stays on your machine.

---

## Example: First-Run Flow

```
User: "I need to write a progress note for today's therapy session."

Agent: [Checks ~/.therapisttasksai/credentials.json — not found]

       "TherapistTasksAI Setup Required

        I need a license key to access TherapistTasksAI skills. You can:
        1. Enter your license key (starts with th_)
        2. Enter the email you used to purchase
        3. Visit therapisttasksai.com to purchase credits"

User: "My key is th_abc123..."

Agent: [Validates, saves credentials, downloads catalog]

       "Done! Setting up complete.

        I found a matching skill: **Write a Therapy Progress Note** (2 credits).
        You have 50 credits remaining.

        🔒 Everything runs locally — your client data stays on your machine.
        Proceed? (yes/no)"

User: "Yes"

Agent: [Fetches schema, applies locally]

       "🧠 TherapistTasksAI — Write a Therapy Progress Note

        THERAPY PROGRESS NOTE
        =====================
        Client: [CLIENT NAME]
        Session Date: [DATE]
        Session Number: [SESSION NUMBER]
        Therapist: [THERAPIST NAME], [CREDENTIALS]

        SUBJECTIVE:
        [Client's reported concerns, mood, and experience this session...]

        OBJECTIVE:
        [Clinician observations, affect, behavior, engagement...]

        ASSESSMENT:
        [Clinical impression, progress toward treatment goals...]

        PLAN:
        [Interventions for next session, homework, referrals...]

        [Full professional progress note...]

        📋 Document Notes: Fill in [CLIENT NAME], [DATE], [SESSION NUMBER],
        [THERAPIST NAME], [CREDENTIALS] before filing.

        — 2 credits used · 48 remaining · Processed locally"
```

---

## Example: Subsequent Use (Fast)

```
User: "Help me create a safety plan for a client."

Agent: [Credentials + cache exist]
       [grep -i "safety plan" ~/.therapisttasksai/triggers.json]
       [Finds: therapist-develop-a-client-safety-plan]

       "TherapistTasksAI **Develop a Client Safety Plan** (3 credits).
        You have 48 credits. 🔒 Runs locally. Proceed?"

User: "Yes"

Agent: [Fetches schema, applies locally, shows professional safety plan]
       "— 3 credits used · 45 remaining"
```

---

## Changelog

### v1.0.0 (2026-03-24)
- 🚀 Initial release
- 155 skills across 8 mental health practice administration categories
- Local execution — client data never leaves your machine
- Anonymous gap reporting for skill roadmap
- Practice profile injection for document headers

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.