Agent skill

Automated Soap Note Generator

by LeoYeAI in LeoYeAI/openclaw-master-skills

Transform unstructured clinical input (dictation, transcripts, or rough notes) into standardized SOAP (Subjective, Objective, Assessment, Plan) medical documentation.

MITAuto-check: notesMedia & Creative

Install Automated Soap Note Generator

skills CLI
$ npx skills add LeoYeAI/openclaw-master-skills --skill automated-soap-note-generator -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install LeoYeAI/openclaw-master-skills automated-soap-note-generator --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/LeoYeAI/openclaw-master-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/automated-soap-note-generator .claude/skills/automated-soap-note-generator && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
automated-soap-note-generator
GitHub stars
2.2k
Token cost
~6.2k tokens
SKILL.md length
2,102 words
Files
7 (incl. scripts, references)
Skills in repo
1,235
Repo updated
First seen
Licence
MIT

At a glance

Transform unstructured clinical input (dictation, transcripts, or rough notes) into standardized SOAP (Subjective, Objective, Assessment, Plan) medical documentation.

  • Works in 6 steps: Input Processing and Preprocessing → Medical Named Entity Recognition (NER) → SOAP Section Classification → …
  • Tasks that involve Transcription
  • SKILL.md covers Overview, When to Use, Integration with Other Skills and Core Capabilities, plus 16 more sections
  • Runs Python scripts from its folder; calls python

What it does

Automated Soap Note Generator is an agent skill from LeoYeAI/openclaw-master-skills. Transform unstructured clinical input (dictation, transcripts, or rough notes) into standardized SOAP (Subjective, Objective, Assessment, Plan) medical documentation. Use ONLY for initial documentation draft generation; ALL output requires physician review before entering patient records. Not for complex cases requiring nuanced clinical reasoning.

Its SKILL.md is about 6.2k tokens, which your agent loads only when the skill is triggered. The skill folder holds 8 other files, including scripts and reference files (for example `_meta.json`, `references/clinical_guidelines.md` and `references/medical_terminology.md`).

It sits in Media & Creative, covering Transcription and Clinical and healthcare research. The repository describes itself as: 🧠 Curated collection of 1209+ best OpenClaw skills — weekly updated by MyClaw.ai. The licence is MIT.

When your agent uses it

  • Tasks that involve Transcription
  • Tasks that involve Clinical and healthcare research

Example prompts

  • “/automated-soap-note-generator”

Requirements

  • Python 3
  • Pre-approved tools (allowed-tools): Read, Write, Bash, Edit

Workflow steps

6 steps, taken from the step headings in SKILL.md.

  1. Input Processing and Preprocessing
  2. Medical Named Entity Recognition (NER)
  3. SOAP Section Classification
  4. Temporal Information Extraction
  5. Negation and Uncertainty Detection
  6. Structured SOAP Generation

What it can do on your machine

Read from SKILL.md and the folder at commit e5199b5. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves these tools, so the agent can use them without asking each time:

    • Read
    • Write
    • Bash
    • Edit

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships 1 file in scripts/ (Python), which the agent can run.

    Shell commands in SKILL.md call:

    • python

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Automated Soap Note Generator loads about 6.2k tokens when it runs, and up to ~9.6k if it reads all its reference files. Until then it costs about 95 tokens; SKILL.md has 2,102 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~95
When it runs · the whole SKILL.md, loaded when a task matches
~6.2k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~9.6k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check: notes

The automated check noted patterns worth knowing about, such as sudo or a known installer.

  • NotePre-approves every shell command (allowed-tools: Bash)SKILL.md
    allowed-tools: Read, Write, Bash, Edit

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.

SKILL.md

The full file from LeoYeAI/openclaw-master-skills at commit e5199b5, republished under its MIT licence (© LeoYeAI). 2,102 words, ~6,218 tokens.

Download SKILL.mdSave it as .claude/skills/automated-soap-note-generator/SKILL.md (or your agent's skills folder). This skill also uses 6 other files; get the full folder from GitHub.
name
automated-soap-note-generator
description
Transform unstructured clinical input (dictation, transcripts, or rough notes) into standardized SOAP (Subjective, Objective, Assessment, Plan) medical documentation. Use ONLY for initial documentation draft generation; ALL output requires physician review before entering patient records. Not for complex cases requiring nuanced clinical reasoning.
allowed-tools
Read, Write, Bash, Edit
license
MIT
metadata.skill-author
AIPOCH

Automated SOAP Note Generator

Overview

AI-powered clinical documentation tool that converts unstructured clinical input into professionally formatted SOAP notes compliant with medical documentation standards.

Key Capabilities:

  • Intelligent Parsing: Extracts structured information from free-text clinical narratives
  • SOAP Classification: Automatically categorizes content into Subjective, Objective, Assessment, Plan sections
  • Medical Entity Recognition: Identifies symptoms, diagnoses, medications, procedures, and anatomical locations
  • Temporal Analysis: Extracts timeline information (onset, duration, progression)
  • Template Generation: Produces standardized SOAP format suitable for EHR integration
  • Multi-modal Input: Accepts text dictation, transcripts, or clinical notes

When to Use

✅ Use this skill when:

  • Converting physician dictation into structured SOAP format for efficiency
  • Processing audio-to-text transcripts from patient encounters
  • Transforming consultation rough notes into formal documentation
  • Generating initial draft documentation to reduce administrative burden
  • Standardizing clinical encounter summaries for consistency
  • Creating preliminary notes for routine follow-up visits

❌ Do NOT use when:

  • Input contains PHI that hasn't been de-identified for testing/training
  • Complex psychiatric cases requiring nuanced mental status documentation → Use specialized psychiatric documentation tools
  • Surgical procedures requiring operative report detail → Use operative-report-generator
  • Patient requires nuanced clinical reasoning beyond text extraction
  • Legal or forensic documentation requiring exact transcription → Use verbatim transcription services
  • Critical care situations requiring real-time precise documentation
  • Cases requiring differential diagnosis prioritization without physician input

⚠️ ALWAYS Required:

  • Physician review and approval before entering into patient record
  • Verification of medical facts and clinical accuracy
  • Confirmation of medication names, dosages, and instructions

Integration with Other Skills

Upstream Skills:

  • medical-scribe-dictation: Convert physician verbal dictation to text input
  • ehr-semantic-compressor: Summarize lengthy EHR notes for SOAP generation
  • dicom-anonymizer: Prepare imaging reports for SOAP inclusion
  • audio-script-writer: Convert audio recordings to text format

Downstream Skills:

  • medical-email-polisher: Professional communication of SOAP summaries to patients
  • clinical-data-cleaner: Standardize extracted data for research databases
  • hipaa-compliance-auditor: Verify de-identification before sharing documentation
  • discharge-summary-writer: Generate discharge summaries from SOAP encounters
  • referral-letter-generator: Create referral letters based on Assessment and Plan sections

Complete Workflow:

Medical Scribe Dictation (audio→text) → 
  Automated SOAP Note Generator (this skill) → 
    Physician Review → 
      EHR Entry / 
      Medical Email Polisher (patient communication) / 
      Referral Letter Generator (referrals)

Core Capabilities

1. Input Processing and Preprocessing

Handle various input formats and prepare for NLP analysis:

python
from scripts.soap_generator import SOAPNoteGenerator

generator = SOAPNoteGenerator()

# Process text input
soap_note = generator.generate(
    input_text="Patient presents with 2-day history of chest pain, radiating to left arm...",
    patient_id="P12345",
    encounter_date="2026-01-15",
    provider="Dr. Smith"
)

# Process from audio transcript
soap_note = generator.generate_from_transcript(
    transcript_path="consultation_transcript.txt",
    patient_id="P12345"
)

Input Preprocessing Steps:

  1. Text Cleaning: Remove filler words ("um", "uh"), timestamps, speaker labels
  2. Sentence Segmentation: Split into clinically meaningful segments
  3. Normalization: Standardize abbreviations and medical shorthand
  4. Encoding Detection: Handle various file formats (UTF-8, ASCII, etc.)

Parameters:

ParameterTypeRequiredDescriptionDefault
input_textstrYes*Raw clinical text or dictationNone
transcript_pathstrYes*Path to transcript fileNone
patient_idstrNoPatient identifier (MUST be de-identified for testing)None
encounter_datestrNoDate in ISO 8601 format (YYYY-MM-DD)Current date
providerstrNoHealthcare provider nameNone
specialtystrNoMedical specialty context"general"
verboseboolNoInclude confidence scoresFalse

*Either input_text or transcript_path required

Best Practices:

  • Always verify input text quality (clear audio → better transcription → better SOAP)
  • Remove patient identifiers before processing unless in secure environment
  • Split long encounters (>30 minutes) into logical segments
  • Flag ambiguous abbreviations for manual review
2. Medical Named Entity Recognition (NER)

Identify and extract medical concepts from unstructured text:

python
# Extract entities with context
entities = generator.extract_medical_entities(
    "Patient has history of hypertension and diabetes, 
     currently taking lisinopril 10mg daily and metformin 500mg BID"
)

# Returns structured entities:
# {
#   "diagnoses": ["hypertension", "diabetes mellitus"],
#   "medications": [
#     {"name": "lisinopril", "dose": "10mg", "frequency": "daily"},
#     {"name": "metformin", "dose": "500mg", "frequency": "BID"}
#   ]
# }

Entity Types Recognized:

CategoryExamplesNotes
Diagnosesdiabetes, hypertension, pneumoniaICD-10 compatible where possible
Symptomschest pain, headache, nauseaIncludes severity modifiers
Medicationsmetformin, lisinopril, aspirinExtracts dose, route, frequency
ProceduresECG, CT scan, blood drawIncludes body site
Anatomyleft arm, chest, abdomenLaterality and location
Lab Valuesglucose 120, BP 140/90Units and reference ranges
Temporalyesterday, 3 days ago, chronicNormalized to relative dates

Common Issues and Solutions:

Issue: Missed medications

  • Symptom: Generic names not recognized (e.g., "water pill" for diuretic)
  • Solution: Manual review required; tool flags colloquial terms for verification

Issue: Ambiguous abbreviations

  • Symptom: "SOB" could be shortness of breath or something else
  • Solution: Context-aware disambiguation; flag uncertain cases

Issue: Misspelled drug names

  • Symptom: "metfomin" instead of "metformin"
  • Solution: Fuzzy matching with confidence threshold; flag low-confidence matches
3. SOAP Section Classification

Automatically categorize sentences into appropriate SOAP sections:

python
# Classify content into SOAP sections
classified = generator.classify_soap_sections(
    "Patient reports chest pain for 2 days. Physical exam shows BP 140/90. 
     Likely angina. Schedule stress test and start aspirin 81mg daily."
)

# Output structure:
# {
#   "Subjective": ["Patient reports chest pain for 2 days"],
#   "Objective": ["Physical exam shows BP 140/90"],
#   "Assessment": ["Likely angina"],
#   "Plan": ["Schedule stress test", "start aspirin 81mg daily"]
# }

Classification Rules:

SectionContent TypeExamples
S - SubjectivePatient-reported information"Patient states...", "Patient reports...", "Complains of..."
O - ObjectiveObservable/measurable findingsVital signs, physical exam, lab results, imaging
A - AssessmentClinical interpretationDiagnosis, differential, clinical impression
P - PlanActions to be takenMedications, procedures, follow-up, patient education

Multi-label Handling: Some sentences span multiple sections (e.g., "Patient reports chest pain [S], which was sharp and 8/10 [S], with ECG showing ST elevation [O]")

  • Tool splits compound sentences at conjunctions
  • Assigns primary and secondary labels with confidence scores

Best Practices:

  • Review classification accuracy, especially for complex multi-part statements
  • Manually verify Assessment section (most critical for patient care)
  • Ensure temporal context preserved (recent vs. chronic symptoms)
4. Temporal Information Extraction

Parse and normalize timeline information:

python
# Extract temporal relationships
timeline = generator.extract_temporal_info(
    "Patient had chest pain starting 3 days ago, worsening since yesterday. 
     Had similar episode 2 months ago that resolved with rest."
)

# Returns:
# {
#   "onset": "3 days ago",
#   "progression": "worsening",
#   "previous_episodes": [
#     {"time": "2 months ago", "resolution": "with rest"}
#   ]
# }

Temporal Elements Extracted:

  • Onset: When symptoms started ("2 days ago", "this morning")
  • Duration: How long symptoms lasted ("for 3 hours", "ongoing")
  • Frequency: How often symptoms occur ("daily", "intermittently")
  • Progression: Getting better/worse/stable
  • Prior Episodes: Previous similar events
  • Context: "before meals", "with exertion", "at night"

Normalization: Converts relative dates to standardized format:

  • "yesterday" → Encounter date minus 1 day
  • "3 days ago" → Specific date calculated
  • "chronic" → Flagged for chronic condition tracking
5. Negation and Uncertainty Detection

Critical for accurate medical documentation:

python
# Detect negations and uncertainties
analysis = generator.analyze_certainty(
    "Patient denies chest pain. No shortness of breath. 
     Possibly had fever yesterday but not sure."
)

# Identifies:
# - "denies chest pain" → Negative finding (important!)
# - "No shortness of breath" → Negative finding
# - "Possibly had fever" → Uncertain finding (flag for verification)

Detection Categories:

TypeCuesAction
Negationdenies, no, without, absentMark as negative finding
Uncertaintypossibly, maybe, uncertain, ?Flag for physician review
Hypotheticalif, would, couldNote as conditional
Family Historyfamily history of, mother hadSeparate from patient findings

⚠️ Critical: Negation errors are high-risk (e.g., missing "denies" → documenting symptom they don't have)

  • Always verify negative findings in Subjective section
  • Uncertain findings must be explicitly marked for review
6. Structured SOAP Generation

Produce final formatted output:

python
# Generate complete SOAP note
soap_output = generator.generate_soap_document(
    structured_data=classified,
    format="markdown",  # Options: markdown, json, hl7, text
    include_metadata=True
)

Output Format:

markdown
# SOAP Note

**Patient ID:** P12345  
**Date:** 2026-01-15  
**Provider:** Dr. Smith

## Subjective
Patient reports [extracted symptoms with duration]. History of [chronic conditions]. 
Currently taking [medications]. Patient denies [negative findings].

## Objective
**Vital Signs:** [BP, HR, RR, Temp, O2Sat]  
**Physical Examination:** [Exam findings by system]  
**Laboratory/Data:** [Relevant results]

## Assessment
[Primary diagnosis/differential]  
[Clinical reasoning summary]

## Plan
1. [Action item 1]
2. [Action item 2]
3. [Follow-up instructions]

---
*Generated by AI. REQUIRES PHYSICIAN REVIEW before entry into patient record.*

Export Formats:

FormatUse CaseNotes
MarkdownHuman review, documentationDefault, readable
JSONSystem integration, researchStructured data
HL7 FHIREHR integrationHealthcare standard
Plain TextSimple documentationMinimal formatting
CSVData analysis, researchTabular data export

Complete Workflow Example

From audio dictation to reviewed SOAP note:

bash
# Step 1: Process audio to text (using medical-scribe-dictation or external)
# Assuming you have transcript: consultation.txt

# Step 2: Generate SOAP note
python scripts/main.py \
  --input-file consultation.txt \
  --patient-id P12345 \
  --provider "Dr. Smith" \
  --specialty "cardiology" \
  --output soap_draft.md \
  --format markdown

# Step 3: Review output
# - Open soap_draft.md
# - Verify medical accuracy
# - Correct any errors
# - Add missing clinical reasoning

# Step 4: Finalize (after physician approval)
# - Copy approved content to EHR
# - Or use for patient communication

Python API Usage:

python
from scripts.soap_generator import SOAPNoteGenerator
from scripts.post_processor import ReviewFormatter

# Initialize
generator = SOAPNoteGenerator()
reviewer = ReviewFormatter()

# Generate draft
with open("dictation.txt", "r") as f:
    raw_text = f.read()

draft = generator.generate(
    input_text=raw_text,
    patient_id="P12345",
    encounter_date="2026-01-15",
    provider="Dr. Smith",
    specialty="internal_medicine"
)

# Add physician review markers
marked_draft = reviewer.add_review_markers(draft)

# Save with warning header
reviewer.save_with_disclaimer(
    marked_draft, 
    output_path="soap_draft_review.md",
    disclaimer="REQUIRES PHYSICIAN REVIEW - NOT FOR DIRECT ENTRY"
)

Expected Output Files:

output/
├── soap_draft.md              # Generated SOAP note
├── entities_extracted.json     # Structured medical entities
├── classification_report.txt   # Confidence scores for each section
└── review_checklist.md         # Items requiring manual verification

Quality Checklist

Pre-generation Checks:

  • Input text is legible (not garbled transcription)
  • Audio quality was sufficient (if from dictation)
  • Patient identifiers handled per HIPAA guidelines
  • No obvious transcription errors (medication names make sense)

During Generation:

  • All medications recognized and dosages extracted
  • Temporal information correctly normalized
  • Negations properly detected (denies = negative finding)
  • Uncertain statements flagged for review
  • SOAP sections logically organized

Post-generation Review (PHYSICIAN MUST CHECK):

  • CRITICAL: Medical facts are accurate
  • CRITICAL: Medication names, dosages, and frequencies correct
  • CRITICAL: Assessment section reflects clinical reasoning
  • Allergies correctly documented
  • Vital signs accurately transcribed
  • Physical exam findings complete
  • Plan includes all necessary actions
  • Follow-up instructions clear and appropriate
  • No fabricated information (hallucinations)

Before EHR Entry:

  • Physician has reviewed and approved
  • Corrections made as needed
  • Signed/attested by responsible provider
  • Metadata complete (date, provider, encounter type)

Common Pitfalls

Input Quality Issues:

  • ❌ Poor audio quality (background noise, mumbling) → Garbled transcription → Inaccurate SOAP

    • ✅ Ensure quiet environment for dictation; use high-quality microphone
  • ❌ Incomplete dictation (provider trails off, changes subject) → Missing information

    • ✅ Dictate in complete sentences; pause between distinct thoughts
  • ❌ Heavy accents or fast speech → Transcription errors

    • ✅ Speak clearly; review transcription immediately if possible

Medical Accuracy Issues:

  • ❌ Medication name confusion ("Lipitor" vs "lipid lowerer") → Wrong drug documented

    • ✅ Always verify medication names; use generic names when possible
  • ❌ Missed negations ("denies chest pain" → "has chest pain") → Critical error

    • ✅ Carefully review Subjective section for negative findings
  • ❌ Temporal confusion ("pain since yesterday" vs "pain until yesterday") → Wrong timeline

    • ✅ Verify onset, duration, and progression with patient
  • ❌ Uncertain findings documented as certain ("possibly pneumonia" → "pneumonia")

    • ✅ Flag all uncertain language for clarification

Documentation Issues:

  • ❌ Hallucinated information (AI adds details not in input) → False documentation

    • ✅ Compare output directly with source material
  • ❌ Missing context ("continue meds" without specifying which ones)

    • ✅ Ensure plan is specific and actionable
  • ❌ Generic assessments ("patient is stable" without specifics)

    • ✅ Add clinical reasoning to Assessment section

Compliance Issues:

  • ❌ Entering AI-generated text without review → Legal/medical liability

    • ✅ NEVER enter into patient record without physician approval
  • ❌ Including PHI in unsecured processing → HIPAA violation

    • ✅ Use only in HIPAA-compliant environments

Process Issues:

  • ❌ Not saving original input → Cannot verify if questions arise

    • ✅ Retain original dictation/transcript
  • ❌ No audit trail → Cannot track AI involvement

    • ✅ Document that SOAP was AI-assisted in metadata
Show full SKILL.md (793 more words)Show less

Troubleshooting

Problem: Poor entity recognition

  • Symptoms: Medications or diagnoses not detected
  • Causes: Specialized terminology, misspellings, rare conditions
  • Solutions:
    • Use generic drug names when possible
    • Check references/medical_terminology.md for supported terms
    • Manually add missing entities during review

Problem: Wrong SOAP classification

  • Symptoms: Physical exam findings in Subjective; symptoms in Objective
  • Causes: Ambiguous phrasing ("Patient appears in pain")
  • Solutions:
    • Rephrase input for clarity ("Patient reports pain level 8/10")
    • Manually move sentences to correct sections
    • Check classification confidence scores

Problem: Missing temporal information

  • Symptoms: All events seem to happen "now"
  • Causes: Unclear time references ("recently", "a while ago")
  • Solutions:
    • Use specific dates or durations in dictation
    • Manually add timeline during review
    • Ask patient for clarification on timing

Problem: Inappropriate certainty level

  • Symptoms: "Possibly" removed; "definitely" added
  • Causes: AI over-confident in uncertain situations
  • Solutions:
    • Preserve physician's uncertainty language
    • Add qualifiers back during review
    • Flag all diagnostic statements for verification

Problem: Formatting errors in output

  • Symptoms: Garbled text, wrong encoding, missing sections
  • Causes: Special characters, non-ASCII text, file encoding issues
  • Solutions:
    • Save input as UTF-8
    • Avoid special symbols in medication names
    • Check output file encoding

Problem: Processing fails or hangs

  • Symptoms: Script crashes, timeout errors
  • Causes: Very long input (>5000 words), complex nested clauses
  • Solutions:
    • Split very long encounters into sections
    • Simplify complex sentences
    • Increase timeout limit for large inputs

References

Available in references/ directory:

  • clinical_guidelines.md - Standards for medical documentation
  • sample_soap_notes.md - Example SOAP notes by specialty
  • medical_terminology.md - Supported medical terms and abbreviations
  • nlp_pipeline_documentation.md - Technical details of NLP processing
  • hipaa_compliance_guide.md - Guidelines for safe handling of PHI
  • specialty_specific_templates.md - Templates for cardiology, orthopedics, etc.

Scripts

Located in scripts/ directory:

  • main.py - CLI interface for SOAP generation
  • soap_generator.py - Core SOAP generation logic
  • entity_extractor.py - Medical NER module
  • soap_classifier.py - Section classification engine
  • temporal_parser.py - Timeline extraction
  • negation_detector.py - Negation and uncertainty detection
  • post_processor.py - Output formatting and review markers
  • batch_processor.py - Process multiple encounters
  • validator.py - Quality checks and compliance validation

Performance and Resources

Typical Processing Time:

  • Short encounter (<5 min dictation): 10-15 seconds
  • Standard visit (10-15 min): 30-45 seconds
  • Complex case (30+ min): 1-2 minutes

System Requirements:

  • RAM: 4 GB minimum, 8 GB recommended for large batches
  • Storage: ~500 MB for models and dependencies
  • CPU: Multi-core processor recommended for batch processing
  • GPU: Not required but speeds up NLP processing if available

Supported Input Sizes:

  • Text: Up to 10,000 words per encounter
  • File: Up to 10 MB text files
  • Audio transcript: Up to 2 hours of clinical encounter

Limitations

  • Not a diagnostic tool: Cannot make medical decisions or diagnoses
  • Specialty coverage: Best performance in internal medicine, family practice; variable in highly specialized fields
  • Language: Optimized for English; limited support for other languages
  • Context window: May lose context in very long, complex encounters
  • Ambiguity: Struggles with highly ambiguous or contradictory input
  • Rare conditions: May not recognize very rare diseases or new medications
  • Non-verbal cues: Cannot interpret tone, emphasis, or non-verbal information from audio
  • FDA Status: This tool is NOT FDA-approved as a medical device
  • HIPAA Compliance: Must be used in HIPAA-compliant environment
  • Liability: User (physician/healthcare provider) retains full responsibility for final documentation
  • Documentation: Must disclose AI assistance in medical record per institutional policy
  • Malpractice: AI-generated content does not replace clinical judgment

Version History

  • v1.0.0 (Current): Initial release with core SOAP generation capabilities
  • Planned: Enhanced specialty-specific models, multi-language support, EHR direct integration

Parameters

ParameterTypeDefaultRequiredDescription
--input, -istring-NoInput clinical text directly
--input-file, -fstring-NoPath to input text file
--output, -ostring-NoOutput file path
--patient-id, -pstring-NoPatient identifier
--providerstring-NoHealthcare provider name
--formatstringmarkdownNoOutput format (markdown, json)

Usage

Basic Usage
bash
# Generate SOAP from text
python scripts/main.py --input "Patient reports chest pain..." --output note.md

# From file
python scripts/main.py --input-file consultation.txt --patient-id P12345 --provider "Dr. Smith"

# JSON output
python scripts/main.py --input-file notes.txt --format json --output note.json

Risk Assessment

Risk IndicatorAssessmentLevel
Code ExecutionPython script executed locallyMedium
Network AccessNo external API callsLow
File System AccessRead input files, write output filesLow
Data ExposureMay process PHI (Protected Health Information)High
HIPAA ComplianceMust be used in compliant environmentHigh

Security Checklist

  • No hardcoded credentials or API keys
  • No unauthorized file system access
  • Output does not contain hardcoded PHI
  • Prompt injection protections in place
  • Input validation for file paths
  • Error messages sanitized
  • CRITICAL: HIPAA compliance required for PHI

Prerequisites

bash
# Python 3.7+
# No external packages required (uses standard library)

Evaluation Criteria

Success Metrics
  • Successfully parses unstructured clinical text
  • Correctly categorizes into SOAP sections
  • Extracts medical entities (symptoms, diagnoses, medications)
  • Generates properly formatted output
Test Cases
  1. Text Input: Clinical text → Properly formatted SOAP note
  2. File Input: Text file → Complete SOAP note with metadata
  3. JSON Output: Text input → Valid JSON with all fields

Lifecycle Status

  • Current Stage: Draft
  • Next Review Date: 2026-03-06
  • Known Issues: None
  • Planned Improvements:
    • Enhanced entity recognition
    • Specialty-specific templates
    • EHR integration support

⚠️ CRITICAL REMINDER: All AI-generated SOAP notes REQUIRE physician review and approval before entry into patient records. This tool assists documentation but does not replace clinical judgment or medical decision-making.

© LeoYeAI, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 6 other files (scripts, references) in skills/automated-soap-note-generator of LeoYeAI/openclaw-master-skills.

  • SKILL.md
  • _meta.json
  • references/clinical_guidelines.md
  • references/medical_terminology.md
  • references/sample_soap_notes.md
  • requirements.txt
  • scripts/main.py

Open the folder on GitHubat commit e5199b5

Compare with similar skills

Automated Soap Note Generator next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Automated Soap Note Generator compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Automated Soap Note Generator this skillLeoYeAI/openclaw-master-skills2.2k—~6.2kAutomated safety check: NotesMIT
Bio Chipseq Super EnhancersGPTomics/bioSkills1.2k2 repos~4.1kAutomated safety check: PassMIT
Bio Chipseq Super EnhancersFreedomIntelligence/OpenClaw-Medical-Skills3.1k—~2.1kAutomated safety check: PassNone
Bio Chipseq Peak CallingFreedomIntelligence/OpenClaw-Medical-Skills3.1k—~2kAutomated safety check: PassNone
Alphagenome Single Variant Analysisgoogle-deepmind/science-skills3.2k2 repos~3kAutomated safety check: NotesApache-2.0
Video Translatorshang-zhu/violin1.1k—~1kAutomated safety check: NotesMIT

Similar skills

  • Bio Chipseq Super Enhancers

    GPTomics/bioSkills

    Identifies super-enhancers from H3K27ac, MED1, or BRD4 ChIP-seq using ROSE, ROSE2, LILY, HOMER -style super, and ENCODE dELS cross-referencing.

    1.2k GitHub starsUsed in 2 repos~4.1k tokens
    Media & CreativeAuto-check passed
  • Bio Chipseq Super Enhancers

    FreedomIntelligence/OpenClaw-Medical-Skills

    Identifies super-enhancers from H3K27ac ChIP-seq data using ROSE and related tools.

    3.1k GitHub stars~2.1k tokensUpdated 2 mo ago
    Media & CreativeAuto-check passed
  • Bio Chipseq Peak Calling

    FreedomIntelligence/OpenClaw-Medical-Skills

    ChIP-seq peak calling using MACS3 (or MACS2). An agent skill from FreedomIntelligence/OpenClaw-Medical-Skills.

    3.1k GitHub stars~2k tokensUpdated 2 mo ago
    Media & CreativeAuto-check passed
  • Alphagenome Single Variant Analysis

    google-deepmind/science-skills

    Analyzes genetic variant effects on gene expression (RNA-seq), chromatin accessibility (DNASE), histone marks (ChIP), and transcription factors using the AlphaGenome API.

    3.2k GitHub starsUsed in 2 repos~3k tokens
    Research & ScienceAuto-check: notes
  • Video Translator

    shang-zhu/violin

    Dub a video into another language and generate subtitles using the default Together + Cartesia stack.

    1.1k GitHub stars~1k tokensUpdated 1 mo ago
    Media & CreativeAuto-check: notes
  • Douyin Transcribe

    chubbyguan/chubbyskills

    抖音视频 → 下载 → 转录 → 存为 Markdown 的完整工作流. An agent skill from chubbyguan/chubbyskills.

    1.2k GitHub stars~551 tokensUpdated 2 days ago
    Media & CreativeAuto-check: notes

More from LeoYeAI/openclaw-master-skills

All 1,235 skills in this repo
  • DevOps Pipeline Management

    LeoYeAI/openclaw-master-skills

    Manages pipelines on a DevOps quality and efficiency platform through its OpenAPI: list workspaces and templates, create, update, run and cancel pipelines, and read run records.

    2.2k GitHub stars~4.2k tokensUpdated 2 mo ago
    Auto-check: notes
  • Feishu Document Collaboration

    LeoYeAI/openclaw-master-skills

    Patches OpenClaw's Feishu extension so an edited document triggers an isolated agent session that reads the doc and replies inline, turning it into a live chat space.

    2.2k GitHub stars~2k tokensUpdated 2 mo ago
    Auto-check passed
  • Files Memory System

    LeoYeAI/openclaw-master-skills

    Multi-context memory management system for OpenClaw agents with group-isolated storage, global shared memory, workspace organization, and group-specific skills isolation.

    2.2k GitHub stars~3.8k tokensUpdated 2 mo ago
    Auto-check passed
  • GEO-Claw AI Visibility Agent

    LeoYeAI/openclaw-master-skills

    Runs a brand's AI-search visibility work end to end: diagnosing how AI platforms represent it, repositioning it, producing AI-optimized content and monitoring ongoing mentions.

    2.2k GitHub stars~4.7k tokensUpdated 2 mo ago
    Auto-check passed
  • Google Workspace CLI

    LeoYeAI/openclaw-master-skills

    Installs and authenticates the gws CLI, then automates Gmail, Drive, Sheets, Calendar, Docs, Chat and Tasks with ready-made recipes, persona bundles and security audits.

    2.2k GitHub stars~2.6k tokensUpdated 2 mo ago
    Auto-check: notes
  • HealthFit Health Advisors

    LeoYeAI/openclaw-master-skills

    Runs four advisor roles, a fitness coach, nutritionist, data analyst and TCM practitioner, to build a health profile and track workouts, diet and wellness over time.

    2.2k GitHub stars~4.4k tokensUpdated 2 mo ago
    Auto-check passed

Questions about Automated Soap Note Generator

What does Automated Soap Note Generator do?

Transform unstructured clinical input (dictation, transcripts, or rough notes) into standardized SOAP (Subjective, Objective, Assessment, Plan) medical documentation. Automated Soap Note Generator is an agent skill from LeoYeAI/openclaw-master-skills. Transform unstructured clinical input (dictation, transcripts, or rough notes) into standardized SOAP (Subjective, Objective, Assessment, Plan) medical documentation.

When should I use Automated Soap Note Generator?

Automated Soap Note Generator fits situations like: tasks that involve Transcription; tasks that involve Clinical and healthcare research.

How do I install Automated Soap Note Generator in Claude Code?

Run `npx skills add LeoYeAI/openclaw-master-skills --skill automated-soap-note-generator -a claude-code`. Or copy the skill folder (skills/automated-soap-note-generator in LeoYeAI/openclaw-master-skills) into .claude/skills/automated-soap-note-generator in your project. Claude Code loads it when a task matches its description.

How do I install Automated Soap Note Generator in Codex?

Run `npx skills add LeoYeAI/openclaw-master-skills --skill automated-soap-note-generator -a codex`. Or copy the skill folder (skills/automated-soap-note-generator in LeoYeAI/openclaw-master-skills) into .agents/skills/automated-soap-note-generator in your project. Codex loads it when a task matches its description.

Can I use Automated Soap Note Generator in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add LeoYeAI/openclaw-master-skills --skill automated-soap-note-generator -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/automated-soap-note-generator, .gemini/skills/automated-soap-note-generator, .github/skills/automated-soap-note-generator and .opencode/skills/automated-soap-note-generator in your project.

What does Automated Soap Note Generator need to run?

Going by SKILL.md and its folder, Automated Soap Note Generator needs Python for the scripts in its folder and the command-line tools its instructions call (python). Our summary lists: Python 3. Its frontmatter pre-approves these tools: Read, Write, Bash, Edit.

Does Automated Soap Note Generator access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Automated Soap Note Generator safe to install?

Our automated static check of SKILL.md found notes only (pre-approves every shell command (allowed-tools: bash)), nothing it rates as a warning. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does Automated Soap Note Generator use?

Automated Soap Note Generator is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Automated Soap Note Generator use?

About 6.2k tokens (SKILL.md is roughly 25k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 3.4k tokens, read only when the agent opens those files.

What are the alternatives to Automated Soap Note Generator?

Skills that share tags, products or a category with Automated Soap Note Generator: Bio Chipseq Super Enhancers (GPTomics/bioSkills, 1.2k stars), Bio Chipseq Super Enhancers (FreedomIntelligence/OpenClaw-Medical-Skills, 3.1k stars), Bio Chipseq Peak Calling (FreedomIntelligence/OpenClaw-Medical-Skills, 3.1k stars) and Alphagenome Single Variant Analysis (google-deepmind/science-skills, 3.2k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Automated Soap Note Generator?

LeoYeAI (a GitHub user) maintains it in LeoYeAI/openclaw-master-skills, which has 2,161 GitHub stars. The repository holds 1,235 skills in this directory. The repository was last updated on July 20, 2026.

Source: LeoYeAI/openclaw-master-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.