Skip to content
Development
Skill

/renewal-and-price-increase-prep

Composes Agreement Reconciliation and Margin Analysis into per-client talking points for an upcoming renewal or a price-increase conversation. Grounds every point in returned contracts, invoices, hours, and marketplace data, and produces a partial brief when a source is missing

From plugin
msp-claude-plugins
55200 skills165 agents200 commands4 MCP

Claude Code

$ npx -y skills add wyre-ai/msp-claude-plugins --skill renewal-and-price-increase-prep --agent claude-code

SKILL.md

renewal-and-price-increase-prep.SKILL.md
name: "Renewal and Price-Increase Prep"
description: >
  Composes Agreement Reconciliation and Margin Analysis into per-client
  talking points for an upcoming renewal or a price-increase conversation.
  Grounds every point in returned contracts, invoices, hours, and
  marketplace data, and produces a partial brief when a source is missing
  rather than inventing rates or amounts.
when_to_use: >-
  When preparing to talk with a client about renewal or a price increase,
  and you need talking points built from agreement and margin evidence
  rather than a new reconciliation from scratch. Use when: renewal talking
  points, price-increase prep, renewal conversation brief, prepare a
  price increase discussion, what to say at renewal, margin-backed
  renewal talking points.

Renewal and Price-Increase Prep

Overview

Agreement Reconciliation already compares PSA entitlements to invoices. Margin Analysis already turns revenue, marketplace cost, and labor into per-client margin. This companion skill composes those two reads into a short, per-client brief for a renewal or price-increase conversation.

Do not duplicate those skills' workflows. Follow them (or reuse their fresh output) to gather evidence, then write talking points. Never invent a rate, an increase percentage, or a dollar figure. If a number is not returned, omit it and say which source was missing.

Anti-triggers

  • **Reconciling contract lines to invoices as the main job:** use

[Agreement Reconciliation](../agreement-reconciliation/SKILL.md).

  • **Computing portfolio or service-line margin as the main job:** use

[Margin Analysis](../margin-analysis/SKILL.md).

  • **License seat true-up as the main job:** use

[License True-Up](../license-true-up/SKILL.md).

  • **Building the renewal calendar itself:** use the finance-pack

`renewal-calendar-builder` agent, or the `/finance-pack:renewals` command, then come back here for talking points on a chosen client.

Connected Systems

This skill uses the same systems as the two source skills. At least one side of the agreement picture (a PSA contract or agreement tool, or an accounting invoice tool) is required. Margin inputs (marketplace cost, time entries, a loaded labor rate supplied by the operator) are optional and must be labeled when missing.

Workflow

Step 1: Discover what is actually connected

Call `conduit__search_tools` first. Use the exact names discovery returns. Gateway names often look like `<vendor-slug>__<tool_name>`. Pax8's hosted surface uses hyphenated names such as `pax8-list-subscriptions`.

Only call read-only list, get, or search tools from the allow-list below. Never create, update, send, void, or raw/execute.

**Client roster:** `autotask_search_companies`, `cw_search_companies`, `cw_get_company`, `halopsa_clients_list`, `halopsa_clients_get`, `halopsa_clients_search`, `syncro_customers_list`, `qbo_customers_list`, `qbo_customers_get`, `qbo_customers_search`, `xero_contacts_list`, `xero_contacts_get`, `xero_contacts_search`, `pax8-list-companies`.

**Agreements and contracts:** `autotask_list_expiring_contracts`, `autotask_search_contracts`, `autotask_get_contract`, `autotask_search_contract_services`, `autotask_search_contract_service_units`, `autotask_search_contract_service_bundles`, `autotask_search_contract_service_bundle_units`, `cw_search_agreements`, `cw_get_agreement`, `cw_get_agreement_additions`. For a renewal window in Autotask, `autotask_list_expiring_contracts` returns contracts whose end date falls within `daysAhead` days (default 60), optionally scoped to one `companyID`. Pass `includeExpired: true` to also catch contracts already past their end date, and if a full page comes back the list may be incomplete:

{ "tool": "autotask_list_expiring_contracts", "arguments": { "companyID": 12345, "daysAhead": 90 } }

`autotask_search_contracts` also accepts `endDateFrom` and `endDateTo` (ISO dates). `autotask_get_contract` returns header fields only, with no service lines. Read the lines with `autotask_search_contract_services` and `autotask_search_contract_service_bundles`, and the billed quantities with the two `*_units` tools, counting bundle units alongside service units. The `*_units` tools return rows active on one `activeOn` day (default today), so never rely on the default for a past invoice. Query both tools at the start and end of the invoice period being reconciled, and on further dates if the period is long. Matching endpoint quantities do not rule out a change between them. If the period coverage or billing treatment cannot be established, mark the reconciliation incomplete instead of reporting a discrepancy. HaloPSA MCP has no contract or agreement list tool, and Syncro MCP has no contract list tool: when those are the only PSA, say the contract side is unavailable.

**Invoices and billing:** `autotask_search_invoices`, `autotask_get_invoice_details`, `autotask_search_billing_items`, `autotask_get_billing_item`, `cw_search_invoices`, `cw_get_invoice`, `halopsa_invoices_list`, `halopsa_invoices_get`, `syncro_invoices_list`, `qbo_invoices_list`, `qbo_invoices_get`, `xero_invoices_list`, `xero_invoices_get`. You may use `xero_reports_aged_receivables` or `qbo_reports_customer_balance` as supporting collections context, not as a substitute for line-level reconciliation.

**Marketplace (optional cost and subscription context):** `pax8-list-subscriptions`, `pax8-get-subscription-by-uuid`, `pax8-list-invoices`, `pax8-get-invoice-by-uuid`, `sherweb_subscriptions_list`, `sherweb_subscriptions_get`. Only call these when discovery shows they are callable. Never call `pax8_orders_create`, `pax8_subscriptions_update`, or `sherweb_subscriptions_change_quantity` (the first two are not served on the hosted Pax8 path anyway).

**Labor (optional):** `autotask_search_time_entries`, `cw_search_time_entries`, `cw_get_time_entry`. If the operator does not supply a loaded labor rate, say labor cost could not be estimated.

Read more
@wyre-technology
Ships withmsp-claude-plugins

One command to supercharge Claude Code for MSP workflows. Then restart Claude Code. That's it. Documentation: wyre-ai.github.io/msp-claude-plugins

55200 skills165 agents4 MCP
Get the whole plugin

Stars on GitHub

Momentum

stars in total
55
Star history of wyre-technology/msp-claude-plugins on GitHub, a chart by star-history.com

Other skills on msp-claude-plugins.

More skills from other plugins.

brainstorming
Auto-invoked

brainstorming

You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…

@obra@obraInstall Skill
ask-matt

ask-matt

Ask which skill or flow fits your situation. A router over the skills in this repo.

skills2w309k
@mattpocock@mattpocockInstall Skill
accessibility
Auto-invoked

accessibility

Design, implement, and audit accessible UI to WCAG 2.2 Level AA across Web, iOS, and Android — semantic ARIA roles and labels,…

ecc2w293k
@affaan-m@affaan-mInstall Skill
compiler-commit

compiler-commit

Use when you want to verify compiler changes and commit with the correct convention. Runs tests, lint, and format, then commits…

react5d252k
@facebook@facebookInstall Skill

Questions about renewal-and-price-increase-prep.

Which coding agents can use renewal-and-price-increase-prep?
renewal-and-price-increase-prep installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.