Self-Improving Negotiation
by @jose-compu
Captures negotiation strategy failures, concession leaks, BATNA weakness, framing misses, objection handling gaps, escalation misalignment, anchor errors, an...
clawhub install self-improving-negotiationπ About This Skill
name: self-improving-negotiation description: "Captures negotiation strategy failures, concession leaks, BATNA weakness, framing misses, objection handling gaps, escalation misalignment, anchor errors, and agreement quality risks for continuous improvement. Use when negotiations stall, concessions exceed guardrails, terms are ambiguous, or recurring bargaining patterns emerge."
Self-Improving Negotiation Skill
Log negotiation learnings, negotiation issues, and feature requests to markdown files for continuous improvement. Capture preparation gaps, framing misses, concession leakage, weak BATNA posture, recurring objections, escalation mistakes, contract-term ambiguity, and agreement quality risk.
Promote validated patterns into:
Safety Posture
This skill is documentation and reminder guidance only.
It does not:
Always require explicit human approval for high-impact concessions and for final terms.
First-Use Initialisation
Before logging, ensure .learnings/ exists in project/workspace root. Create missing files only:
mkdir -p .learnings
[ -f .learnings/LEARNINGS.md ] || printf "# Negotiation Learnings\n\nNegotiation strategy insights, framing improvements, BATNA lessons, concession tactics, objection handling patterns, escalation learnings, and agreement quality improvements.\n\nCategories: concession_leak | batna_weakness | framing_miss | objection_handling_gap | escalation_misalignment | value_articulation_gap | anchor_error | agreement_risk\nAreas: preparation | discovery | framing | bargaining | concessions | closing | stakeholder_alignment | escalation | contract_terms | follow_up\n\n---\n" > .learnings/LEARNINGS.md
[ -f .learnings/NEGOTIATION_ISSUES.md ] || printf "# Negotiation Issues Log\n\nNegotiation failures, concession breakdowns, unresolved redlines, escalation misalignment, and agreement quality risks.\n\n---\n" > .learnings/NEGOTIATION_ISSUES.md
[ -f .learnings/FEATURE_REQUESTS.md ] || printf "# Feature Requests\n\nNegotiation tooling, preparation automation, objection support, BATNA planning, concession controls, and agreement-risk analysis capabilities.\n\n---\n" > .learnings/FEATURE_REQUESTS.md
Never overwrite existing files.
Quick Reference
| Situation | Action |
|-----------|--------|
| Concession made without reciprocal value | Log NEG in .learnings/NEGOTIATION_ISSUES.md category concession_leak |
| BATNA undefined or weak | Log NEG category batna_weakness in preparation |
| Opening anchor failed or drifted | Log LRN category anchor_error |
| Same objection repeated across deals | Log LRN category objection_handling_gap |
| Escalation executed to wrong owner/timing | Log NEG category escalation_misalignment |
| Redline unresolved at close stage | Log NEG category agreement_risk |
| Value reframing improved movement | Log LRN category value_articulation_gap |
| Clause ambiguity discovered | Log NEG category agreement_risk in contract_terms |
| Workflow/tooling needed | Log FEAT in .learnings/FEATURE_REQUESTS.md |
| Pattern repeats 3+ times | Link entries and promote to permanent asset |
OpenClaw Setup (Recommended)
OpenClaw supports workspace-based skill loading and hook reminders.
Install
clawdhub install self-improving-negotiation
Manual clone:
git clone https://github.com/jose-compu/self-improving-negotiation.git ~/.openclaw/skills/self-improving-negotiation
Workspace Structure
~/.openclaw/workspace/
βββ AGENTS.md
βββ SOUL.md
βββ TOOLS.md
βββ MEMORY.md
βββ memory/
β βββ YYYY-MM-DD.md
βββ .learnings/
βββ LEARNINGS.md
βββ NEGOTIATION_ISSUES.md
βββ FEATURE_REQUESTS.md
Create learning files in OpenClaw workspace
mkdir -p ~/.openclaw/workspace/.learnings
Then create:
LEARNINGS.mdNEGOTIATION_ISSUES.mdFEATURE_REQUESTS.mdOptional Hook
cp -r hooks/openclaw ~/.openclaw/hooks/self-improving-negotiation
openclaw hooks enable self-improving-negotiation
See references/openclaw-integration.md.
Generic Setup (Other Agents)
For Claude Code, Codex CLI, Copilot, or other assistants:
mkdir -p .learnings
Create the same 3 files in .learnings/.
Suggested instruction block
Add to AGENTS.md, CLAUDE.md, or .github/copilot-instructions.md:
When negotiation patterns are discovered:
1. Log to .learnings/LEARNINGS.md, .learnings/NEGOTIATION_ISSUES.md, or .learnings/FEATURE_REQUESTS.md
2. Review recurring items weekly
3. Promote reusable patterns to:
- negotiation playbooks
- objection libraries
- concession guardrails
- BATNA checklists
- deal review templates
Entry Types
LRN = learningNEG = negotiation issueFEAT = feature requestLogging Formats
Learning Entry [LRN-YYYYMMDD-XXX]
Append to .learnings/LEARNINGS.md:
## [LRN-YYYYMMDD-XXX] categoryLogged: ISO-8601 timestamp
Priority: low | medium | high | critical
Status: pending
Area: preparation | discovery | framing | bargaining | concessions | closing | stakeholder_alignment | escalation | contract_terms | follow_up
Summary
One-line negotiation learning.Details
What happened, why it mattered, and what to improve.Negotiation Context
Trigger / Objection:
> Quote or paraphrase
Response Used:
> Action, phrase, offer, or decision
Outcome:
advanced | stalled | rejected | escalated | closed
Suggested Action
Concrete change to framing, concession strategy, BATNA prep, or escalation.Metadata
Source: transcript_review | negotiation_debrief | legal_review | pricing_review | post_mortem
Negotiation Type: procurement | renewal | enterprise_new_logo | partner | vendor | internal_budget
Counterparty Role: procurement | legal | finance | exec | ops | technical
Related Issues: NEG-YYYYMMDD-XXX
Tags: tag1, tag2
See Also: LRN-YYYYMMDD-XXX
Pattern-Key: framing.anchor_drift (optional)
Recurrence-Count: 1 (optional)
First-Seen: YYYY-MM-DD (optional)
Last-Seen: YYYY-MM-DD (optional)
Negotiation Issue Entry [NEG-YYYYMMDD-XXX]
Append to .learnings/NEGOTIATION_ISSUES.md:
## [NEG-YYYYMMDD-XXX] issue_typeLogged: ISO-8601 timestamp
Priority: high
Status: pending
Area: preparation | discovery | framing | bargaining | concessions | closing | stakeholder_alignment | escalation | contract_terms | follow_up
Summary
Brief description of failure/risk.Context
Stage: current stage
Counterparty: role/team
Cycle Day: days from first commercial exchange What Happened
Sequence of events and where the issue surfaced.Root Cause
Preparation gap, weak BATNA, framing miss, concession error, approval gap, or term ambiguity.Impact
Margin/pricing impact range
Timeline impact
Business/legal risk impact Prevention
Guardrails, scripts, checklists, escalation path changes.Metadata
Trigger: deadlock | repeated_objection | scope_creep | concession_exceeded_threshold | batna_not_defined | approval_missing | term_ambiguity | redline_unresolved
Related Files: path/to/debrief.md
See Also: NEG-YYYYMMDD-XXX
Feature Request Entry [FEAT-YYYYMMDD-XXX]
Append to .learnings/FEATURE_REQUESTS.md:
## [FEAT-YYYYMMDD-XXX] capability_nameLogged: ISO-8601 timestamp
Priority: medium
Status: pending
Area: preparation | discovery | framing | bargaining | concessions | closing | stakeholder_alignment | escalation | contract_terms | follow_up
Requested Capability
Tooling or workflow enhancement needed.User Context
Why this is needed and what friction it removes.Complexity Estimate
simple | medium | complexSuggested Implementation
Practical implementation suggestion.Metadata
Frequency: first_time | recurring
Related Features: existing_feature_name
Categories
| Category | Use When |
|----------|----------|
| concession_leak | Concession granted without reciprocal value |
| batna_weakness | BATNA undefined, unrealistic, or not actionable |
| framing_miss | Value narrative fails to move negotiation |
| objection_handling_gap | Repeated objection lacks effective response |
| escalation_misalignment | Escalation timing/owner path is wrong |
| value_articulation_gap | Team cannot connect terms to measurable value |
| anchor_error | Anchor too weak/strong or abandoned prematurely |
| agreement_risk | Final terms contain ambiguity or unresolved risk |
Area Tags
| Area | Scope |
|------|-------|
| preparation | BATNA setup, approval limits, stakeholder map |
| discovery | Interests, constraints, hidden blockers |
| framing | Value framing and anchor setup |
| bargaining | Offer-counteroffer strategy |
| concessions | Give-get discipline and thresholds |
| closing | Final package shaping and confirmation |
| stakeholder_alignment | Internal/external decision alignment |
| escalation | Escalation path and timing |
| contract_terms | Clauses, redlines, obligations, ambiguity |
| follow_up | Recaps, unresolved items, next-round prep |
ID Generation
Format: TYPE-YYYYMMDD-XXX
LRN | NEG | FEAT001) or random (A7B)Examples:
LRN-20260413-001NEG-20260413-A3FFEAT-20260413-002Resolve Workflow
When resolved:
1. Update Status: pending -> Status: resolved
2. Add resolution block:
### Resolution
Resolved: 2026-04-13T14:30:00Z
Action Taken: Added concession guardrail and approval checklist
Notes: Applied successfully in two subsequent negotiations
Additional statuses:
in_progresswont_fixpromotedpromoted_to_skillDetection Triggers
Log when these appear:
Deadlock
Repeated Objections
Scope Creep
Concession Exceeded Threshold
BATNA Not Defined
Approval Missing
Term Ambiguity
Redline Unresolved
Priority Guidelines
| Priority | When to Use | Example |
|----------|-------------|---------|
| critical | High-impact unresolved risk or unauthorized concession | Liability term unresolved at close; major concession without approval |
| high | Recurring pattern with material impact | BATNA absent in enterprise cycles; repeated deadlocks |
| medium | Single-cycle issue with contained impact | One objection flow underperforming |
| low | Minor improvement or documentation cleanup | Non-critical wording updates |
Promotion Targets
When patterns are validated and reusable, promote to:
| Target | What to Promote | |--------|-----------------| | Negotiation playbooks | End-to-end tactics across stages | | Objection libraries | Reusable objection-response flows | | Concession guardrails | Give-get rules and approval thresholds | | BATNA checklists | Preflight criteria and walk-away readiness | | Deal review templates | Structured post-negotiation reviews |
Promotion Criteria
Promotion Workflow
1. Distill learning into concise asset.
2. Add asset to target repository/document.
3. Update source entry:
- Status: promoted
- Promoted: negotiation_playbook (or relevant target)
Recurring Pattern Detection
Before creating a new entry:
1. Search existing patterns:
rg "Pattern-Key|concession_leak|batna_weakness|anchor_error|agreement_risk" .learnings/
2. If related entry exists:
- add See Also
- increase Recurrence-Count
- update Last-Seen
3. Raise priority if recurrence continues.
4. Identify systemic fix:
- framing issue -> playbook update
- objection issue -> objection library
- concession issue -> guardrail policy
- BATNA issue -> checklist hard gate
- term issue -> contract review templateSimplify/Harden Feed
When importing simplify-and-harden insights:
1. Use Pattern-Key as dedupe key.
2. Search for key:
rg "Pattern-Key: " .learnings/LEARNINGS.md
3. Existing key:
- increment recurrence
- update dates
- link related entries
4. New key:
- create LRN entry
- set source to simplify-and-hardenPromotion threshold suggestion:
Periodic Review
When to review
Quick checks
# Pending entries
rg "Status\\*\\*: pending" .learnings/*.md | wc -lHigh and critical issues
rg -n "Priority\\*\\*: high|Priority\\*\\*: critical" .learnings/NEGOTIATION_ISSUES.mdBATNA issues
rg -n "batna_weakness|BATNA" .learnings/*.mdConcession leaks
rg -n "concession_leak|concession" .learnings/*.mdAgreement risk
rg -n "agreement_risk|term_ambiguity|redline_unresolved" .learnings/NEGOTIATION_ISSUES.md
Review actions
Best Practices
1. Define BATNA, reservation point, and walk-away before first offer. 2. Anchor on value and risk reduction, not only price. 3. Trade every concession for reciprocal value. 4. Avoid stacking concessions in one round. 5. Keep approval ownership explicit before offering exceptions. 6. Treat ambiguous terms as active risk. 7. Capture objection wording precisely for reuse. 8. Escalate with clear decision owner and deadline. 9. Log outcomes the same day while context is fresh. 10. Promote recurring patterns quickly.
Hook Integration (Opt-In)
Use hooks to inject reminders and detect negotiation signals.
Example configuration
{
"hooks": {
"UserPromptSubmit": [
{
"matcher": "",
"hooks": [
{ "type": "command", "command": "./skills/self-improving-negotiation/scripts/activator.sh" }
]
}
],
"PostToolUse": [
{
"matcher": "Bash",
"hooks": [
{ "type": "command", "command": "./skills/self-improving-negotiation/scripts/error-detector.sh" }
]
}
]
}
}
Hook behavior is reminder-only; no execution of agreement or approval actions.
See references/hooks-setup.md.
Automatic Skill Extraction
If a learning is stable and reusable, extract a new skill.
Criteria
| Criterion | Requirement | |-----------|-------------| | Recurring | Appears in 3+ negotiations | | Verified | Improvement proven in outcomes | | Non-obvious | Practical experience required | | Broad | Useful across contexts | | Requested | User/team asked for standardization |
Workflow
1. Select candidate LRN or NEG.
2. Run extraction helper:
./skills/self-improving-negotiation/scripts/extract-skill.sh skill-name --dry-run
./skills/self-improving-negotiation/scripts/extract-skill.sh skill-name
3. Fill TODO placeholders.
4. Update source entry:
- Status: promoted_to_skill
- Skill-Path: skills/
5. Validate in fresh session.Multi-Agent Support
| Agent | Activation | Detection | |-------|-----------|-----------| | Claude Code | Hook scripts | Automatic | | Codex CLI | Hook scripts | Automatic | | GitHub Copilot | Instruction guidance | Manual | | OpenClaw | Workspace + hooks | Automatic reminders |
Coordination rules:
.learnings/ folderLRN, NEG, FEAT)See Also cross-links and reviewer ownership before promotionAgreement Quality Gate
Before final recommendation, confirm:
If any check fails, log NEG and pause final recommendation.
Gitignore Options
.learnings/
.learnings/*.md
!.learnings/.gitkeep
Shared team mode: do not ignore .learnings/.
References
references/examples.mdreferences/hooks-setup.mdreferences/openclaw-integration.mdhttps://github.com/jose-compu/self-improving-negotiation.gitStackability Contract (Standalone + Multi-Skill)
This skill is standalone-compatible and stackable with other self-improving skills.
Namespaced Logging (recommended for 2+ skills)
.learnings/negotiation/.learnings/INDEX.mdRequired Metadata
Every new entry must include:Skill: negotiation
Hook Arbitration (when 2+ skills are enabled)
event + matcher + file + 5m_window; max 1 reminder per skill every 5 minutes.Narrow Matcher Scope (negotiation)
Only trigger this skill automatically for negotiation signals such as:counteroffer|concession|anchor|walk-away|term sheetdeal risk|stakeholder alignment|fallback option|BATNACross-Skill Precedence
When guidance conflicts, apply: 1.security
2. engineering
3. coding
4. ai
5. user-explicit domain skill
6. meta as tie-breakerOwnership Rules
.learnings/negotiation/ in stackable mode.π Tips & Best Practices
1. Define BATNA, reservation point, and walk-away before first offer. 2. Anchor on value and risk reduction, not only price. 3. Trade every concession for reciprocal value. 4. Avoid stacking concessions in one round. 5. Keep approval ownership explicit before offering exceptions. 6. Treat ambiguous terms as active risk. 7. Capture objection wording precisely for reuse. 8. Escalate with clear decision owner and deadline. 9. Log outcomes the same day while context is fresh. 10. Promote recurring patterns quickly.