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:
This skill is documentation and reminder guidance only.
It does not:
Always require explicit human approval for high-impact concessions and for final terms.
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\n**Categories**: concession_leak | batna_weakness | framing_miss | objection_handling_gap | escalation_misalignment | value_articulation_gap | anchor_error | agreement_risk\n**Areas**: 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.
| 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 supports workspace-based skill loading and hook reminders.
clawdhub install self-improving-negotiation
Manual clone:
git clone https://github.com/jose-compu/self-improving-negotiation.git ~/.openclaw/skills/self-improving-negotiation
~/.openclaw/workspace/
├── AGENTS.md
├── SOUL.md
├── TOOLS.md
├── MEMORY.md
├── memory/
│ └── YYYY-MM-DD.md
└── .learnings/
├── LEARNINGS.md
├── NEGOTIATION_ISSUES.md
└── FEATURE_REQUESTS.md
mkdir -p ~/.openclaw/workspace/.learnings
Then create:
LEARNINGS.mdNEGOTIATION_ISSUES.mdFEATURE_REQUESTS.mdcp -r hooks/openclaw ~/.openclaw/hooks/self-improving-negotiation
openclaw hooks enable self-improving-negotiation
See references/openclaw-integration.md.
For Claude Code, Codex CLI, Copilot, or other assistants:
mkdir -p .learnings
Create the same 3 files in .learnings/.
Add to AGENTS.md, CLAUDE.md, or .github/copilot-instructions.md:
When negotiation patterns are discovered:
.learnings/LEARNINGS.md, .learnings/NEGOTIATION_ISSUES.md, or .learnings/FEATURE_REQUESTS.mdLRN = learningNEG = negotiation issueFEAT = feature requestAppend to .learnings/LEARNINGS.md:
## [LRN-YYYYMMDD-XXX] category
**Logged**: 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)
---
Append to .learnings/NEGOTIATION_ISSUES.md:
## [NEG-YYYYMMDD-XXX] issue_type
**Logged**: 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
---
Append to .learnings/FEATURE_REQUESTS.md:
## [FEAT-YYYYMMDD-XXX] capability_name
**Logged**: 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 | complex
### Suggested Implementation
Practical implementation suggestion.
### Metadata
- Frequency: first_time | recurring
- Related Features: existing_feature_name
---
| 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 | 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 |
Format: TYPE-YYYYMMDD-XXX
LRN | NEG | FEAT001) or random (A7B)Examples:
LRN-20260413-001NEG-20260413-A3FFEAT-20260413-002When resolved:
Status: pending -> Status: resolved### 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_skillLog when these appear:
| 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 |
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 |
Status: promotedPromoted: negotiation_playbook (or relevant target)Before creating a new entry:
```bash
rg "Pattern-Key|concession_leak|batna_weakness|anchor_error|agreement_risk" .learnings/
```
See AlsoRecurrence-CountLast-SeenWhen importing simplify-and-harden insights:
Pattern-Key as dedupe key.```bash
rg "Pattern-Key:
```
LRN entryPromotion threshold suggestion:
# Pending entries
rg "Status\\*\\*: pending" .learnings/*.md | wc -l
# High and critical issues
rg -n "Priority\\*\\*: high|Priority\\*\\*: critical" .learnings/NEGOTIATION_ISSUES.md
# BATNA issues
rg -n "batna_weakness|BATNA" .learnings/*.md
# Concession leaks
rg -n "concession_leak|concession" .learnings/*.md
# Agreement risk
rg -n "agreement_risk|term_ambiguity|redline_unresolved" .learnings/NEGOTIATION_ISSUES.md
Use hooks to inject reminders and detect negotiation signals.
{
"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.
If a learning is stable and reusable, extract a new skill.
| 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 |
LRN or NEG.```bash
./skills/self-improving-negotiation/scripts/extract-skill.sh skill-name --dry-run
./skills/self-improving-negotiation/scripts/extract-skill.sh skill-name
```
Status: promoted_to_skillSkill-Path: skills/| 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 promotionBefore final recommendation, confirm:
If any check fails, log NEG and pause final recommendation.
.learnings/
.learnings/*.md
!.learnings/.gitkeep
Shared team mode: do not ignore .learnings/.
references/examples.mdreferences/hooks-setup.mdreferences/openclaw-integration.mdhttps://github.com/jose-compu/self-improving-negotiation.gitSkill, hooks, and scripts are reminder-only controls; they never approve concessions, accept terms, commit pricing, execute approvals, or finalize agreements. Human approval remains required for high-impact concessions and final terms.
This skill is standalone-compatible and stackable with other self-improving skills.
.learnings/negotiation/.learnings/INDEX.mdEvery new entry must include:
**Skill**: negotiation
event + matcher + file + 5m_window; max 1 reminder per skill every 5 minutes.Only trigger this skill automatically for negotiation signals such as:
counteroffer|concession|anchor|walk-away|term sheetdeal risk|stakeholder alignment|fallback option|BATNAWhen guidance conflicts, apply:
securityengineeringcodingaimeta as tie-breaker.learnings/negotiation/ in stackable mode.共 1 个版本