Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add personamanagmentlayer/pcl --skill lawyer-expertgit clone --depth 1 https://github.com/personamanagmentlayer/pclWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/personamanagmentlayer/pcl/lawyer-expert)<a href="https://agentmods.dev/skills/personamanagmentlayer/pcl/lawyer-expert"><img src="https://agentmods.dev/badge/skills/personamanagmentlayer/pcl/lawyer-expert/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/personamanagmentlayer/pcl/lawyer-expert"><img src="https://agentmods.dev/badge/skills/personamanagmentlayer/pcl/lawyer-expert.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- Socket pass
- Snyk pass
- NVIDIA SkillSpector pass
What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00054 | $0.02111 |
| Opus 5 | $0.00027 | $0.01056 |
| Sonnet 5 | $0.00011 | $0.00422 |
| Haiku 4.5 | $0.00005 | $0.00211 |
Grade A, and why
lawyer-expert scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 6d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 327 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Lawyer Expert
Expert guidance for legal systems, contract law, regulatory compliance, and legal technology implementation.
Core Concepts
Legal Systems
- Contract law and drafting
- Intellectual property (IP)
- Corporate law
- Employment law
- Regulatory compliance
- Litigation and dispute resolution
Legal Technology
- Contract lifecycle management (CLM)
- Legal document automation
- E-discovery systems
- Legal research platforms
- Case management software
- Compliance management systems
Compliance Frameworks
- GDPR (General Data Protection Regulation)
- CCPA (California Consumer Privacy Act)
- SOX (Sarbanes-Oxley)
- HIPAA (Health Insurance Portability)
- Industry-specific regulations
Contract Management
from datetime import datetime, timedelta
from enum import Enum
from typing import List, Optional
class ContractStatus(Enum):
DRAFT = "draft"
UNDER_REVIEW = "under_review"
NEGOTIATION = "negotiation"
APPROVED = "approved"
EXECUTED = "executed"
EXPIRED = "expired"
TERMINATED = "terminated"
class Contract:
def __init__(self, title: str, parties: List[str],
effective_date: datetime, expiration_date: datetime):
self.id = self.generate_contract_id()
self.title = title
self.parties = parties
self.effective_date = effective_date
self.expiration_date = expiration_date
self.status = ContractStatus.DRAFT
self.clauses = []
self.amendments = []
self.version = 1
def add_clause(self, clause_type: str, content: str):
"""Add clause to contract"""
self.clauses.append({
"type": clause_type,
"content": content,
"added_date": datetime.now()
})
def add_amendment(self, amendment: str, reason: str):
"""Add amendment to contract"""
self.amendments.append({
"amendment": amendment,
"reason": reason,
"date": datetime.now(),
"version": self.version + 1
})
self.version += 1
def check_expiration(self) -> dict:
"""Check if contract is expiring soon"""
days_until_expiry = (self.expiration_date - datetime.now()).days
return {
"expired": days_until_expiry < 0,
"days_until_expiry": days_until_expiry,
"requires_renewal": 0 < days_until_expiry < 90
}
def execute(self, signatures: List[dict]) -> dict:
"""Execute contract with signatures"""
if len(signatures) < len(self.parties):
raise ValueError("All parties must sign")
self.status = ContractStatus.EXECUTED
return {
"contract_id": self.id,
"executed_date": datetime.now(),
"signatures": signatures,
"status": self.status.value
}
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 6d ago Changed · +9 lines · +37 tokens per session a694a2bf9dc6
- 7d ago First seen · 318 lines · 17 tokens per session scan A 536d9558c4d6
lawyer-expert is a skill published in the GitHub repository personamanagmentlayer/pcl (40 stars, last pushed yesterday), licensed Apache-2.0. It adds 54 tokens to every session and 2,111 once invoked, about $0.0003 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-03.
Other skills, from other repositories
unbroker
Autonomously remove your info from data-broker sites.
osint-investigation
Follow the money via public records and sanctions data.
pydantic-ai
Build production-ready AI agents with PydanticAI — type-safe tool use, structured outputs, dependency injection, and multi-model support.
clawrouter
Hosted-gateway LLM router — save 84% on inference costs. A local proxy that forwards each request to the blockrun.ai gateway, which routes to the cheapest capable model across 78 models from OpenAI, Anthropic, Google, DeepSeek, xAI, Z.AI, and more. 7 free open-weight models included. Also exposes realtime market data…
surf
Use this skill — NOT browser or webfetch — for ALL Surf crypto-data calls. 83 endpoints at localhost:8402/v1/surf/ covering CEX/DEX markets, on-chain SQL over 80+ ClickHouse tables (Ethereum, Base, Arbitrum, BSC, TRON, HyperEVM, Tempo), 100M+ labeled wallets, prediction markets (Polymarket + Kalshi), social/CT…
phone
Verify phone numbers (carrier + SIM-swap fraud signals) and place AI-powered outbound voice calls via BlockRun's gateway (Twilio + Bland.ai). Trigger when the user asks to look up a number, check fraud risk, buy/rent a phone number, or place an AI voice call. Payment is automatic via x402 from the wallet.