Self-Improving Negotiation

v1.0.0

Captures negotiation strategy failures, concession leaks, BATNA weakness, framing misses, objection handling gaps, escalation misalignment, anchor errors, an...

0· 74·0 current·0 all-time
byJosé I. O.@jose-compu

Install

OpenClaw Prompt Flow

Install with OpenClaw

Best for remote or guided setup. Copy the exact prompt, then paste it into OpenClaw for jose-compu/self-improving-negotiation.

Previewing Install & Setup.
Prompt PreviewInstall & Setup
Install the skill "Self-Improving Negotiation" (jose-compu/self-improving-negotiation) from ClawHub.
Skill page: https://clawhub.ai/jose-compu/self-improving-negotiation
Keep the work scoped to this skill only.
After install, inspect the skill metadata and help me finish setup.
Use only the metadata you can verify from ClawHub; do not invent missing requirements.
Ask before making any broader environment changes.

Command Line

CLI Commands

Use the direct CLI path if you want to install manually and keep every step visible.

OpenClaw CLI

Bare skill slug

openclaw skills install self-improving-negotiation

ClawHub CLI

Package manager switcher

npx clawhub@latest install self-improving-negotiation
Security Scan
VirusTotalVirusTotal
Benign
View report →
OpenClawOpenClaw
Benign
high confidence
Purpose & Capability
Name/description describe capturing negotiation learnings and promoting patterns; the scripts and hooks align with that goal (creating .learnings files, scaffolding skills, injecting reminders). No unrelated credentials, binaries, or network installs are required by the skill itself.
Instruction Scope
Runtime instructions and included scripts write/append local files (.learnings/LEARNINGS.md, NEGOTIATION_ISSUES.md, FEATURE_REQUESTS.md) and inject a virtual bootstrap reminder. The error-detector reads the environment variable CLAUDE_TOOL_OUTPUT to inspect tool output; this env var is reasonable for a PostToolUse hook but is not declared as a required env var in the registry metadata. Review that hook behavior if you run it in environments where tool outputs may contain sensitive data.
Install Mechanism
No install spec or remote downloads. All code is included in the skill bundle (bash scripts, JS/TS hook handlers). The extract-skill script scaffolds files locally; no external package registries, shorteners, or remote installers are used.
Credentials
The skill does not request credentials or config paths. It does read CLAUDE_TOOL_OUTPUT in the error-detector script (expected for a PostToolUse hook). It writes into workspace paths (project root or ~/.openclaw/workspace/.learnings) which is appropriate for its purpose but means it will create/modify files in your workspace when enabled.
Persistence & Privilege
always is false and model invocation is not disabled. Hooks are optional and must be enabled by the user; the handlers only inject a virtual reminder file and do not change other skills' configs or persist credentials. The skill does create files when scaffold/extraction scripts run, which is expected behavior for a logging/scaffolding tool.
Assessment
This skill appears to do what it says: emit reminders and log negotiation learnings locally. Before enabling hooks or running scripts: (1) inspect the included scripts (activator.sh, error-detector.sh, extract-skill.sh) to confirm you are comfortable with their file-write behavior; (2) be aware the error-detector reads CLAUDE_TOOL_OUTPUT — avoid running it where tool output might contain secrets; (3) the hooks will add a virtual reminder at agent bootstrap and scaffold files into your workspace if you run the extraction script or follow install steps — run in a test workspace or dry-run first; (4) if you plan to clone the referenced GitHub repo, review that remote code before executing. Overall there are no unexplained credential requests or remote downloads, so risk is low if you review and enable intentionally.

Like a lobster shell, security has layers — review code before you run it.

latestvk978698z9kew278xvn2j5gqkw184tjbk
74downloads
0stars
1versions
Updated 1w ago
v1.0.0
MIT-0

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:

  • negotiation playbooks
  • objection libraries
  • concession guardrails
  • BATNA checklists
  • deal review templates

Safety Posture

This skill is documentation and reminder guidance only.

It does not:

  • auto-accept terms
  • commit pricing
  • execute legal/financial approvals
  • finalize agreements

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\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.

Quick Reference

SituationAction
Concession made without reciprocal valueLog NEG in .learnings/NEGOTIATION_ISSUES.md category concession_leak
BATNA undefined or weakLog NEG category batna_weakness in preparation
Opening anchor failed or driftedLog LRN category anchor_error
Same objection repeated across dealsLog LRN category objection_handling_gap
Escalation executed to wrong owner/timingLog NEG category escalation_misalignment
Redline unresolved at close stageLog NEG category agreement_risk
Value reframing improved movementLog LRN category value_articulation_gap
Clause ambiguity discoveredLog NEG category agreement_risk in contract_terms
Workflow/tooling neededLog FEAT in .learnings/FEATURE_REQUESTS.md
Pattern repeats 3+ timesLink 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.md
  • NEGOTIATION_ISSUES.md
  • FEATURE_REQUESTS.md

Optional 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 = learning
  • NEG = negotiation issue
  • FEAT = feature request

Logging Formats

Learning Entry [LRN-YYYYMMDD-XXX]

Append 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)

---

Negotiation Issue Entry [NEG-YYYYMMDD-XXX]

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

---

Feature Request Entry [FEAT-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

---

Categories

CategoryUse When
concession_leakConcession granted without reciprocal value
batna_weaknessBATNA undefined, unrealistic, or not actionable
framing_missValue narrative fails to move negotiation
objection_handling_gapRepeated objection lacks effective response
escalation_misalignmentEscalation timing/owner path is wrong
value_articulation_gapTeam cannot connect terms to measurable value
anchor_errorAnchor too weak/strong or abandoned prematurely
agreement_riskFinal terms contain ambiguity or unresolved risk

Area Tags

AreaScope
preparationBATNA setup, approval limits, stakeholder map
discoveryInterests, constraints, hidden blockers
framingValue framing and anchor setup
bargainingOffer-counteroffer strategy
concessionsGive-get discipline and thresholds
closingFinal package shaping and confirmation
stakeholder_alignmentInternal/external decision alignment
escalationEscalation path and timing
contract_termsClauses, redlines, obligations, ambiguity
follow_upRecaps, unresolved items, next-round prep

ID Generation

Format: TYPE-YYYYMMDD-XXX

  • TYPE: LRN | NEG | FEAT
  • YYYYMMDD: date
  • XXX: sequential (001) or random (A7B)

Examples:

  • LRN-20260413-001
  • NEG-20260413-A3F
  • FEAT-20260413-002

Resolve 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_progress
  • wont_fix
  • promoted
  • promoted_to_skill

Detection Triggers

Log when these appear:

Deadlock

  • No movement after 2+ rounds
  • Repeated counters without new rationale
  • Decision timeline slips with no clear blocker

Repeated Objections

  • Same objection in 3+ negotiations
  • Existing response script fails repeatedly
  • Objection appears across multiple stakeholder roles

Scope Creep

  • New obligations added after pricing alignment
  • Added deliverables without compensating terms
  • Late-stage requirement expansion

Concession Exceeded Threshold

  • Discount/term concession above approved band
  • Multiple micro-concessions exceed policy combined
  • Concession offered before reciprocal commitment

BATNA Not Defined

  • No walk-away threshold
  • No fallback path
  • BATNA not costed/timed

Approval Missing

  • Concession offered without required approval
  • Decision made on verbal approval only
  • Approval owner unclear late in cycle

Term Ambiguity

  • Clause supports conflicting interpretations
  • Undefined SLA/penalty terms
  • Renewal/termination trigger unclear

Redline Unresolved

  • Open legal comments at close stage
  • Internal and external redline versions diverge
  • "To be clarified later" language remains

Priority Guidelines

PriorityWhen to UseExample
criticalHigh-impact unresolved risk or unauthorized concessionLiability term unresolved at close; major concession without approval
highRecurring pattern with material impactBATNA absent in enterprise cycles; repeated deadlocks
mediumSingle-cycle issue with contained impactOne objection flow underperforming
lowMinor improvement or documentation cleanupNon-critical wording updates

Promotion Targets

When patterns are validated and reusable, promote to:

TargetWhat to Promote
Negotiation playbooksEnd-to-end tactics across stages
Objection librariesReusable objection-response flows
Concession guardrailsGive-get rules and approval thresholds
BATNA checklistsPreflight criteria and walk-away readiness
Deal review templatesStructured post-negotiation reviews

Promotion Criteria

  • Pattern recurs at least 3 times
  • Countermeasure verified in real outcomes
  • Useful across contexts (not one-off)
  • Non-obvious and operationally important

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 template

Simplify/Harden Feed

When importing simplify-and-harden insights:

  1. Use Pattern-Key as dedupe key.
  2. Search for key:
    rg "Pattern-Key: <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-harden

Promotion threshold suggestion:

  • recurrence >= 3
  • appears in 2+ negotiation contexts
  • appears within 90 days

Periodic Review

When to review

  • Before high-stakes negotiation rounds
  • After deadlock or failed escalation
  • Weekly for active deals
  • Monthly for pattern consolidation
  • Before quarter-end closes

Quick checks

# 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

Review actions

  • Resolve addressed issues
  • Promote validated patterns
  • Merge duplicates with links
  • Tighten concession thresholds
  • Refresh BATNA checklist
  • Update escalation matrix

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

CriterionRequirement
RecurringAppears in 3+ negotiations
VerifiedImprovement proven in outcomes
Non-obviousPractical experience required
BroadUseful across contexts
RequestedUser/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/<skill-name>
  5. Validate in fresh session.

Multi-Agent Support

AgentActivationDetection
Claude CodeHook scriptsAutomatic
Codex CLIHook scriptsAutomatic
GitHub CopilotInstruction guidanceManual
OpenClawWorkspace + hooksAutomatic reminders

Coordination rules:

  • Use one canonical .learnings/ folder
  • Use stable IDs (LRN, NEG, FEAT)
  • Add See Also cross-links and reviewer ownership before promotion

Agreement Quality Gate

Before final recommendation, confirm:

  • BATNA is still valid
  • concessions are reciprocal
  • approvals are documented
  • redlines are resolved
  • ambiguous clauses are removed

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.md
  • references/hooks-setup.md
  • references/openclaw-integration.md
  • Clone URL: https://github.com/jose-compu/self-improving-negotiation.git Skill, 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.

Stackability Contract (Standalone + Multi-Skill)

This skill is standalone-compatible and stackable with other self-improving skills.

Namespaced Logging (recommended for 2+ skills)

  • Namespace for this skill: .learnings/negotiation/
  • Keep current standalone behavior if you prefer flat files.
  • Optional shared index for all skills: .learnings/INDEX.md

Required Metadata

Every new entry must include:

**Skill**: negotiation

Hook Arbitration (when 2+ skills are enabled)

  • Use one dispatcher hook as the single entrypoint.
  • Dispatcher responsibilities: route by matcher, dedupe repeated events, and rate-limit reminders.
  • Suggested defaults: dedupe key = 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 sheet
  • deal risk|stakeholder alignment|fallback option|BATNA
  • explicit negotiation intent in user prompt

Cross-Skill Precedence

When guidance conflicts, apply:

  1. security
  2. engineering
  3. coding
  4. ai
  5. user-explicit domain skill
  6. meta as tie-breaker

Ownership Rules

  • This skill writes only to .learnings/negotiation/ in stackable mode.
  • It may read other skill folders for cross-linking, but should not rewrite their entries.

Comments

Loading comments...