⚠️ EXPERIMENTAL — This skill is provided for educational and informational purposes only. It does NOT constitute legal advice. All responsibility for usage rests with the user. Consult qualified legal professionals before acting on any output.
Legal Canned Responses Skill
Overview
Production-ready toolkit for generating templated responses to common legal inquiries with built-in escalation detection. Covers 7 response categories with multiple sub-types each, plus a universal and category-specific escalation trigger system. Designed for legal operations teams handling high volumes of recurring inquiries while ensuring critical matters are routed to counsel.
Table of Contents
Tools
1. Response Generator (scripts/response_generator.py)
Generate formatted legal responses from templates with variable substitution and escalation detection.
python scripts/response_generator.py \
--category dsr --sub-type acknowledgment \
--var requestor_name="Jane Doe" \
--var request_type="access" \
--var request_date="2026-04-10"
python scripts/response_generator.py \
--category nda --sub-type standard-form \
--var counterparty="Acme Corp" \
--var purpose="due diligence" --json
python scripts/response_generator.py \
--category discovery --sub-type initial-notice \
--var matter_name="Smith v. Corp" \
--var custodians="Engineering,Sales"
2. Escalation Detector (scripts/escalation_detector.py)
Analyze inquiry text for escalation triggers and recommend routing.
python scripts/escalation_detector.py \
--text "We received a subpoena from the DOJ regarding our pricing practices"
python scripts/escalation_detector.py \
--text "A reporter from the Wall Street Journal is asking about our data practices" --json
python scripts/escalation_detector.py \
--category vendor \
--text "The vendor is threatening litigation over the contract dispute"
Reference Guides
| Reference |
Purpose |
references/response_templates.md |
Complete templates for all 7 categories with sub-types |
references/escalation_triggers.md |
Universal and category-specific escalation triggers |
Workflows
Template Lifecycle
- Creation -- Draft response template for identified recurring inquiry type
- Review -- Legal counsel reviews template for accuracy, tone, and compliance
- Publication -- Template added to system with metadata, variables, and triggers
- Use -- Staff selects category/sub-type, fills variables, generates response
- Feedback -- Track usage and collect feedback on template effectiveness
- Update -- Revise templates based on feedback, legal changes, or policy updates
- Retirement -- Archive templates that are no longer applicable
Response Generation Workflow
- Classify Inquiry -- Determine category (DSR, NDA, subpoena, etc.) and sub-type
- Check Escalation -- Run escalation detector on inquiry text
- If Escalation Detected -- Stop; route to counsel with escalation report
- If No Escalation -- Generate response with appropriate template and variables
- Review & Send -- Review generated response before sending; adjust if needed
Response Categories
| Category |
Sub-Types |
Description |
| Data Subject Requests (DSR) |
acknowledgment, verification, fulfillment, denial, extension |
GDPR/CCPA data subject right requests |
| Discovery/Litigation Holds |
initial-notice, reminder, modification, release |
Litigation hold management |
| Privacy Inquiries |
cookies, data-sharing, children, transfers |
General privacy questions |
| Vendor Legal Questions |
contract-status, amendments, certifications, audit |
Vendor/supplier legal matters |
| NDA Requests |
standard-form, counterparty-markup, decline, renewal |
Non-disclosure agreement lifecycle |
| Subpoena/Legal Process |
acknowledgment, objection, extension, compliance |
Legal process responses |
| Insurance Notifications |
initial-claim, supplemental-info, reservation-of-rights |
Insurance claim management |
DSR Sub-Types
| Sub-Type |
Use When |
Key Variables |
| acknowledgment |
New DSR received |
requestor_name, request_type, request_date |
| verification |
Identity verification needed |
requestor_name, verification_method |
| fulfillment |
Request completed |
requestor_name, request_type, data_description |
| denial |
Request denied with reason |
requestor_name, request_type, denial_reason |
| extension |
Need more time |
requestor_name, request_type, extension_reason, new_deadline |
Discovery/Litigation Hold Sub-Types
| Sub-Type |
Use When |
Key Variables |
| initial-notice |
New litigation hold issued |
matter_name, custodians, data_types |
| reminder |
Periodic hold reminder |
matter_name, reminder_number |
| modification |
Hold scope changed |
matter_name, modification_description |
| release |
Hold lifted |
matter_name, release_date |
Escalation System
Universal Triggers (Always Escalate)
| # |
Trigger |
Why |
| 1 |
Potential or active litigation |
Legal exposure requires counsel assessment |
| 2 |
Regulatory investigation or inquiry |
Regulatory response requires strategic approach |
| 3 |
Government or law enforcement contact |
Constitutional and procedural rights at stake |
| 4 |
Binding legal commitment requested |
Cannot create legal obligations without counsel |
| 5 |
Criminal liability exposure |
Requires immediate counsel involvement |
| 6 |
Media attention or press inquiry |
Reputational risk requires coordinated response |
| 7 |
Unprecedented or novel situation |
No template exists; bespoke legal analysis needed |
| 8 |
Multi-jurisdictional conflict |
Cross-border legal complexity requires expert analysis |
Escalation Response Protocol
- Stop -- Do not send any templated response
- Alert -- Notify designated counsel immediately
- Explain -- Provide escalation context with matched triggers
- Recommend -- Suggest routing based on trigger type
- Draft -- Mark any preliminary draft "FOR COUNSEL REVIEW ONLY"
Troubleshooting
| Problem |
Cause |
Solution |
| Missing variable in output |
Required variable not provided |
Check template requirements; provide all required --var parameters |
| Wrong template selected |
Category/sub-type mismatch |
Review category descriptions; ensure sub-type matches inquiry type |
| False positive escalation |
Common words matching trigger patterns |
Provide --category to use category-specific triggers; review matched triggers |
| False negative escalation |
Inquiry text too vague |
Add more context to inquiry text; run both universal and category-specific checks |
| Template too generic |
Using default values |
Replace all placeholder values with actual organization-specific details |
| Discovery hold sent to wrong custodians |
Custodian list outdated |
Verify custodian list against current employees and systems |
| Subpoena response not flagged |
Missing category context |
Always use --category subpoena for legal process; subpoena category always escalates |
| Response tone inappropriate |
Wrong audience context |
Select appropriate sub-type; customize tone per audience |
Success Criteria
- Response Time: Templated responses generated within 5 minutes vs. 30+ minutes manual drafting
- Escalation Accuracy: 100% of genuine escalation triggers detected (zero false negatives on CRITICAL triggers)
- Template Coverage: Templates cover 80%+ of recurring legal inquiry types
- Consistency: All responses within a category use consistent language, tone, and legal caveats
- Audit Trail: Every generated response logged with category, sub-type, date, and escalation status
Scope & Limitations
This skill covers:
- Template-based response generation for 7 common legal inquiry categories
- Escalation detection using keyword and pattern matching against known triggers
- Variable substitution for organization-specific customization
- Response metadata generation for audit trail purposes
This skill does NOT cover:
- Legal advice or attorney-client privileged analysis
- Automated sending of responses (generation only; human review required)
- Contract drafting, negotiation, or legal document creation
- Case management, docketing, or deadline tracking
- Jurisdiction-specific legal compliance validation of response content
Anti-Patterns
| Anti-Pattern |
Why It Fails |
Better Approach |
| Sending templated response without review |
May miss context-specific nuances; legal risk |
Always review generated response before sending |
| Ignoring escalation triggers |
Critical matters mishandled; legal exposure |
Run escalation detector on every inquiry; treat all triggers seriously |
| Using templates for novel situations |
Templates assume standard scenarios; novel situations need bespoke analysis |
Escalate novel situations to counsel; create new template after resolution |
| Hardcoding organization details in templates |
Templates become non-portable; updates missed |
Use variable substitution; maintain variables in configuration |
| Skipping identity verification for DSRs |
GDPR/CCPA require verification before fulfillment |
Always send verification sub-type before fulfillment |
Tool Reference
scripts/response_generator.py
Generate formatted legal responses with variable substitution.
usage: response_generator.py [-h] [--json]
--category {dsr,discovery,privacy,vendor,nda,subpoena,insurance}
--sub-type SUB_TYPE
[--var KEY=VALUE [KEY=VALUE ...]]
options:
-h, --help Show help message and exit
--json Output in JSON format
--category Response category
--sub-type Response sub-type within category
--var Variable substitution as KEY=VALUE pairs
scripts/escalation_detector.py
Analyze inquiry text for escalation triggers.
usage: escalation_detector.py [-h] [--json]
--text TEXT
[--category {dsr,discovery,privacy,vendor,nda,subpoena,insurance}]
options:
-h, --help Show help message and exit
--json Output in JSON format
--text Inquiry text to analyze for escalation triggers
--category Optional category for category-specific trigger detection
1---2name: legal-canned-responses3description: Generate templated responses for common legal inquiries with escalation detection. Use when drafting legal responses.4license: MIT5---67> **⚠️ EXPERIMENTAL** — This skill is provided for educational and informational purposes only. It does NOT constitute legal advice. All responsibility for usage rests with the user. Consult qualified legal professionals before acting on any output.89# Legal Canned Responses Skill1011## Overview1213Production-ready toolkit for generating templated responses to common legal inquiries with built-in escalation detection. Covers 7 response categories with multiple sub-types each, plus a universal and category-specific escalation trigger system. Designed for legal operations teams handling high volumes of recurring inquiries while ensuring critical matters are routed to counsel.1415## Table of Contents1617- [Tools](#tools)18- [Reference Guides](#reference-guides)19- [Workflows](#workflows)20- [Response Categories](#response-categories)21- [Escalation System](#escalation-system)22- [Troubleshooting](#troubleshooting)23- [Success Criteria](#success-criteria)24- [Scope & Limitations](#scope--limitations)25- [Anti-Patterns](#anti-patterns)26- [Tool Reference](#tool-reference)2728## Tools2930### 1. Response Generator (`scripts/response_generator.py`)3132Generate formatted legal responses from templates with variable substitution and escalation detection.3334```bash35python scripts/response_generator.py \36 --category dsr --sub-type acknowledgment \37 --var requestor_name="Jane Doe" \38 --var request_type="access" \39 --var request_date="2026-04-10"4041python scripts/response_generator.py \42 --category nda --sub-type standard-form \43 --var counterparty="Acme Corp" \44 --var purpose="due diligence" --json4546python scripts/response_generator.py \47 --category discovery --sub-type initial-notice \48 --var matter_name="Smith v. Corp" \49 --var custodians="Engineering,Sales"50```5152### 2. Escalation Detector (`scripts/escalation_detector.py`)5354Analyze inquiry text for escalation triggers and recommend routing.5556```bash57python scripts/escalation_detector.py \58 --text "We received a subpoena from the DOJ regarding our pricing practices"5960python scripts/escalation_detector.py \61 --text "A reporter from the Wall Street Journal is asking about our data practices" --json6263python scripts/escalation_detector.py \64 --category vendor \65 --text "The vendor is threatening litigation over the contract dispute"66```6768## Reference Guides6970| Reference | Purpose |71|-----------|---------|72| `references/response_templates.md` | Complete templates for all 7 categories with sub-types |73| `references/escalation_triggers.md` | Universal and category-specific escalation triggers |7475## Workflows7677### Template Lifecycle78791. **Creation** -- Draft response template for identified recurring inquiry type802. **Review** -- Legal counsel reviews template for accuracy, tone, and compliance813. **Publication** -- Template added to system with metadata, variables, and triggers824. **Use** -- Staff selects category/sub-type, fills variables, generates response835. **Feedback** -- Track usage and collect feedback on template effectiveness846. **Update** -- Revise templates based on feedback, legal changes, or policy updates857. **Retirement** -- Archive templates that are no longer applicable8687### Response Generation Workflow88891. **Classify Inquiry** -- Determine category (DSR, NDA, subpoena, etc.) and sub-type902. **Check Escalation** -- Run escalation detector on inquiry text913. **If Escalation Detected** -- Stop; route to counsel with escalation report924. **If No Escalation** -- Generate response with appropriate template and variables935. **Review & Send** -- Review generated response before sending; adjust if needed9495## Response Categories9697| Category | Sub-Types | Description |98|----------|-----------|-------------|99| Data Subject Requests (DSR) | acknowledgment, verification, fulfillment, denial, extension | GDPR/CCPA data subject right requests |100| Discovery/Litigation Holds | initial-notice, reminder, modification, release | Litigation hold management |101| Privacy Inquiries | cookies, data-sharing, children, transfers | General privacy questions |102| Vendor Legal Questions | contract-status, amendments, certifications, audit | Vendor/supplier legal matters |103| NDA Requests | standard-form, counterparty-markup, decline, renewal | Non-disclosure agreement lifecycle |104| Subpoena/Legal Process | acknowledgment, objection, extension, compliance | Legal process responses |105| Insurance Notifications | initial-claim, supplemental-info, reservation-of-rights | Insurance claim management |106107### DSR Sub-Types108109| Sub-Type | Use When | Key Variables |110|----------|----------|---------------|111| acknowledgment | New DSR received | requestor_name, request_type, request_date |112| verification | Identity verification needed | requestor_name, verification_method |113| fulfillment | Request completed | requestor_name, request_type, data_description |114| denial | Request denied with reason | requestor_name, request_type, denial_reason |115| extension | Need more time | requestor_name, request_type, extension_reason, new_deadline |116117### Discovery/Litigation Hold Sub-Types118119| Sub-Type | Use When | Key Variables |120|----------|----------|---------------|121| initial-notice | New litigation hold issued | matter_name, custodians, data_types |122| reminder | Periodic hold reminder | matter_name, reminder_number |123| modification | Hold scope changed | matter_name, modification_description |124| release | Hold lifted | matter_name, release_date |125126## Escalation System127128### Universal Triggers (Always Escalate)129130| # | Trigger | Why |131|---|---------|-----|132| 1 | Potential or active litigation | Legal exposure requires counsel assessment |133| 2 | Regulatory investigation or inquiry | Regulatory response requires strategic approach |134| 3 | Government or law enforcement contact | Constitutional and procedural rights at stake |135| 4 | Binding legal commitment requested | Cannot create legal obligations without counsel |136| 5 | Criminal liability exposure | Requires immediate counsel involvement |137| 6 | Media attention or press inquiry | Reputational risk requires coordinated response |138| 7 | Unprecedented or novel situation | No template exists; bespoke legal analysis needed |139| 8 | Multi-jurisdictional conflict | Cross-border legal complexity requires expert analysis |140141### Escalation Response Protocol1421431. **Stop** -- Do not send any templated response1442. **Alert** -- Notify designated counsel immediately1453. **Explain** -- Provide escalation context with matched triggers1464. **Recommend** -- Suggest routing based on trigger type1475. **Draft** -- Mark any preliminary draft "FOR COUNSEL REVIEW ONLY"148149## Troubleshooting150151| Problem | Cause | Solution |152|---------|-------|----------|153| Missing variable in output | Required variable not provided | Check template requirements; provide all required `--var` parameters |154| Wrong template selected | Category/sub-type mismatch | Review category descriptions; ensure sub-type matches inquiry type |155| False positive escalation | Common words matching trigger patterns | Provide `--category` to use category-specific triggers; review matched triggers |156| False negative escalation | Inquiry text too vague | Add more context to inquiry text; run both universal and category-specific checks |157| Template too generic | Using default values | Replace all placeholder values with actual organization-specific details |158| Discovery hold sent to wrong custodians | Custodian list outdated | Verify custodian list against current employees and systems |159| Subpoena response not flagged | Missing category context | Always use `--category subpoena` for legal process; subpoena category always escalates |160| Response tone inappropriate | Wrong audience context | Select appropriate sub-type; customize tone per audience |161162## Success Criteria163164- **Response Time**: Templated responses generated within 5 minutes vs. 30+ minutes manual drafting165- **Escalation Accuracy**: 100% of genuine escalation triggers detected (zero false negatives on CRITICAL triggers)166- **Template Coverage**: Templates cover 80%+ of recurring legal inquiry types167- **Consistency**: All responses within a category use consistent language, tone, and legal caveats168- **Audit Trail**: Every generated response logged with category, sub-type, date, and escalation status169170## Scope & Limitations171172**This skill covers:**173- Template-based response generation for 7 common legal inquiry categories174- Escalation detection using keyword and pattern matching against known triggers175- Variable substitution for organization-specific customization176- Response metadata generation for audit trail purposes177178**This skill does NOT cover:**179- Legal advice or attorney-client privileged analysis180- Automated sending of responses (generation only; human review required)181- Contract drafting, negotiation, or legal document creation182- Case management, docketing, or deadline tracking183- Jurisdiction-specific legal compliance validation of response content184185## Anti-Patterns186187| Anti-Pattern | Why It Fails | Better Approach |188|--------------|-------------|-----------------|189| Sending templated response without review | May miss context-specific nuances; legal risk | Always review generated response before sending |190| Ignoring escalation triggers | Critical matters mishandled; legal exposure | Run escalation detector on every inquiry; treat all triggers seriously |191| Using templates for novel situations | Templates assume standard scenarios; novel situations need bespoke analysis | Escalate novel situations to counsel; create new template after resolution |192| Hardcoding organization details in templates | Templates become non-portable; updates missed | Use variable substitution; maintain variables in configuration |193| Skipping identity verification for DSRs | GDPR/CCPA require verification before fulfillment | Always send verification sub-type before fulfillment |194195## Tool Reference196197### `scripts/response_generator.py`198199Generate formatted legal responses with variable substitution.200201```202usage: response_generator.py [-h] [--json]203 --category {dsr,discovery,privacy,vendor,nda,subpoena,insurance}204 --sub-type SUB_TYPE205 [--var KEY=VALUE [KEY=VALUE ...]]206207options:208 -h, --help Show help message and exit209 --json Output in JSON format210 --category Response category211 --sub-type Response sub-type within category212 --var Variable substitution as KEY=VALUE pairs213```214215### `scripts/escalation_detector.py`216217Analyze inquiry text for escalation triggers.218219```220usage: escalation_detector.py [-h] [--json]221 --text TEXT222 [--category {dsr,discovery,privacy,vendor,nda,subpoena,insurance}]223224options:225 -h, --help Show help message and exit226 --json Output in JSON format227 --text Inquiry text to analyze for escalation triggers228 --category Optional category for category-specific trigger detection229```