Pilot legal contract review setup
Skill TeoSlayer/pilot-skills/skills/pilot-legal-contract-review-setup
80+ agent skills for Pilot Protocol — communication, file transfer, trust, task routing, swarm coordination, and more
npx -y skills add TeoSlayer/pilot-skills --skill pilot-legal-contract-review-setupAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 7 stars7 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Deploy a legal contract review pipeline with 3 agents. Use this skill when: 1. User wants to set up an automated contract review or legal document analysis pipeline 2. User is configuring an extractor, risk assessor, or summary generator for contracts 3. User asks about clause extraction, compliance checking, or legal risk assessment workflows Do NOT use this skill when: - User wants to share a single file (use pilot-share instead) - User wants to filter generic events (use pilot-event-filter instead)
The file declares its own license as AGPL-3.0. That is the author’s claim about this one file, and it is not the same thing as the license GitHub reports for the repository, which is listed with the other numbers below.
SKILL.md
6.5 KB, ~1.5k tokens by cl100k_base, as published. Nobody here has run it
Legal Contract Review Setup
Deploy 3 agents that extract, assess, and summarize legal contracts with zero central server.
Roles
| Role | Hostname | Skills | Purpose |
|---|---|---|---|
| extractor | <prefix>-extractor | pilot-share, pilot-stream-data, pilot-archive | Parses contracts, extracts clauses and key terms |
| assessor | <prefix>-assessor | pilot-event-filter, pilot-alert, pilot-priority-queue | Evaluates risk, flags non-standard terms |
| summarizer | <prefix>-summarizer | pilot-announce, pilot-webhook-bridge, pilot-receipt | Generates executive summaries, delivers reports |
Setup Procedure
Step 1: Ask the user which role this agent should play and what prefix to use.
Step 2: Install the skills for the chosen role:
# For extractor:
clawhub install pilot-share pilot-stream-data pilot-archive
# For assessor:
clawhub install pilot-event-filter pilot-alert pilot-priority-queue
# For summarizer:
clawhub install pilot-announce pilot-webhook-bridge pilot-receipt
Step 3: Set the hostname and write the manifest:
pilotctl --json set-hostname <prefix>-<role>
mkdir -p ~/.pilot/setups
Then write the role-specific JSON manifest to ~/.pilot/setups/legal-contract-review.json.
Step 4: Tell the user to initiate handshakes with adjacent agents.
Manifest Templates Per Role
extractor
{
"setup": "legal-contract-review",
"setup_name": "Legal Contract Review",
"role": "extractor",
"role_name": "Clause Extractor",
"hostname": "<prefix>-extractor",
"description": "Parses contracts, extracts key terms, dates, obligations, parties, and monetary values.",
"skills": {
"pilot-share": "Receive uploaded contract documents from external sources.",
"pilot-stream-data": "Stream extracted clause data to the risk assessor.",
"pilot-archive": "Archive original documents for audit trail."
},
"peers": [
{ "role": "assessor", "hostname": "<prefix>-assessor", "description": "Receives extracted clauses" }
],
"data_flows": [
{ "direction": "send", "peer": "<prefix>-assessor", "port": 1002, "topic": "extracted-clauses", "description": "Structured clause data with metadata" }
],
"handshakes_needed": ["<prefix>-assessor"]
}
assessor
{
"setup": "legal-contract-review",
"setup_name": "Legal Contract Review",
"role": "assessor",
"role_name": "Risk Assessor",
"hostname": "<prefix>-assessor",
"description": "Evaluates clauses against compliance templates, flags risks and missing protections.",
"skills": {
"pilot-event-filter": "Filter clauses by type, severity, and compliance category.",
"pilot-alert": "Raise alerts on high-severity non-standard terms.",
"pilot-priority-queue": "Prioritize flagged clauses by risk severity for the summarizer."
},
"peers": [
{ "role": "extractor", "hostname": "<prefix>-extractor", "description": "Sends extracted clauses" },
{ "role": "summarizer", "hostname": "<prefix>-summarizer", "description": "Receives risk assessment" }
],
"data_flows": [
{ "direction": "receive", "peer": "<prefix>-extractor", "port": 1002, "topic": "extracted-clauses", "description": "Structured clause data" },
{ "direction": "send", "peer": "<prefix>-summarizer", "port": 1002, "topic": "risk-assessment", "description": "Risk assessment with flagged items" }
],
"handshakes_needed": ["<prefix>-extractor", "<prefix>-summarizer"]
}
summarizer
{
"setup": "legal-contract-review",
"setup_name": "Legal Contract Review",
"role": "summarizer",
"role_name": "Summary Generator",
"hostname": "<prefix>-summarizer",
"description": "Produces executive summaries with risk scores and actionable recommendations.",
"skills": {
"pilot-announce": "Broadcast contract review completion to interested peers.",
"pilot-webhook-bridge": "Deliver summary reports to external systems via webhook.",
"pilot-receipt": "Send review completion receipts for tracking."
},
"peers": [
{ "role": "assessor", "hostname": "<prefix>-assessor", "description": "Sends risk assessment" }
],
"data_flows": [
{ "direction": "receive", "peer": "<prefix>-assessor", "port": 1002, "topic": "risk-assessment", "description": "Risk assessment with flagged items" },
{ "direction": "send", "peer": "external", "port": 443, "topic": "contract-summary", "description": "Executive summary report" }
],
"handshakes_needed": ["<prefix>-assessor"]
}
Data Flows
extractor -> assessor: extracted clauses and metadata (port 1002)assessor -> summarizer: risk assessment with flagged items (port 1002)summarizer -> external: executive summary report (port 443)
Handshakes
# extractor <-> assessor:
pilotctl --json handshake <prefix>-assessor "setup: legal-contract-review"
pilotctl --json handshake <prefix>-extractor "setup: legal-contract-review"
# assessor <-> summarizer:
pilotctl --json handshake <prefix>-summarizer "setup: legal-contract-review"
pilotctl --json handshake <prefix>-assessor "setup: legal-contract-review"
Workflow Example
# On extractor -- publish extracted clauses:
pilotctl --json publish <prefix>-assessor extracted-clauses '{"contract_id":"CTR-2026-0042","parties":["Acme","Widget"],"clauses":[{"type":"indemnification","section":"7.2"}]}'
# On assessor -- publish risk assessment:
pilotctl --json publish <prefix>-summarizer risk-assessment '{"contract_id":"CTR-2026-0042","risk_score":7.2,"flags":[{"clause":"indemnification","severity":"high"}]}'
# On summarizer -- subscribe to assessments:
pilotctl --json subscribe risk-assessment
Dependencies
Requires pilot-protocol skill, pilotctl binary, clawhub binary, and a running daemon.