.claude/skills/lkb-enrichment/SKILL.md
# SKILL: lkb-enrichment Use when: adding Layer 2 data to LKB entries, verifying LKB accuracy, or fixing wrong legal data. ## What Is LKB Enrichment LKB entries currently have Layer 1 (legal knowledge). v11.0 needs Layer 2 (document components) added to each entry. This skill guides enrichment. ## LKB 2-Layer Model | Layer | Fields | Purpose | |-------|--------|---------| | Layer 1: Legal Knowledge | `primary_acts`, `limitation`, `facts_must_cover`, `mandatory_averments`, `defensive_points`,
npx skillsauth add itmegirish/boardingmcp-server .claude/skills/lkb-enrichmentInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Use when: adding Layer 2 data to LKB entries, verifying LKB accuracy, or fixing wrong legal data.
LKB entries currently have Layer 1 (legal knowledge). v11.0 needs Layer 2 (document components) added to each entry. This skill guides enrichment.
| Layer | Fields | Purpose |
|-------|--------|---------|
| Layer 1: Legal Knowledge | primary_acts, limitation, facts_must_cover, mandatory_averments, defensive_points, drafting_red_flags, coa_guidance | Tells LLM WHAT law to apply |
| Layer 2: Document Components | available_reliefs (with prayer_text), jurisdiction_basis, valuation_basis, legal_basis_text | Tells LLM WHAT structural content to use |
Both layers go to LLM as structured context in the prompt.
available_reliefs (most important)List of reliefs with exact prayer text. LLM uses prayer_text verbatim in prayer section.
"available_reliefs": [
{
"type": "damages", # relief category
"subtype": "compensatory", # specific kind
"statute": "S.73 ICA", # statutory basis
"prayer_text": "decree for damages in the sum of Rs.{{AMOUNT}} on account of breach of contract",
"condition": None, # when to include (None = always)
},
{
"type": "interest",
"subtype": "pre_suit",
"statute": "S.34 CPC",
"prayer_text": "interest at the rate of {{RATE}}% per annum from {{DATE}} till date of filing",
},
{
"type": "interest",
"subtype": "pendente_lite",
"statute": "Order XX Rule 11 CPC",
"prayer_text": "pendente lite and future interest at such rate as this Hon'ble Court deems fit",
},
{
"type": "costs",
"statute": "S.35 CPC",
"prayer_text": "costs of the suit",
},
{
"type": "general",
"prayer_text": "such other and further relief(s) as this Hon'ble Court may deem fit and proper",
},
],
jurisdiction_basis"jurisdiction_basis": "Section 20 CPC — where cause of action arose wholly or in part",
# or: "Section 16 CPC — where immovable property is situated (situs jurisdiction)"
# or: "Section 17 CPC — property in multiple jurisdictions"
valuation_basis"valuation_basis": "Amount of damages claimed (for court fee and pecuniary jurisdiction)",
# or: "Market value of suit property"
# or: "Amount of rent arrears claimed"
lkb/causes/{file}.pyavailable_reliefs — list ALL reliefs applicable for that cause typejurisdiction_basis — which CPC section determines jurisdictionvaluation_basis — what determines suit valuationprayer_text matches actual court prayer wordingWhen enriching, also verify existing Layer 1 data:
app/agents/drafting_agents/lkb/
├── __init__.py # Registry, lookup, aliases
└── causes/
├── _helpers.py # _entry() schema — add Layer 2 fields here
├── contract_commercial.py
├── money_and_debt.py
├── immovable_property.py
├── injunction_declaratory.py
├── partition_coownership.py
├── tenancy_rent.py
├── tort_civil_wrong.py
└── ... (16 sub-group files, 92 entries)
prayer_text must match actual court prayer wording — not genericavailable_reliefs must cover ALL reliefs for that cause type (including costs + general)development
# SKILL: v9-architecture Use when: planning, building, or reviewing v11.0 architecture components (LKB 2-layer model, document schemas, structured prompt builder, gates, family migrations). ## v11.0 Architecture — Scalable Context-Driven Pipeline ### Core Principles 1. **Better context to LLM = better draft** — no complex engine needed 2. **Separate law from structure** — cause type (92) × document type (12) = 1,104 combinations 3. **Decide law before drafting, enforce law after drafting** #
development
# SKILL: test-draft-pipeline ## Purpose Run the drafting pipeline, evaluate output quality, and verify all 4 gates + review work correctly. ## When to Use - After modifying any pipeline node, gate, or prompt - After creating or updating an exemplar or LKB entry - For regression testing across multiple scenarios - For debugging pipeline failures ## Test Runners ### Quick Test (single scenario) ```bash agent_steer/Scripts/python.exe research/run_draft_live.py ``` ### Unit Tests ```bash agent_
development
# SKILL: exemplar-builder ## Purpose Create, validate, and maintain document schemas and LKB Layer 2 data for the v11.0 scalable drafting pipeline. **v11.0 approach:** No exemplar documents in prompts. Instead: LKB 2-layer data + document schema → structured prompt → LLM drafts. ## When to Use - Creating a new document schema (e.g., written_statement, appeal_memo) - Enriching LKB entries with Layer 2 data (available_reliefs, jurisdiction_basis) - Reviewing schema quality against CPC rules - A
development
# SKILL: section-validator ## Purpose Build and maintain the 4 deterministic verification gates (Stage 3). Gates run on the full draft text with zero LLM calls. They validate, auto-fix formatting, and flag issues for review. ## When to Use - Building or modifying any gate - Adding new entity extraction patterns - Debugging false positives / false negatives - Extending verified provisions coverage ## Architecture Context (v5.1 — what's running) 4 gates run sequentially on `draft.draft_artifac