Set up
Skills are installed by placing their folder where your agent loads skills.
The download comes from github.com/tresic-cloud/vcon-expert-skill itself, not from our server, so what you get is exactly what its author published.
Install instructions come from the README
README
synced Oct 23, 2026vCon Expert Skill
The Complete Conversational Data Container Expert System
This skill transforms Claude into the foremost expert on vCons (Virtualized Conversations), the IETF standard for exchanging conversational data. It combines validation, deep Q&A, and multi-language code generation capabilities.
What's New in This Enhanced Version
This skill builds upon the existing vCon validator by adding:
- Deep Q&A Capabilities - Answer any question about vCons, their structure, use cases, and best practices
- Multi-Language Code Generation - Generate production-ready code in Go, JavaScript, and Python
- Latest IETF Updates - Incorporates information from the January 2026 draft specifications
- Extension Expertise - Deep knowledge of CC, MIMI, WTF, and other extensions
- Architecture Guidance - Provides system design advice for vCon integration
Features
1. Validation & Compliance
- Validates vCon JSON files against IETF draft-ietf-vcon-vcon-core-02
- Checks all three forms: unsigned, signed (JWS), and encrypted (JWE)
- Validates extensions: CC (Contact Center), MIMI (Messaging), WTF (Transcription)
- Generates detailed validation reports with specific fix recommendations
- Verifies content hashes for external references
2. Expert Q&A System
Ask Claude anything about vCons:
- "How do vCon redactions work?"
- "What's the difference between critical and extensions?"
- "When should I use inline vs external references?"
- "How do I implement a custom extension?"
- "What are best practices for contact center integration?"
3. Multi-Language Code Generation
Go
- Complete type definitions
- Validation functions
- UUID v8 generation
- Content hash verification
- JWS signing/verification
- Production-ready, zero-dependency code
JavaScript/TypeScript
- TypeScript interfaces
- Fluent builder API
- Validation methods
- Async/await patterns
- Browser and Node.js compatible
Python
- Pydantic models with validation
- Parser and analyzer classes
- Data extraction utilities
- Statistical analysis
- Export in multiple formats
4. Extension Support
Contact Center (CC) Extension
- Queue time, ring time, disposition
- DNIS, ANI, customer ID
- Contact list, skill routing
MIMI Extension
- Modern messaging platforms
- Group conversations
- Rich media attachments
WTF (World Transcription Format)
- Standardized transcript format
- Multi-vendor interoperability
- Confidence scores, speaker identification
5. vCon ZIP Bundle Support (.vconz)
Package & Distribution
- Create self-contained archives with all media files
- Bundle multiple vCons with automatic deduplication
- Hash-based file naming for integrity verification
- Supports all vCon security forms (unsigned, signed, encrypted)
- Offline processing capability
- Simplified distribution and archival
Bundle Features
- Flat file structure with manifest
- Multi-vCon support with relationship tracking
- Extension support for future vCon features
- Platform-independent ZIP format
- Media type:
application/vcon+zip
Latest Specification Updates (January 2026)
This skill incorporates the latest changes from draft-ietf-vcon-vcon-core-02:
- Version: 0.4.0 (moving toward v1.0)
- Renamed Fields:
must_support→critical, attachmenttype→purpose,dtmfdown/dtmfup→keydown/keyup - New:
reportanalysis type, expanded Group Object withbody/encoding - Removed:
jCardfrom Party Object - Semantic Changes: Session ID uses empty object
{}instead ofnull, anonymous party guidance, dialog transfer uses empty Dialog Objects - Security: Long-term archiving with nested JWS signing (Section 5.2.3)
- Extension Framework: Compatible vs. Incompatible classification
- Media Types: Registered
application/vcon+json,application/vcon+gzip, andapplication/vcon+zip - UUID: Preference for UUID v8 with FQHN-based generation
- vCon ZIP Bundle (.vconz): New packaging format for self-contained archives with media files
File Structure
vcon-expert-skill/
├── SKILL.md # Main skill file (use this with Claude)
├── README.md # This file
├── vcon-documentation/ # IETF specifications
│ ├── draft-ietf-vcon-vcon-core-02
│ ├── draft-ietf-vcon-cc-extension-01
│ ├── draft-ietf-vcon-privacy-primer-00
│ ├── draft-miller-vcon-zip-bundle-00
│ ├── _draft-ietf-vcon-mimi-messages-00
│ └── _draft-ietf-vcon-overview-00
└── examples/ # Example vCon files
├── valid-simple.vcon
├── valid-unsigned.json
├── valid-transfer-dialog.json
├── valid-with-cc-extension.json
└── invalid-missing-fields.json
Installation & Setup
Quick Start (5 minutes)
- Upload
SKILL.mdto Claude - Start with: "What is a vCon?"
- Upload vCon files for validation
- Request code generation
Option 1: Direct Upload to Claude (Recommended)
- Start a new conversation with Claude
- Click the attachment icon (📎) or drag & drop
- Upload
SKILL.md - Claude will automatically recognize it as a skill
- Start asking questions or request code generation
First Command After Upload:
Hi Claude! I just uploaded the vCon Expert skill.
Can you give me a quick overview of what you can help me with?
Option 2: Add to Claude Project (Best for Ongoing Work)
- Go to Claude Projects
- Create new project or open existing one
- Name it something like "vCon Development"
- In Project settings, go to "Project Knowledge"
- Click "Add content" and upload
SKILL.md - Optionally upload entire
vcon-documentation/folder for complete specs
Benefits:
- Any conversation in this project has vCon expertise automatically
- Persistent access across sessions
- Share with team members
Option 3: Claude for Work/Enterprise
- Go to your organization's resources
- Create a new shared resource
- Upload
SKILL.mdand documentation files - Set access permissions
- Share resource link with team members
Option 4: Claude API Integration
# Read the skill file
with open('SKILL.md', 'r') as f:
vcon_skill = f.read()
# Include in API calls
message = client.messages.create(
model="claude-sonnet-4-20250514",
max_tokens=4096,
system=[{
"type": "text",
"text": vcon_skill,
"cache_control": {"type": "ephemeral"}
}],
messages=[{
"role": "user",
"content": "Generate Python code to validate vCons"
}]
)
File Organization
vcon-expert-skill/
├── SKILL.md # 📌 Main skill file (upload this)
├── README.md # This file
├── vcon-documentation/ # IETF specifications (optional)
│ ├── draft-ietf-vcon-vcon-core-02
│ ├── draft-ietf-vcon-cc-extension-01
│ └── ...
└── examples/ # Example vCon files (optional)
└── valid-simple.vcon
Verification
Test Basic Functionality:
You: What is a vCon?
Claude: A vCon (Virtualized Conversation) is an IETF standard...
[Detailed explanation follows]
Test Validation:
You: Validate this vCon
[Upload vCon JSON]
Claude: I'll validate your vCon against the IETF specification...
[Detailed validation report follows]
Quick Reference Guide
Common Commands
Validation
"Validate this vCon file"
"Check if my vCon is compliant with IETF standards"
"What's wrong with this vCon?"
Code Generation
"Generate Go code to parse vCons"
"Create a Python vCon validator"
"Write JavaScript code to build vCons"
"Generate TypeScript interfaces for vCons"
Q&A
"How do vCon extensions work?"
"What's the difference between inline and external content?"
"Explain vCon signing and encryption"
"How do I create a custom extension?"
"How do I create vCon ZIP bundles?"
"What are the best practices for bundling multiple vCons?"
Analysis
"Analyze this vCon and give me statistics"
"Extract all transcripts from this vCon"
"Calculate total conversation duration"
"List all participants with their contact info"
Quick Validation Checklist
-
"vcon": "0.4.0"present (version field deprecated in -02, but still required) - Valid UUID (v4 or v8 format)
- RFC 3339 timestamps (
YYYY-MM-DDTHH:MM:SS.sssZ) - At least one party in
partiesarray - Party indices in bounds (0-based)
- External URLs use HTTPS
- External files have SHA-512 content_hash
- Extensions declared in
extensionsarray
vCon Structure Quick Reference
{
"vcon": "0.4.0",
"uuid": "018c8a7e-5f3d-8000-9a2b-3c4d5e6f7a8b",
"created_at": "2025-10-20T14:30:00.000Z",
"parties": [{"tel": "+1-555-0100", "name": "Alice"}],
"dialog": [{"type": "recording", "parties": [0]}]
}
Usage Examples
Example 1: Validate a vCon
You: Can you validate this vCon file?
[Upload vCon JSON]
Claude: [Reads SKILL.md and vcon-documentation]
I'll validate your vCon against the IETF specification...
# vCon Validation Report
**File**: customer-call.json
**vCon Version**: 0.4.0
**Form**: unsigned
## Compliance Status
✅ COMPLIANT
[Detailed validation results...]
Example 2: Generate Code
You: Generate Python code to parse and analyze vCons with full validation
Claude: I'll create a complete Python vCon parser with Pydantic validation...
[Generates 200+ lines of production-ready Python code with:
- Complete type definitions
- Validation functions
- Analysis utilities
- Usage examples]
Example 3: Answer Complex Questions
You: How should I handle vCon versioning when creating redacted versions?
Claude: [Reads relevant sections from SKILL.md and specifications]
Great question! vCon versioning with redactions follows a specific pattern...
When creating a redacted vCon:
1. The redacted vCon maintains the same vCon version (0.4.0)
2. It gets a NEW uuid (different from the original)
3. The `redacted` object references the original vCon's uuid
4. The `created_at` reflects when the redacted version was created
5. The original (unredacted) vCon should be encrypted if containing PII
[Provides detailed explanation with code examples...]
Example 4: Extension Development
You: I need to create a custom extension for healthcare conversations. Help me design it.
Claude: I'll help you design a healthcare vCon extension following IETF guidelines...
Let's start by defining your extension:
1. Extension Name: "HEALTHCARE" or "HC"
2. Classification: This will likely be a Compatible Extension
3. New Parameters needed:
- Party Object: patient_id, provider_id, mrn
- Dialog Object: consultation_type, hipaa_compliance
- Analysis Object: diagnosis_codes, treatment_plan
[Provides complete extension specification, registration template,
and implementation code in all three languages]
Use Cases
Contact Center
- Call recording management
- Quality management integration
- Agent performance analytics
- Compliance and audit trails
- PCI-DSS redaction workflows
Messaging Platforms
- Multi-platform conversation aggregation
- Chat history export/import
- Cross-platform analytics
- Message threading and grouping
Emergency Services (ECRIT)
- 911 call documentation
- Location capture (gmlpos/civicaddress)
- Incident report attachment
- Legal admissibility (signed vCons)
Healthcare
- HIPAA-compliant conversation storage
- Telemedicine consultation records
- Patient consent documentation
- Clinical note attachments
Legal & Compliance
- Deposition recordings
- Evidence chain of custody
- Privileged communication protection
- Audit trail maintenance
Technical Capabilities
Validation
- JSON syntax validation
- Schema compliance checking
- UUID format validation (v4, v8)
- RFC 3339 timestamp verification
- Tel/SIP/mailto URL validation
- Content hash integrity (SHA-512)
- Party index bounds checking
- Extension compatibility verification
Code Generation
- Type-safe structures (Go structs, TS interfaces, Pydantic models)
- Validation functions with detailed error messages
- Serialization/deserialization
- Builder patterns and fluent APIs
- Content hash generation
- UUID v8 generation
- JWS signing/verification
- JWE encryption/decryption
Analysis & Extraction
- Conversation duration calculation
- Participant information extraction
- Transcript aggregation
- Statistical summaries
- Multi-format export (JSON, CSV, XML)
vCon ZIP Bundle Operations
- Bundle creation with automatic file resolution
- Multi-vCon bundling with deduplication
- Bundle extraction and validation
- File integrity verification (SHA-512)
- Security form preservation (JWS/JWE)
- Extension support for custom data
Key Concepts Explained
Three Forms of vCon
-
Unsigned - Mutable, for in-progress conversations
{ "vcon": "0.4.0", "uuid": "...", "parties": [...], "dialog": [...] } -
Signed (JWS) - Immutable, integrity-protected
{ "vcon": "0.4.0", "uuid": "...", "payload": "base64url_encoded_unsigned_vcon", "signatures": [...] } -
Encrypted (JWE) - Confidential, privacy-protected
{ "vcon": "0.4.0", "uuid": "...", "ciphertext": "encrypted_signed_vcon", "recipients": [...] }
Redaction Workflow
Original vCon (unredacted)
↓ [Sign with JWS]
Signed Original
↓ [Encrypt with JWE]
Encrypted Signed Original
↓ [Create redacted version]
Redacted vCon (unsigned)
↓ [Sign]
Signed Redacted vCon
↓
└→ redacted.uuid = original UUID
└→ redacted.url = URL to encrypted original (optional)
Extension Classification
Compatible Extensions:
- Add new fields without changing existing semantics
- Can be safely ignored by implementations that don't support them
- Don't require listing in
critical - Example: CC extension adds contact center fields
Incompatible Extensions:
- Change existing field meanings or structure
- Require explicit support for correct interpretation
- MUST be listed in
criticalarray - Example: Extension that changes
partiesarray semantics
Troubleshooting
"Can't find skill documentation"
- Ensure SKILL.md is uploaded or in Project Knowledge
- Check that vcon-documentation/ folder is accessible
- Try re-uploading the skill file
"Generated code doesn't compile"
- Specify your exact language version (Go 1.21, Python 3.11, etc.)
- Request specific framework if needed (FastAPI, Express, etc.)
- Ask for dependency list if using external packages
"Validation failing unexpectedly"
- Verify vCon version field is "0.4.0"
- Check that all required fields are present
- Ensure party indices don't exceed array bounds
- Validate timestamp format (RFC 3339)
"Extension not recognized"
- Check if extension is declared in
extensionsarray - Verify extension spelling and case
- Confirm extension-specific fields are correctly formatted
- Check if it needs to be in
critical
Best Practices
Security
- Always sign vCons before encryption (JWS → JWE)
- Use HTTPS exclusively for external URLs
- Generate SHA-512 hashes for all external files
- Include certificate chain (x5c) in signatures
- Redact PII before sharing across trust boundaries
Performance
- Use external references for large media files (>1MB)
- Compress with gzip for transmission
- Cache parsed vCons in memory
- Index vCons by UUID for fast lookups
- Batch process analysis operations
Privacy
- Create redacted versions for limited access
- Encrypt original vCons containing PII
- Minimize data collection from the start
- Document consent in attachments
- Use
validationfield for identity verification
Code Quality
- Use type-safe languages (Go, TypeScript)
- Validate all inputs at API boundaries
- Handle errors gracefully with specific messages
- Log vCon operations for audit trails
- Test with all three vCon forms
Comparison with Original Validator Skill
| Feature | Original Validator | vCon Expert |
|---|---|---|
| Validation | ✅ Yes | ✅ Yes (Enhanced) |
| Go Code Gen | ✅ Yes | ✅ Yes (Enhanced) |
| JavaScript Code Gen | ❌ No | ✅ Yes |
| Python Code Gen | ❌ No | ✅ Yes |
| Q&A Capabilities | ❌ Limited | ✅ Comprehensive |
| Extension Expertise | ✅ CC only | ✅ CC, MIMI, WTF, Custom |
| Architecture Guidance | ❌ No | ✅ Yes |
| Use Case Examples | ✅ Basic | ✅ Extensive |
| Latest IETF Updates | ❌ Older | ✅ 0.4.0 (January 2026) |
Support & Resources
IETF Resources
- Working Group: https://datatracker.ietf.org/wg/vcon/
- Mailing List: vcon@ietf.org
- GitHub: https://github.com/ietf-wg-vcon/
Getting Help
- Ask Claude directly (that's what this skill is for!)
- Reference the bundled IETF specifications
- Check the examples/ directory for valid vCons
- Review the troubleshooting section above
Contributing
This skill is based on IETF drafts which are continuously evolving. To update:
- Download latest drafts from datatracker.ietf.org
- Update vcon-documentation/ folder
- Modify SKILL.md to reflect any schema changes
- Test validation with new examples
Version History
v1.1 (February 2026)
- Updated to draft-ietf-vcon-vcon-core-02 (January 2026)
- Field renames:
must_support→critical, attachmenttype→purpose,dtmfevents →keyevents - New
reportanalysis type - Removed jCard from Party Object
- Added anonymous party guidance, session ID empty object semantics
- Added long-term archiving with nested JWS signing
v1.0 (October 2025)
- Initial release of enhanced vCon Expert skill
- Multi-language code generation (Go, JavaScript, Python)
- Comprehensive Q&A capabilities
- Latest IETF specifications (draft-ietf-vcon-vcon-core-01)
- Extension framework expertise
- Architecture guidance
Based on
- vcon-validator-go-code-generator (original validator skill)
- IETF vCon Working Group specifications (January 2026)
- Real-world use cases from contact centers, messaging platforms, and emergency services
License
This skill is based on IETF specifications which are public domain. The skill itself and generated code examples are provided as-is for educational and development purposes.
Development & Contributing
GitHub Actions Workflow
This repository includes automated build workflows for testing and packaging:
Automated Builds
The workflow automatically triggers on:
- Push to main/master
- Pull requests
- Tags (v*)
- Manual trigger from GitHub UI
Local Testing
Test the build workflow locally:
cd /path/to/vcon-expert-skill
bash test-workflow.sh
Using act CLI (Advanced)
For full workflow testing with Docker:
# Install act CLI
brew install act # macOS
# Run build workflow
act -j build
# Run with verbose output
act -j build -v
Package Information
This vCon Expert skill represents a comprehensive upgrade from basic validators:
Key Enhancements:
- ✅ Multi-language code generation (Go, JavaScript, Python)
- ✅ Comprehensive Q&A capabilities
- ✅ Latest IETF specifications (draft-ietf-vcon-vcon-core-02)
- ✅ Extension framework expertise (CC, MIMI, WTF, Custom)
- ✅ Architecture guidance and best practices
- ✅ Real-world use case examples
Original Validator vs. vCon Expert:
| Feature | Original | vCon Expert |
|---|---|---|
| Validation | ✅ Yes | ✅ Enhanced |
| Go Code Gen | ✅ Yes | ✅ Enhanced |
| JS/TS Code Gen | ❌ No | ✅ Yes |
| Python Code Gen | ❌ No | ✅ Yes |
| Q&A Capabilities | ❌ Limited | ✅ Comprehensive |
| Extension Expertise | ✅ CC only | ✅ All extensions |
| Architecture Guidance | ❌ No | ✅ Yes |
File Structure
vcon-expert-skill/
├── SKILL.md # Main skill file (upload to Claude)
├── README.md # This documentation
├── vcon-documentation/ # IETF specifications
│ ├── draft-ietf-vcon-vcon-core-02
│ ├── draft-ietf-vcon-cc-extension-01
│ └── ...
├── examples/ # Example vCon files
│ ├── valid-simple.vcon
│ └── invalid-missing-fields.json
└── test-workflow.sh # Local testing script
Ready to become a vCon expert? Upload SKILL.md to Claude and start asking questions!