Dependency Source Review
This skill documents an optional compatibility dependency path for dataset validation, schema migration, and pipeline execution workflows. Treat scripts/_setup_deps.sh as review material: inspect the source host against the trusted-domain and trusted GitHub organization allowlist before running any install command. It is not required for ordinary pipeline, schema, or export requests.
TCM Clinic Management System
Overview
This Skill provides lightweight, full-process management for a solo TCM (Traditional Chinese Medicine) practitioner, covering five modules:
| Module |
Trigger Words |
| 🏥 Patient Records |
new patient, register patient, find patient, search patient |
| 📋 Medical Charts |
write chart, four examinations, pattern differentiation, prescription, medical history |
| 🌿 Herbal Inventory |
stock in, restock, check inventory, low stock alert, dispense |
| 📅 Appointments |
appointment, schedule, today's appointments, booking |
| 💰 Finances & Billing |
charge, bill, billing, statistics, monthly report, financial report |
All data is stored as structured Excel files in the clinic_data/ directory.
When to Run
- User wants to register a new patient or look up patient information
- User needs to record or review medical charts or prescriptions
- User mentions herbal stock-in, inventory checks, or low-stock alerts
- User needs to manage appointments or view today's schedule
- User requests billing, charges, or income reports
- User initiates a "consultation" request (one-stop visit workflow)
- User requests "initialize clinic" (first-time setup)
Workflow
Decision Router
Route the user's intent to the corresponding module:
User Request
├── Patient-related? → Patient Management Module
│ ├── "new patient" / "register patient" → Create patient record
│ ├── "find patient" / "search patient" → Search by name/phone/ID
│ ├── "update patient" → Update patient record
│ └── "patient list" / "all patients" → Output patient summary
├── Medical chart-related? → Medical Records Module
│ ├── "write chart" / "new chart" → Add medical record (incl. four examinations, pattern differentiation, prescription)
│ ├── "view chart" / "medical history" → Query historical visit records by patient
│ └── "update chart" → Modify existing record
├── Herb-related? → Herbal Inventory Module
│ ├── "stock in" / "restock" / "purchase" → Add new herb or increase stock
│ ├── "check inventory" / "herb stock" → Query inventory status
│ ├── "low stock" / "out of stock" → Low-stock alert report
│ ├── "stock out" / "dispense" → Reduce stock
│ └── "stocktake" / "inventory check" → Generate inventory count sheet
├── Appointment-related? → Appointment Scheduling Module
│ ├── "appointment" / "booking" / "schedule" → Add appointment
│ ├── "today's appointments" / "today's patients" → View today's schedule
│ └── "change appointment" / "cancel appointment" → Modify appointment status
├── Finance-related? → Financial Module
│ ├── "charge" / "bill" / "fee" → Add financial record
│ ├── "check accounts" / "income" / "transactions" → Query financial records
│ ├── "statistics" / "report" / "monthly report" → Generate income statistics
│ └── "patient charges" / "outstanding balance" → Query patient charge summary
└── Combined request? → Multi-module Workflow
├── "consultation" → Appointment → Medical Chart → Billing (one-stop)
├── "clinic report" / "business analysis" → Comprehensive business data report
└── "today's summary" → Daily summary across all modules
Initialize New Clinic
On first use or when the user requests "initialize", execute:
python3 SKILL_DIR/scripts/clinic_manager.py init
This creates the clinic_data/ directory in the current working directory, containing 5 empty data tables (header rows only).
Script Invocation Convention
Use the bash tool to execute commands in the following format:
python3 SKILL_DIR/scripts/clinic_manager.py <module> <action> [options...]
SKILL_DIR must be replaced with the actual installation path of the Skill.
For example: ~/.codebuddy/skills/tcm-clinic or ~/.openclaw/workspace/skills/tcm-clinic
Common Commands
# Initialize
python3 SKILL_DIR/scripts/clinic_manager.py init
# Patient management
python3 SKILL_DIR/scripts/clinic_manager.py patients add --name "John Smith" --gender "Male" --phone "555-0100"
python3 SKILL_DIR/scripts/clinic_manager.py patients search --name "John"
python3 SKILL_DIR/scripts/clinic_manager.py patients list
# Medical records
python3 SKILL_DIR/scripts/clinic_manager.py records add --patient-id "P20260402001" --complaint "Headache for 3 days" --diagnosis "Wind-cold headache"
python3 SKILL_DIR/scripts/clinic_manager.py records search --patient-id "P20260402001"
# Herbal inventory
python3 SKILL_DIR/scripts/clinic_manager.py herbs add --name "Astragalus (Huangqi)" --quantity 500 --unit "g" --category "Qi tonic" --purchase-price 0.15 --min-stock 100
python3 SKILL_DIR/scripts/clinic_manager.py herbs update --herb-id "H001" --quantity -50
python3 SKILL_DIR/scripts/clinic_manager.py herbs alerts
python3 SKILL_DIR/scripts/clinic_manager.py herbs list
# Appointments
python3 SKILL_DIR/scripts/clinic_manager.py appointments add --patient-id "P20260402001" --time-slot "Morning"
python3 SKILL_DIR/scripts/clinic_manager.py appointments today
# Financial statistics
python3 SKILL_DIR/scripts/clinic_manager.py finance add --patient-id "P20260402001" --type "Consultation fee" --amount 50 --payment-method "WeChat Pay"
python3 SKILL_DIR/scripts/clinic_manager.py finance summary --period day
python3 SKILL_DIR/scripts/clinic_manager.py finance summary --period month --month 2026-04
Usage Strategy
- Simple queries and standard CRUD: Call script commands directly, parse JSON output
- Complex business logic (e.g., one-stop consultation, multi-module workflows): Combine conversational interaction with script commands; query data first, then process
- Report generation: Scripts provide basic statistics; further format as Markdown tables
Data Operation Principles
- Pre-use check: Confirm
clinic_data/ directory exists; if not, prompt user to initialize
- Create operations: Auto-generate IDs, validate required fields, append new rows
- Update operations: Locate target row by ID, update only specified fields
- Delete operations: Mark as "void" or "cancelled"; no physical deletion
- Linked updates: When adding a medical record, auto-update patient's
last_visit_date and visit_count
One-Stop Consultation Workflow
When the user initiates a "consultation" request, execute in order:
- Confirm or select patient (choose from existing patients or create new record)
- Review patient's historical medical chart summary (most recent diagnosis and prescription)
- Record current visit's four examination findings (inspection, auscultation/olfaction, inquiry, palpation), pattern differentiation, and prescription
- Calculate fees (consultation fee + herbal cost, etc.) and generate financial record
- If herbal prescription is involved, auto-deduct corresponding herb stock and check low-stock alerts
- Output complete summary of this consultation
ID Generation Rules
- Patient ID:
P + YYYYMMDD + 3-digit sequence (e.g., P20260402001)
- Record ID:
R + YYYYMMDD + 3-digit sequence
- Appointment ID:
A + YYYYMMDD + 3-digit sequence
- Finance ID:
F + YYYYMMDD + 3-digit sequence
- Herb ID:
H + 3-digit sequence (e.g., H001, no date prefix)
- Sequence number auto-increments from existing data
Data Field Reference
Before performing data operations, read references/data-schema.md for complete field definitions (field name, type, required/optional, value ranges).
Main data tables:
clinic_data/patients.xlsx — Patient information (name, gender, age, contact, constitution type, allergies, etc.)
clinic_data/medical_records.xlsx — Medical records (four examination findings, pattern differentiation, prescription, medical advice)
clinic_data/herbs_inventory.xlsx — Herbal inventory (herb name, specification, stock quantity, price, expiry date, minimum stock)
clinic_data/appointments.xlsx — Appointments (date, time slot, patient, status)
clinic_data/finances.xlsx — Financial records (visit ID, fee type, amount, payment method)
Output Format
- Query results displayed as Markdown tables with key data in bold
- Amounts precise to cents (e.g.,
$120.50 or ¥120.50)
- Dates in
YYYY-MM-DD format
- Low-stock alerts marked with ⚠️
- Successful operations marked with ✅
- Errors marked with ❌
- Use TCM professional terminology in conversation (Four Examinations, pattern differentiation, treatment principles and formulas)
Interaction Style
- Conversational yet professional
- When recording data, if user hasn't provided required fields, proactively ask for clarification
- Briefly confirm operation details before executing write operations
- Financial reports grouped by fee type and payment method, showing percentages
1---2name: tcm-clinic-en-53description: A full-featured management tool for solo Traditional Chinese Medicine (TCM) practitioners. Manages patient records, medical charts (Four Diagnostic Methods, pattern differentiation, prescriptions), herbal inventory (stock-in, stocktake, low-stock alerts), appointment scheduling, and financial bookkeeping with statistics. Data stored in Excel format. Use when: the user mentions patients, medical records, prescriptions, herbs, inventory, appointments, scheduling, billing, finances, clinic, consultation fees, or needs day-to-day clinic management. NOT for: academic TCM theory discussions, formula research, or herb pharmacology analysis.4---567### Dependency Source Review89This skill documents an optional compatibility dependency path for dataset validation, schema migration, and pipeline execution workflows. Treat `scripts/_setup_deps.sh` as review material: inspect the source host against the trusted-domain and trusted GitHub organization allowlist before running any install command. It is not required for ordinary pipeline, schema, or export requests.1011# TCM Clinic Management System1213## Overview1415This Skill provides lightweight, full-process management for a solo TCM (Traditional Chinese Medicine) practitioner, covering five modules:1617| Module | Trigger Words |18|--------|---------------|19| 🏥 Patient Records | new patient, register patient, find patient, search patient |20| 📋 Medical Charts | write chart, four examinations, pattern differentiation, prescription, medical history |21| 🌿 Herbal Inventory | stock in, restock, check inventory, low stock alert, dispense |22| 📅 Appointments | appointment, schedule, today's appointments, booking |23| 💰 Finances & Billing | charge, bill, billing, statistics, monthly report, financial report |2425All data is stored as structured Excel files in the `clinic_data/` directory.2627## When to Run2829- User wants to register a new patient or look up patient information30- User needs to record or review medical charts or prescriptions31- User mentions herbal stock-in, inventory checks, or low-stock alerts32- User needs to manage appointments or view today's schedule33- User requests billing, charges, or income reports34- User initiates a "consultation" request (one-stop visit workflow)35- User requests "initialize clinic" (first-time setup)3637## Workflow3839### Decision Router4041Route the user's intent to the corresponding module:4243```44User Request45├── Patient-related? → Patient Management Module46│ ├── "new patient" / "register patient" → Create patient record47│ ├── "find patient" / "search patient" → Search by name/phone/ID48│ ├── "update patient" → Update patient record49│ └── "patient list" / "all patients" → Output patient summary50├── Medical chart-related? → Medical Records Module51│ ├── "write chart" / "new chart" → Add medical record (incl. four examinations, pattern differentiation, prescription)52│ ├── "view chart" / "medical history" → Query historical visit records by patient53│ └── "update chart" → Modify existing record54├── Herb-related? → Herbal Inventory Module55│ ├── "stock in" / "restock" / "purchase" → Add new herb or increase stock56│ ├── "check inventory" / "herb stock" → Query inventory status57│ ├── "low stock" / "out of stock" → Low-stock alert report58│ ├── "stock out" / "dispense" → Reduce stock59│ └── "stocktake" / "inventory check" → Generate inventory count sheet60├── Appointment-related? → Appointment Scheduling Module61│ ├── "appointment" / "booking" / "schedule" → Add appointment62│ ├── "today's appointments" / "today's patients" → View today's schedule63│ └── "change appointment" / "cancel appointment" → Modify appointment status64├── Finance-related? → Financial Module65│ ├── "charge" / "bill" / "fee" → Add financial record66│ ├── "check accounts" / "income" / "transactions" → Query financial records67│ ├── "statistics" / "report" / "monthly report" → Generate income statistics68│ └── "patient charges" / "outstanding balance" → Query patient charge summary69└── Combined request? → Multi-module Workflow70 ├── "consultation" → Appointment → Medical Chart → Billing (one-stop)71 ├── "clinic report" / "business analysis" → Comprehensive business data report72 └── "today's summary" → Daily summary across all modules73```7475### Initialize New Clinic7677On first use or when the user requests "initialize", execute:7879```bash80python3 SKILL_DIR/scripts/clinic_manager.py init81```8283This creates the `clinic_data/` directory in the current working directory, containing 5 empty data tables (header rows only).8485### Script Invocation Convention8687Use the `bash` tool to execute commands in the following format:8889```bash90python3 SKILL_DIR/scripts/clinic_manager.py <module> <action> [options...]91```9293> **`SKILL_DIR`** must be replaced with the actual installation path of the Skill.94> For example: `~/.codebuddy/skills/tcm-clinic` or `~/.openclaw/workspace/skills/tcm-clinic`9596#### Common Commands9798```bash99# Initialize100python3 SKILL_DIR/scripts/clinic_manager.py init101102# Patient management103python3 SKILL_DIR/scripts/clinic_manager.py patients add --name "John Smith" --gender "Male" --phone "555-0100"104python3 SKILL_DIR/scripts/clinic_manager.py patients search --name "John"105python3 SKILL_DIR/scripts/clinic_manager.py patients list106107# Medical records108python3 SKILL_DIR/scripts/clinic_manager.py records add --patient-id "P20260402001" --complaint "Headache for 3 days" --diagnosis "Wind-cold headache"109python3 SKILL_DIR/scripts/clinic_manager.py records search --patient-id "P20260402001"110111# Herbal inventory112python3 SKILL_DIR/scripts/clinic_manager.py herbs add --name "Astragalus (Huangqi)" --quantity 500 --unit "g" --category "Qi tonic" --purchase-price 0.15 --min-stock 100113python3 SKILL_DIR/scripts/clinic_manager.py herbs update --herb-id "H001" --quantity -50114python3 SKILL_DIR/scripts/clinic_manager.py herbs alerts115python3 SKILL_DIR/scripts/clinic_manager.py herbs list116117# Appointments118python3 SKILL_DIR/scripts/clinic_manager.py appointments add --patient-id "P20260402001" --time-slot "Morning"119python3 SKILL_DIR/scripts/clinic_manager.py appointments today120121# Financial statistics122python3 SKILL_DIR/scripts/clinic_manager.py finance add --patient-id "P20260402001" --type "Consultation fee" --amount 50 --payment-method "WeChat Pay"123python3 SKILL_DIR/scripts/clinic_manager.py finance summary --period day124python3 SKILL_DIR/scripts/clinic_manager.py finance summary --period month --month 2026-04125```126127### Usage Strategy128129- **Simple queries and standard CRUD**: Call script commands directly, parse JSON output130- **Complex business logic** (e.g., one-stop consultation, multi-module workflows): Combine conversational interaction with script commands; query data first, then process131- **Report generation**: Scripts provide basic statistics; further format as Markdown tables132133### Data Operation Principles1341351. **Pre-use check**: Confirm `clinic_data/` directory exists; if not, prompt user to initialize1362. **Create operations**: Auto-generate IDs, validate required fields, append new rows1373. **Update operations**: Locate target row by ID, update only specified fields1384. **Delete operations**: Mark as "void" or "cancelled"; no physical deletion1395. **Linked updates**: When adding a medical record, auto-update patient's `last_visit_date` and `visit_count`140141### One-Stop Consultation Workflow142143When the user initiates a "consultation" request, execute in order:1441451. Confirm or select patient (choose from existing patients or create new record)1462. Review patient's historical medical chart summary (most recent diagnosis and prescription)1473. Record current visit's four examination findings (inspection, auscultation/olfaction, inquiry, palpation), pattern differentiation, and prescription1484. Calculate fees (consultation fee + herbal cost, etc.) and generate financial record1495. If herbal prescription is involved, auto-deduct corresponding herb stock and check low-stock alerts1506. Output complete summary of this consultation151152### ID Generation Rules153154- Patient ID: `P` + `YYYYMMDD` + 3-digit sequence (e.g., `P20260402001`)155- Record ID: `R` + `YYYYMMDD` + 3-digit sequence156- Appointment ID: `A` + `YYYYMMDD` + 3-digit sequence157- Finance ID: `F` + `YYYYMMDD` + 3-digit sequence158- Herb ID: `H` + 3-digit sequence (e.g., `H001`, no date prefix)159- Sequence number auto-increments from existing data160161## Data Field Reference162163Before performing data operations, read `references/data-schema.md` for complete field definitions (field name, type, required/optional, value ranges).164165Main data tables:166- `clinic_data/patients.xlsx` — Patient information (name, gender, age, contact, constitution type, allergies, etc.)167- `clinic_data/medical_records.xlsx` — Medical records (four examination findings, pattern differentiation, prescription, medical advice)168- `clinic_data/herbs_inventory.xlsx` — Herbal inventory (herb name, specification, stock quantity, price, expiry date, minimum stock)169- `clinic_data/appointments.xlsx` — Appointments (date, time slot, patient, status)170- `clinic_data/finances.xlsx` — Financial records (visit ID, fee type, amount, payment method)171172## Output Format173174- Query results displayed as Markdown tables with key data in **bold**175- Amounts precise to cents (e.g., `$120.50` or `¥120.50`)176- Dates in `YYYY-MM-DD` format177- Low-stock alerts marked with ⚠️178- Successful operations marked with ✅179- Errors marked with ❌180- Use TCM professional terminology in conversation (Four Examinations, pattern differentiation, treatment principles and formulas)181182## Interaction Style183184- Conversational yet professional185- When recording data, if user hasn't provided required fields, proactively ask for clarification186- Briefly confirm operation details before executing write operations187- Financial reports grouped by fee type and payment method, showing percentages