by thetestingacademy
Research market rates, build negotiation strategy, and create counter-offer scripts
npx @qaskills/cli add salary-negotiation-prepAuto-detects your AI agent and installs the skill. Works with Claude Code, Cursor, Copilot, and more.
Use this skill when the user wants to:
Key Principles:
What You're Really Negotiating:
Sources to Check:
Build a Range:
Low (25th percentile): $XXX,XXX
Target (50th percentile): $XXX,XXX
High (75th percentile): $XXX,XXX
Stretch (90th percentile): $XXX,XXX
Factors That Increase Your Worth:
Factors That May Limit:
Total Comp = Base + Bonus + Equity + Benefits
EXAMPLE:
Base Salary: $150,000
Target Bonus (15%): $22,500
RSU Grant (4-year): $200,000 ($50,000/year)
401k Match (4%): $6,000
Benefits Value: ~$15,000
Total Annual Comp: $243,500
Common Equity Terms:
Best Time: After you have a written offer, before you sign
Timeline:
Structure:
Subject: [Your Name] - Offer Discussion
Hi [Recruiter/Hiring Manager],
Thank you so much for the offer to join [Company] as [Title]. I'm very excited about the opportunity to [specific thing about the role]. After speaking with the team and learning more about [something specific], I'm confident this is the right fit.
I've had time to review the offer details and wanted to discuss the compensation. Based on my research of the market and my [X years of experience / specific valuable skill / competing offer], I was hoping we could discuss a base salary of $[Your Ask] rather than $[Their Offer].
[Optional: Add specific justification - e.g., "I've seen similar roles at [comparable companies] in this range" or "Given the scope of the role and my track record of [specific achievement], I believe this reflects my value."]
I'm flexible and open to discussing other elements of the package as well. Would you have time for a quick call to discuss?
Thank you again for this opportunity. I'm looking forward to finding a package that works for both of us.
Best,
[Your Name]
"Hi [Name], thanks for making time. I'm really excited about this opportunity - [genuine specific reason].
I've reviewed the offer and want to discuss compensation. Based on my market research and [X years experience / key accomplishment / competing offer], I was hoping for a base salary closer to $[Amount].
Is there flexibility there?"
[LISTEN - Let them respond]
[If they push back:]
"I understand there are constraints. I'm flexible - could we look at other elements like signing bonus, equity, or [other element] to bridge the gap?"
[If they say they'll need to check:]
"That's totally fair. When would be a good time to reconnect?"
Approach:
Script:
"I'm thrilled about the opportunity. The base salary is lower than I expected based on my research. For this role and market, I was expecting something in the $X-$Y range. Is there room to move closer to $X?"
Deflection Strategy:
"I'm flexible and focused on finding the right fit. What's the range you've budgeted for this role?"
If Pressed:
"Based on my research for this role and market, I'm looking at $X-$Y, but I'm open to discussing the full compensation picture."
Alternatives to Negotiate:
Script:
"I understand the base salary is firm. Could we discuss a signing bonus to help bridge the gap? Something in the range of $X would make this work."
Use Carefully:
Script:
"I want to be transparent - I'm also in discussions with [another company/a few other companies]. They're offering $X. [Your Company] is my first choice because [genuine reason], but I want to make sure the compensation is competitive."
In Many States, This Question Is Illegal
If Asked (and legal):
"I'd prefer to focus on the value I'd bring to this role and what the market rate is. What's the range you've budgeted?"
Or Redirect:
"My current compensation isn't really comparable since [different location/role/structure]. Based on my research for this role, I'm targeting $X-$Y."
## OFFER COMPARISON
| Component | Company A | Company B | Notes |
|-----------|-----------|-----------|-------|
| Base Salary | $150,000 | $140,000 | A wins |
| Target Bonus | 15% ($22,500) | 20% ($28,000) | B wins |
| Signing Bonus | $20,000 | $10,000 | A wins |
| Equity (annual) | $50,000 | $75,000 | B wins |
| 401k Match | 4% ($6,000) | 6% ($8,400) | B wins |
| Benefits | Standard | Premium | B wins |
| WFH | Hybrid (3 days) | Full remote | B wins |
| Vacation | 3 weeks | Unlimited | Depends |
**Year 1 Total Comp:**
Company A: $248,500
Company B: $261,400
**Analysis:** Company B is higher total comp, but Company A has higher base which affects future raises and mortgage qualification.
Day 1: Receive offer
- Thank them, express enthusiasm
- Ask for offer in writing
- Ask deadline for response
Day 1-3: Research
- Verify market rate
- Calculate total comp
- Identify priorities
- Prepare counter-offer
Day 3-5: Counter
- Send counter-offer email or schedule call
- Be specific about ask
Day 5-10: Discussion
- May require several rounds
- Be patient but responsive
- Stay professional and positive
Day 10+: Resolution
- Agree on terms
- Get everything in writing
- Sign and celebrate!
When preparing salary negotiation:
# SALARY NEGOTIATION STRATEGY
## Market Research Summary
**Role:** [Title]
**Location:** [City/Remote]
**Experience Level:** [Years]
**Market Range:**
- 25th percentile: $XXX,XXX
- 50th percentile: $XXX,XXX (target)
- 75th percentile: $XXX,XXX
- 90th percentile: $XXX,XXX (stretch)
**Sources:** [List sources used]
## Their Offer
| Component | Amount |
|-----------|--------|
| Base | $XXX,XXX |
| Bonus | X% |
| Equity | $XXX,XXX |
| Signing | $XXX |
| Total Year 1 | $XXX,XXX |
## Your Counter
| Component | Ask | Justification |
|-----------|-----|---------------|
| Base | $XXX,XXX | [Why] |
| Signing | $XXX | [Why] |
| [Other] | | |
## Counter-Offer Script
[Email template or call script customized for this situation]
## If They Push Back
**Plan B:** [Alternative elements to negotiate]
**Walk-away Point:** [Your minimum]
## Key Talking Points
1. [Your experience/value point]
2. [Market data point]
3. [Specific achievement]
## Questions to Clarify
- [Equity vesting schedule?]
- [Bonus guaranteed?]
- [Review cycle timeline?]
QA compensation has a wide, exploitable spread: automation and SDET roles pay 25-40% above manual QA titles for the same seniority, and AI-testing skills push higher still. Anchor your research to the automation band, not the generic "QA tester" median that salary sites over-index on. Leverage points specific to QA: framework ownership (you built it, you maintain it), release-gating responsibility, and scarce skills (Playwright, performance, LLM evals). If the offer is titled "QA Engineer" but the work is SDET, negotiate the title too; it compounds into every future offer.
Adapted for QA professionals by The Testing Academy (thetestingacademy) from Resume Skills. The original work is used under the MIT License, reproduced in full below. Modifications to this file are released under the same license.
MIT License
Copyright (c) 2026 Resume Skills
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
- name: Install QA Skills
run: npx @qaskills/cli add salary-negotiation-prep10 of 29 agents supported
Build AI agents that write, run, and fix tests. Playwright, LLM evals, and CI in one live cohort.
Use code AITESTER at checkout