NG Lawyer DB Build (Step 1)
What this skill does
This is Step 1 of Fei Gao’s “Nigeria Lawyer Network” workflow:
- Build a Lawyer Database (this skill)
- Send outreach emails and score by response (separate skill)
- Sort & export for fast lookup (separate skill)
The objective is to create a database that allows fast matching by:
City → Practice → Sub-specialty → Regulator → Firm size → Position → Score → Contact.
This skill focuses on data collection + structured classification with evidence links.
Inputs
- city:
Lagos | Abuja
- practice:
Construction | RealEstate | Labour | Tax | Criminal | IP
- n_per_segment: integer (target 3)
Output files
- lawyer_db_ng.xlsx (main database)
- sources.jsonl (evidence per record: url + snippet + timestamp)
Database schema (fixed column order)
The Excel must contain columns in this exact order:
- Lawyer_UID
- Country
- City
- Practice
- Sub_Practice
- Regulator_Tag
- Firm_Name
- Firm_Size
- Position
- Lawyer_Name
- Email
- Phone
- LinkedIn
- Website
- Evidence_URL
- Score_Total (blank in Step 1)
- Score_ResponseSpeed (blank)
- Score_Detail (blank)
- Score_Pricing (blank)
- Score_Cooperation (blank)
- Risk_Flag (blank)
- NeedFollowUp (0/1)
- ChannelCostRisk (Low/Medium/High)
- Last_Updated
Non-negotiable rules (to avoid future scoring chaos)
1) Unique key (Lawyer_UID)
All later scoring MUST be written back by Lawyer_UID, never by name.
Format:
LAW-NG-{CITYCODE}-{PRACTICECODE}-{NNNN}
- CityCode: Lagos=LAG, Abuja=ABJ
- PracticeCode: Construction=CON, RealEstate=REA, Labour=LAB, Tax=TAX, Criminal=CRI, IP=IPR
Example:
2) Email policy (anti-channel-cost)
- Email must be explicitly published on the evidence page (law firm bio page, author page, or official profile).
- NO guessing (e.g., firstname.lastname@firm.com is not allowed unless shown).
- If only a general firm email exists (info@ / contact@), it may be used but set:
ChannelCostRisk=High
NeedFollowUp=1
3) Evidence chain
Each row must store Evidence_URL.
The skill also writes sources.jsonl with:
- Lawyer_UID
- Evidence_URL
- Evidence_Snippet (<= 300 chars)
- Captured_At
4) Firm_Size classification (fee proxy)
Firm_Size affects pricing expectation. Classify using evidence:
- Top:
- The firm is ranked in Chambers or Legal 500 in Nigeria for the relevant practice; OR
- Firm lawyer count > 50 (evidence required)
- Mid: lawyer count 15–50
- Small: lawyer count 2–14
- Solo: sole practitioner / independent (count=1)
- Unknown: insufficient evidence → set NeedFollowUp=1
5) Position mapping (fee proxy)
Normalize to:
- Partner / Counsel / SeniorAssociate / Associate / Junior / Independent / Unknown
Mapping hints:
- Partner: Managing Partner, Senior Partner, Partner
- Counsel: Counsel, Of Counsel
- SeniorAssociate: Senior Associate, Associate (Senior)
- Associate: Associate, Solicitor
- Junior: Junior Associate, Trainee
- Independent: Sole Practitioner, Principal, Independent Legal Practitioner
Regulator_Tag (only with evidence)
Allowed values:
- CAC, NIPC, FIRS, StateIRS, NAFDAC, Immigration, MinistryOfMines, IPRegistry, EFCC, Police, Court
Rule:
- Tag only when evidence mentions regulator or shows relevant matters.
- If not evidenced, leave blank; outreach email will ask the lawyer to self-report regulators handled.
Data collection strategy (recommended sources)
Priority order:
- Chambers / Legal 500 ranked firms for Nigeria practice (Top candidates)
- Official law firm team pages (bio pages with emails)
- Author pages on firm sites / Lexology / IFLR (when email is shown)
- Boutique firm sites for Small/Solo
Segmentation target
For each (Firm_Size x Position) segment, collect n_per_segment candidates with verified emails where possible.
Recommended priority within Top firms:
- Counsel / SeniorAssociate / Associate (often more willing for flexible cooperation)
Example run (MVP)
City: Lagos
Practice: Construction
n_per_segment: 3
Goal: produce a usable initial database for Lagos Construction to validate:
- Firm_Size classification is correct
- Position mapping is correct
- Emails are evidence-backed
- Column order is stable
1---2name: ng-lawyer-db-build3description: NG Lawyer DB Build (Step 1)4---5# NG Lawyer DB Build (Step 1)67## What this skill does8This is **Step 1** of Fei Gao’s “Nigeria Lawyer Network” workflow:91) Build a **Lawyer Database** (this skill) 102) Send outreach emails and score by response (separate skill) 113) Sort & export for fast lookup (separate skill)1213The objective is to create a database that allows **fast matching** by:14**City → Practice → Sub-specialty → Regulator → Firm size → Position → Score → Contact**.1516This skill focuses on **data collection + structured classification** with evidence links.1718---1920## Inputs21- **city**: `Lagos` | `Abuja`22- **practice**: `Construction` | `RealEstate` | `Labour` | `Tax` | `Criminal` | `IP`23- **n_per_segment**: integer (target **3**)2425---2627## Output files28- **lawyer_db_ng.xlsx** (main database)29- **sources.jsonl** (evidence per record: url + snippet + timestamp)3031---3233## Database schema (fixed column order)34The Excel must contain columns in this exact order:35361. Lawyer_UID 372. Country 383. City 394. Practice 405. Sub_Practice 416. Regulator_Tag 427. Firm_Name 438. Firm_Size 449. Position 4510. Lawyer_Name 4611. Email 4712. Phone 4813. LinkedIn 4914. Website 5015. Evidence_URL 5116. Score_Total (blank in Step 1) 5217. Score_ResponseSpeed (blank) 5318. Score_Detail (blank) 5419. Score_Pricing (blank) 5520. Score_Cooperation (blank) 5621. Risk_Flag (blank) 5722. NeedFollowUp (0/1) 5823. ChannelCostRisk (Low/Medium/High) 5924. Last_Updated6061---6263## Non-negotiable rules (to avoid future scoring chaos)64### 1) Unique key (Lawyer_UID)65All later scoring MUST be written back by **Lawyer_UID**, never by name.6667Format:68- `LAW-NG-{CITYCODE}-{PRACTICECODE}-{NNNN}`69- CityCode: Lagos=LAG, Abuja=ABJ70- PracticeCode: Construction=CON, RealEstate=REA, Labour=LAB, Tax=TAX, Criminal=CRI, IP=IPR7172Example:73- `LAW-NG-LAG-CON-0001`7475### 2) Email policy (anti-channel-cost)76- Email must be **explicitly published** on the evidence page (law firm bio page, author page, or official profile).77- **NO guessing** (e.g., firstname.lastname@firm.com is not allowed unless shown).78- If only a general firm email exists (info@ / contact@), it may be used but set:79 - `ChannelCostRisk=High`80 - `NeedFollowUp=1`8182### 3) Evidence chain83Each row must store **Evidence_URL**.84The skill also writes **sources.jsonl** with:85- Lawyer_UID86- Evidence_URL87- Evidence_Snippet (<= 300 chars)88- Captured_At8990### 4) Firm_Size classification (fee proxy)91Firm_Size affects pricing expectation. Classify using evidence:9293- **Top**:94 - The firm is ranked in **Chambers** or **Legal 500** in Nigeria for the relevant practice; OR95 - Firm lawyer count **> 50** (evidence required)96- **Mid**: lawyer count **15–50**97- **Small**: lawyer count **2–14**98- **Solo**: sole practitioner / independent (count=1)99- **Unknown**: insufficient evidence → set NeedFollowUp=1100101### 5) Position mapping (fee proxy)102Normalize to:103- Partner / Counsel / SeniorAssociate / Associate / Junior / Independent / Unknown104105Mapping hints:106- Partner: Managing Partner, Senior Partner, Partner107- Counsel: Counsel, Of Counsel108- SeniorAssociate: Senior Associate, Associate (Senior)109- Associate: Associate, Solicitor110- Junior: Junior Associate, Trainee111- Independent: Sole Practitioner, Principal, Independent Legal Practitioner112113---114115## Regulator_Tag (only with evidence)116Allowed values:117- CAC, NIPC, FIRS, StateIRS, NAFDAC, Immigration, MinistryOfMines, IPRegistry, EFCC, Police, Court118119Rule:120- Tag only when evidence mentions regulator or shows relevant matters.121- If not evidenced, leave blank; outreach email will ask the lawyer to self-report regulators handled.122123---124125## Data collection strategy (recommended sources)126Priority order:1271) Chambers / Legal 500 ranked firms for Nigeria practice (Top candidates)1282) Official law firm team pages (bio pages with emails)1293) Author pages on firm sites / Lexology / IFLR (when email is shown)1304) Boutique firm sites for Small/Solo131132---133134## Segmentation target135For each (Firm_Size x Position) segment, collect **n_per_segment** candidates **with verified emails** where possible.136137Recommended priority within Top firms:138- Counsel / SeniorAssociate / Associate (often more willing for flexible cooperation)139140---141142## Example run (MVP)143City: Lagos 144Practice: Construction 145n_per_segment: 3 146147Goal: produce a usable initial database for Lagos Construction to validate:148- Firm_Size classification is correct149- Position mapping is correct150- Emails are evidence-backed151- Column order is stable152