borghei/tech-contract-negotiation
> Negotiation frameworks for technology services agreements, B2B contracts, and professional services deals. Use when reviewing or negotiating tech contracts.
npx skills add https://github.com/borghei/Claude-Skills --skill tech-contract-negotiation
> ⚠️ EXPERIMENTAL — This skill is provided for educational and informational purposes only. It does NOT constitute legal advice. All responsibility for usage rests with the user. Consult qualified legal professionals before acting on any output.
Production-ready negotiation toolkit for technology services agreements, professional services contracts, and B2B transactions. Provides a Three-Position Framework (provider-favorable, balanced, client-favorable) for every major provision, Deal-Size Tactics across 5 tiers, Five-Tier Objection Handling, regulatory leverage arguments, and concession roadmaps. Designed for legal counsel, procurement leads, and sales/deal desk teams negotiating technology contracts from $100K to $10M+.
Before the analysis, confirm these inputs. If any is unknown or vague, ASK — do not assume:
--perspective input that flips position classification and your target positionsStop rule: ask only the 2-3 that most change the output. If the user says "just draft it," proceed and list your assumptions at the top of the analysis.
scripts/negotiation_position_analyzer.py)Analyzes contract text and classifies each provision as provider-favorable, balanced, or client-favorable based on keyword patterns and structural analysis. Generates a position map and recommended negotiation priorities.
# Analyze a contract draft
python scripts/negotiation_position_analyzer.py contract_draft.txt
# JSON output for integration
python scripts/negotiation_position_analyzer.py contract_draft.txt --json
# Analyze from a specific party's perspective
python scripts/negotiation_position_analyzer.py contract_draft.txt --perspective client
scripts/deal_complexity_scorer.py)Takes deal parameters and scores complexity across 7 dimensions. Recommends deal tier (1-5), expected timeline, number of rounds, and key focus areas.
# Score deal complexity from parameters file
python scripts/deal_complexity_scorer.py deal_params.json
# JSON output
python scripts/deal_complexity_scorer.py deal_params.json --json
# Override deal value for quick what-if
python scripts/deal_complexity_scorer.py deal_params.json --deal-value 5000000
| Reference | Purpose |
|-----------|---------|
| references/three_position_framework.md | Provider/balanced/client positions for 5 major provisions with deal-size tactics |
| references/objection_handling.md | Five-tier objection methodology, prediction matrix, communication templates |
| references/regulatory_leverage.md | GDPR, DORA, NIS2, SOX leverage arguments, concession roadmap, industry considerations |
deal_complexity_scorer.py with deal parameters to determine tier, timeline, and focus areasnegotiation_position_analyzer.py on the initial contract to map current positionsthree_position_framework.mdobjection_handling.md for predicted objections based on client typeregulatory_leverage.mdobjection_handling.mdnegotiation_position_analyzer.py on each revised draft| Problem | Cause | Solution |
|---------|-------|----------|
| Analyzer flags everything as "provider-favorable" | Input is a vendor's first draft (expected behavior) | Use --perspective provider to flip the analysis; compare against balanced baseline |
| Complexity scorer returns Tier 5 for a small deal | High regulatory or multi-jurisdictional flags triggered | Review the regulatory and jurisdiction inputs; lower if overestimated |
| Position map shows no IP provisions detected | Contract uses non-standard terminology for IP clauses | Check for terms like "work product," "deliverables ownership," or "background IP" manually |
| Deal timeline estimate seems too short | Scorer does not account for internal approval delays | Add internal review buffer (typically 1-2 weeks per approval level) to the estimated timeline |
| Objection framework doesn't cover a specific pushback | Counterparty raised an atypical demand | Start with Acknowledge tier; frame using closest Market Context example; escalate to Bright Lines if needed |
| Regulatory leverage arguments rejected as irrelevant | Framework doesn't apply to counterparty's jurisdiction | Verify which regulations actually bind each party; remove inapplicable leverage points |
This skill covers:
This skill does NOT cover:
| Anti-Pattern | Why It Fails | Better Approach |
|--------------|-------------|-----------------|
| Treating every provision as a Bright Line | Counterparty disengages when everything is non-negotiable | Classify provisions into 4 concession tiers; trade Easy Gives early to build goodwill |
| Skipping deal complexity assessment | Under-preparing for complex deals or over-preparing for simple ones | Always run complexity scorer first to calibrate effort, timeline, and approval requirements |
| Using regulatory leverage when the regulation doesn't apply | Destroys credibility and trust with informed counterparties | Verify applicability before citing any regulation; use the genuine-vs-preference test from the framework |
| Accepting "this is our standard template" at face value | Every template is negotiable; accepting defaults leaves value on the table | Analyze the "standard" template with the position analyzer to identify moveable provisions |
| Negotiating provisions in isolation | Conceding on SLAs without linking to liability caps creates exposure | Use the Three-Position Framework holistically; link related provisions (SLAs to credits to liability) |
scripts/negotiation_position_analyzer.pyAnalyze contract text and classify provisions by negotiation position.
usage: negotiation_position_analyzer.py [-h] [--json] [--perspective {provider,client}]
input_file
positional arguments:
input_file Path to contract text file (.txt or .md)
options:
-h, --help Show help message and exit
--json Output results as JSON
--perspective {provider,client}
Analysis perspective (default: client)
Outputs: Provision-by-provision position classification (provider-favorable / balanced / client-favorable), overall position score, position distribution summary, and prioritized negotiation recommendations.
scripts/deal_complexity_scorer.pyScore deal complexity across 7 dimensions and recommend negotiation parameters.
usage: deal_complexity_scorer.py [-h] [--json] [--deal-value DEAL_VALUE]
input_file
positional arguments:
input_file Path to JSON file with deal parameters
options:
-h, --help Show help message and exit
--json Output results as JSON
--deal-value DEAL_VALUE
Override deal value in dollars
Outputs: 7-dimension complexity breakdown (value, regulatory, technical, multi-party, duration, strategic importance, IP sensitivity), composite score, deal tier (1-5), recommended timeline, expected negotiation rounds, and key focus areas.
Take borghei/tech-contract-negotiation from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.