import-vscode-extension-builder-lawvable
Rating is derived from the repo's GitHub stars and shown for reference.
name: import-vscode-extension-builder-lawvable
description: Use when ingesting legal content, skills, or document templates originally authored inside the Lawvable VS Code extension into the Louis/mini-claude-for-legal data model. Handles mapping of Lawvable's proprietary document-builder schema into standard SKILL.md and draft formats, with config-driven field mapping and a mandatory dry-run preview before any write. Relevant any time a legal practitioner wishes to migrate Lawvable-built clause libraries, templates, or playbooks into the open-source skill ecosystem.
license: MIT
metadata:
id: import.vscode-extension-builder-lawvable
category: import
jurisdictions: [multi]
priority: P3
intent: [import, migration, vscode, lawvable, template-ingestion]
related: [import-xlsx-processing-anthropic, connector-vscode-extension, draft-nda-unilateral]
source: Louis — HAQQ Legal AI (github.com/sboghossian/mini-claude-for-legal)
version: "1.0"
Import — VS Code Extension Builder (Lawvable)
What it does
This import connector translates content produced by the Lawvable VS Code extension — a legal document builder that lets lawyers assemble clause libraries and templates directly inside VS Code — into the standard data model used by Louis and mini-claude-for-legal.
The connector performs schema mapping (Lawvable's JSON/XML shapes → SKILL.md frontmatter + body), field normalization, and writes enriched skill files to the target directory. Every import runs in two phases: config validation + dry-run preview, then an optional confirmed write.
When to use this
- A law firm or legal-tech team has built a clause library in the Lawvable extension and wants to make those clauses available as first-class Louis skills.
- A practitioner is migrating from Lawvable to the open-source mini-claude-for-legal ecosystem.
- Bulk onboarding of existing Lawvable templates during platform integration.
- Periodic sync of updated Lawvable templates back into the skills store.
Setup / auth
| Requirement | Detail |
|---|---|
| Lawvable extension installed | VS Code 1.82+ with Lawvable extension active |
| Export format | Lawvable export bundle (.lawvable.zip or folder) |
| Target directory | Writable path within skills/ hierarchy |
| Louis API key (optional) | Required only if writing directly to hosted Louis instance |
No OAuth is needed for local file-based imports. For hosted deployments, use a scoped import API key — never a full admin credential.
Capabilities
- Parse Lawvable's document-builder JSON schema (
clauses[],variables[],metadata{}) - Map Lawvable clause types to Louis skill categories (e.g., Lawvable
ClauseType.NDA→ categorydraft) - Extract frontmatter fields:
name,jurisdictions,practice_area,intenttags - Normalize variable placeholders (
{{variable}}→ Louis input schema) - Preserve clause commentary and drafting notes as
## Drafting standardsbody sections - Generate dry-run diff showing: new skills to be created, existing skills to be updated, conflicts requiring manual resolution
Usage patterns
Basic dry-run
import source="lawvable" path="/exports/firm-clause-library" dry_run=true
Output: table of detected skills, proposed target paths, field-mapping warnings.
Confirmed import
import source="lawvable" path="/exports/firm-clause-library" dry_run=false overwrite=false
overwrite=false (default): skip any target file that already exists — safe for incremental syncs.
overwrite=true: replace existing skills — use only after reviewing dry-run output.
Selective import (single template)
import source="lawvable" file="NDA-standard-KSA.json" target="skills/draft/draft-nda-ksa/"
Field mapping reference
| Lawvable field | Louis SKILL.md field | Notes |
|---|---|---|
metadata.title |
name |
Lowercased, hyphenated |
metadata.jurisdiction[] |
jurisdictions |
ISO codes normalized |
metadata.practiceArea |
practice_area |
Mapped to Louis taxonomy |
metadata.tags[] |
intent |
Preserved as-is; __import__ always appended |
clauses[].body |
SKILL.md body sections | Mapped by clause type |
variables[].name |
## Required inputs entries |
Type + default extracted |
metadata.version |
version |
Preserved verbatim |
Permissions & safety
- Dry-run is mandatory before any write operation. The system will refuse a confirmed write if dry-run has not been executed in the same session.
- Never overwrite production skills without explicit
overwrite=trueand dry-run review. - PII scrubbing: if any Lawvable template contains example client data (names, addresses, matter numbers), the importer flags and strips these before writing.
- No network calls during import unless explicitly configured for hosted-Louis sync.
- Import runs under the calling user's file-system permissions — do not run as root.
Failure modes
| Failure | Cause | Resolution |
|---|---|---|
schema_parse_error |
Lawvable export format changed | Update schema adapter; check Lawvable release notes |
jurisdiction_unmapped |
Lawvable uses non-standard jurisdiction code | Add manual mapping in import config |
duplicate_skill_conflict |
Target path already exists | Use dry-run to review, then set overwrite=true if intentional |
variable_type_unknown |
Lawvable variable type not in Louis taxonomy | Defaults to string; add to type registry if recurring |
body_too_short |
Lawvable clause has no body text | Skill is flagged as stub; manual enrichment required |
Related skills
- [[import-xlsx-processing-anthropic]]
- [[connector-vscode-extension]]
- [[draft-nda-unilateral]]
- [[draft-employment-contract]]