AI
Pass
All posts
agent-docs

AI Salary Negotiation Coach Agent Skill — AI Pass API

Agent skill for salary negotiation coaching. Generates personalized scripts, strategies, and responses to employer objections using AI Pass API.

EiliyaMarch 18, 20263 min read

AI Salary Negotiation Coach Agent Skill — AI Pass API

Skill for: Generating salary negotiation strategies, scripts, and coaching API: AI Pass Chat Completions Endpoint: https://aipass.one/apikey/v1/chat/completions

Overview

This skill enables AI agents to act as salary negotiation coaches. Given a user's employment situation, compensation targets, and negotiation context, it generates actionable strategies, word-for-word scripts, and psychological tactics.

Skill Definition

name: salary-negotiation-coach
description: Coaches users through salary negotiations with personalized scripts, strategies, and responses to common pushback.
version: 1.0.0
auth:
  type: api_key
  env: AIPASS_API_KEY

Implementation

import os
import requests

AIPASS_API_KEY = os.environ["AIPASS_API_KEY"]
BASE_URL = "https://aipass.one/apikey/v1"

def generate_negotiation_strategy(
    job_title: str,
    current_salary: str,
    target_salary: str,
    scenario: str,
    context: str = "",
    industry: str = ""
) -> dict:
    """
    Generate a personalized salary negotiation strategy.
    
    Args:
        job_title: User's current or target job title
        current_salary: Current compensation (with currency)
        target_salary: Desired compensation target
        scenario: One of: "new_offer", "raise_request", "promotion", "freelance_rate"
        context: Additional context (competing offers, achievements, etc.)
        industry: Industry/sector for market context
    
    Returns:
        dict with negotiation strategy and scripts
    """
    
    scenario_descriptions = {
        "new_offer": "negotiating a new job offer",
        "raise_request": "requesting a salary raise at performance review",
        "promotion": "negotiating terms for a promotion",
        "freelance_rate": "negotiating freelance/consulting rates with a client"
    }
    
    scenario_text = scenario_descriptions.get(scenario, scenario)
    
    system_prompt = """You are an expert salary negotiation coach with expertise in:
- Compensation psychology and anchoring techniques
- Industry-specific negotiation norms
- Handling common employer objections
- Win-win negotiation frameworks

Always provide practical, confidence-building advice with specific scripts."""
    
    user_prompt = f"""Coach this person through salary negotiation:

Job Title: {job_title}
Industry: {industry or "Not specified"}
Current Compensation: {current_salary}
Target Compensation: {target_salary}
Scenario: {scenario_text}
Additional Context: {context or "None"}

Provide a complete negotiation playbook:

1. **Market Positioning** — Why their target is justified
2. **Opening Statement** — How to start (exact words)
3. **Full Negotiation Script** — With responses to common pushback:
   - "That's above our budget range"
   - "We don't have room to negotiate"
   - "Let me check with HR/management"
4. **Key Tactics** — 3 psychological strategies to use
5. **Non-Salary Wins** — Alternative compensation to negotiate if salary is fixed
6. **Walk-Away Point** — When to walk away and how to do it gracefully"""
    
    response = requests.post(
        f"{BASE_URL}/chat/completions",
        headers={
            "Authorization": f"Bearer {AIPASS_API_KEY}",
            "Content-Type": "application/json"
        },
        json={
            "model": "gpt-5-mini",
            "temperature": 1,
            "max_tokens": 16000,
            "messages": [
                {"role": "system", "content": system_prompt},
                {"role": "user", "content": user_prompt}
            ]
        }
    )
    
    result = response.json()
    strategy = result["choices"][0]["message"]["content"]
    
    return {
        "strategy": strategy,
        "job_title": job_title,
        "current_salary": current_salary,
        "target_salary": target_salary,
        "scenario": scenario,
        "model": "gpt-5-mini"
    }


def generate_counter_response(employer_objection: str, context: str = "") -> str:
    """
    Generate a response to a specific employer objection during negotiation.
    
    Args:
        employer_objection: What the employer just said
        context: Negotiation context
    
    Returns:
        Suggested response string
    """
    
    response = requests.post(
        f"{BASE_URL}/chat/completions",
        headers={
            "Authorization": f"Bearer {AIPASS_API_KEY}",
            "Content-Type": "application/json"
        },
        json={
            "model": "gpt-5-mini",
            "temperature": 1,
            "max_tokens": 4000,
            "messages": [
                {
                    "role": "system",
                    "content": "You are a salary negotiation expert. Generate confident, professional responses to employer objections. Keep responses concise and firm but collaborative."
                },
                {
                    "role": "user",
                    "content": f"Context: {context}\n\nEmployer just said: \"{employer_objection}\"\n\nGenerate 2-3 response options (word-for-word scripts) the candidate can use:"
                }
            ]
        }
    )
    
    return response.json()["choices"][0]["message"]["content"]

Usage Examples

# Set your API key
import os
os.environ["AIPASS_API_KEY"] = "$AIPASS_API_KEY"

# Generate full negotiation strategy
result = generate_negotiation_strategy(
    job_title="Senior Product Manager",
    current_salary="$95,000",
    target_salary="$130,000",
    scenario="new_offer",
    context="I have a competing offer at $115k and 5 years of relevant experience",
    industry="SaaS / Tech"
)
print(result["strategy"])

# Handle a specific objection
response = generate_counter_response(
    employer_objection="We really can't go above $110,000 — that's our budget ceiling",
    context="I'm negotiating for a PM role, target is $130k, they offered $110k"
)
print(response)

Agent Tool Definition (OpenAI-compatible)

{
  "type": "function",
  "function": {
    "name": "salary_negotiation_coach",
    "description": "Generates personalized salary negotiation strategies and scripts. Use when a user needs help negotiating salary, raises, or freelance rates.",
    "parameters": {
      "type": "object",
      "properties": {
        "job_title": {"type": "string", "description": "Job title being negotiated for"},
        "current_salary": {"type": "string", "description": "Current compensation"},
        "target_salary": {"type": "string", "description": "Desired compensation"},
        "scenario": {
          "type": "string",
          "enum": ["new_offer", "raise_request", "promotion", "freelance_rate"]
        },
        "context": {"type": "string", "description": "Additional negotiation context"}
      },
      "required": ["job_title", "current_salary", "target_salary", "scenario"]
    }
  }
}

Get Started

  1. Sign up at aipass.one
  2. Go to Developer DashboardAPI Keys
  3. Set AIPASS_API_KEY in your environment
  4. Run the skill

Try the app: aipass.one/apps/salary-negotiator

Related skills:

Related apps