{"skill":{"slug":"ng-lawyer-db-build","displayName":"Ng Lawyer Db Build","summary":"Build a verified Nigerian lawyer database by city, practice, sub-specialty, regulator, firm size, position, and contact with evidence-backed emails.","description":"# NG Lawyer DB Build (Step 1)\n\n## What this skill does\nThis is **Step 1** of Fei Gao’s “Nigeria Lawyer Network” workflow:\n1) Build a **Lawyer Database** (this skill)  \n2) Send outreach emails and score by response (separate skill)  \n3) Sort & export for fast lookup (separate skill)\n\nThe objective is to create a database that allows **fast matching** by:\n**City → Practice → Sub-specialty → Regulator → Firm size → Position → Score → Contact**.\n\nThis skill focuses on **data collection + structured classification** with evidence links.\n\n---\n\n## Inputs\n- **city**: `Lagos` | `Abuja`\n- **practice**: `Construction` | `RealEstate` | `Labour` | `Tax` | `Criminal` | `IP`\n- **n_per_segment**: integer (target **3**)\n\n---\n\n## Output files\n- **lawyer_db_ng.xlsx** (main database)\n- **sources.jsonl** (evidence per record: url + snippet + timestamp)\n\n---\n\n## Database schema (fixed column order)\nThe Excel must contain columns in this exact order:\n\n1. Lawyer_UID  \n2. Country  \n3. City  \n4. Practice  \n5. Sub_Practice  \n6. Regulator_Tag  \n7. Firm_Name  \n8. Firm_Size  \n9. Position  \n10. Lawyer_Name  \n11. Email  \n12. Phone  \n13. LinkedIn  \n14. Website  \n15. Evidence_URL  \n16. Score_Total (blank in Step 1)  \n17. Score_ResponseSpeed (blank)  \n18. Score_Detail (blank)  \n19. Score_Pricing (blank)  \n20. Score_Cooperation (blank)  \n21. Risk_Flag (blank)  \n22. NeedFollowUp (0/1)  \n23. ChannelCostRisk (Low/Medium/High)  \n24. Last_Updated\n\n---\n\n## Non-negotiable rules (to avoid future scoring chaos)\n### 1) Unique key (Lawyer_UID)\nAll later scoring MUST be written back by **Lawyer_UID**, never by name.\n\nFormat:\n- `LAW-NG-{CITYCODE}-{PRACTICECODE}-{NNNN}`\n- CityCode: Lagos=LAG, Abuja=ABJ\n- PracticeCode: Construction=CON, RealEstate=REA, Labour=LAB, Tax=TAX, Criminal=CRI, IP=IPR\n\nExample:\n- `LAW-NG-LAG-CON-0001`\n\n### 2) Email policy (anti-channel-cost)\n- Email must be **explicitly published** on the evidence page (law firm bio page, author page, or official profile).\n- **NO guessing** (e.g., firstname.lastname@firm.com is not allowed unless shown).\n- If only a general firm email exists (info@ / contact@), it may be used but set:\n  - `ChannelCostRisk=High`\n  - `NeedFollowUp=1`\n\n### 3) Evidence chain\nEach row must store **Evidence_URL**.\nThe skill also writes **sources.jsonl** with:\n- Lawyer_UID\n- Evidence_URL\n- Evidence_Snippet (<= 300 chars)\n- Captured_At\n\n### 4) Firm_Size classification (fee proxy)\nFirm_Size affects pricing expectation. Classify using evidence:\n\n- **Top**:\n  - The firm is ranked in **Chambers** or **Legal 500** in Nigeria for the relevant practice; OR\n  - Firm lawyer count **> 50** (evidence required)\n- **Mid**: lawyer count **15–50**\n- **Small**: lawyer count **2–14**\n- **Solo**: sole practitioner / independent (count=1)\n- **Unknown**: insufficient evidence → set NeedFollowUp=1\n\n### 5) Position mapping (fee proxy)\nNormalize to:\n- Partner / Counsel / SeniorAssociate / Associate / Junior / Independent / Unknown\n\nMapping hints:\n- Partner: Managing Partner, Senior Partner, Partner\n- Counsel: Counsel, Of Counsel\n- SeniorAssociate: Senior Associate, Associate (Senior)\n- Associate: Associate, Solicitor\n- Junior: Junior Associate, Trainee\n- Independent: Sole Practitioner, Principal, Independent Legal Practitioner\n\n---\n\n## Regulator_Tag (only with evidence)\nAllowed values:\n- CAC, NIPC, FIRS, StateIRS, NAFDAC, Immigration, MinistryOfMines, IPRegistry, EFCC, Police, Court\n\nRule:\n- Tag only when evidence mentions regulator or shows relevant matters.\n- If not evidenced, leave blank; outreach email will ask the lawyer to self-report regulators handled.\n\n---\n\n## Data collection strategy (recommended sources)\nPriority order:\n1) Chambers / Legal 500 ranked firms for Nigeria practice (Top candidates)\n2) Official law firm team pages (bio pages with emails)\n3) Author pages on firm sites / Lexology / IFLR (when email is shown)\n4) Boutique firm sites for Small/Solo\n\n---\n\n## Segmentation target\nFor each (Firm_Size x Position) segment, collect **n_per_segment** candidates **with verified emails** where possible.\n\nRecommended priority within Top firms:\n- Counsel / SeniorAssociate / Associate (often more willing for flexible cooperation)\n\n---\n\n## Example run (MVP)\nCity: Lagos  \nPractice: Construction  \nn_per_segment: 3  \n\nGoal: produce a usable initial database for Lagos Construction to validate:\n- Firm_Size classification is correct\n- Position mapping is correct\n- Emails are evidence-backed\n- Column order is stable\n\n","tags":{"latest":"0.1.0"},"stats":{"comments":0,"downloads":230,"installsAllTime":0,"installsCurrent":0,"stars":0,"versions":1},"createdAt":1771487670067,"updatedAt":1778491581507},"latestVersion":{"version":"0.1.0","createdAt":1771487670067,"changelog":"Initial release (Step 1) of Nigeria Lawyer Network DB builder.\n\n- Creates a structured lawyer database (lawyer_db_ng.xlsx) for Nigeria, supporting fast matching by city, practice, sub-specialty, and firm attributes.\n- Enforces evidence-based data collection with strict column order and an auxiliary evidence file (sources.jsonl).\n- Implements unique Lawyer_UID format, mandatory evidence URLs, and rigorous email sourcing rules.\n- Normalizes firm size and position categories based on stated classification criteria.\n- Supports segmentation by city, practice area, firm size, and position, with configurable candidate count per segment.\n- Prepares foundational data for future outreach and scoring modules.","license":null},"metadata":null,"owner":{"handle":"gfly0424-maker","userId":"s17693zg12p2tdy0kxgq60wsds88483w","displayName":"gfly0424-maker","image":"https://avatars.githubusercontent.com/u/260685304?v=4"},"moderation":null}