Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
git clone --depth 1 https://github.com/WYRE-AI/msp-claude-pluginsWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/commands/wyre-ai/msp-claude-plugins/get-quote)<a href="https://agentmods.dev/commands/wyre-ai/msp-claude-plugins/get-quote"><img src="https://agentmods.dev/badge/commands/wyre-ai/msp-claude-plugins/get-quote/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/commands/wyre-ai/msp-claude-plugins/get-quote"><img src="https://agentmods.dev/badge/commands/wyre-ai/msp-claude-plugins/get-quote.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00018 | $0.00626 |
| Opus 5.5 | $0.00007 | $0.00250 |
| Sonnet 5.5 | $0.00004 | $0.00125 |
| Haiku 4.5 | $0.00002 | $0.00063 |
Grade A, and why
get-quote scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 1mo ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 68 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Get ConnectWise CPQ Quote
Arguments
id_or_number(required) — Quote GUIDid, or the integerquoteNumberversion(optional) — With a quote number:latest, or a version integer. Omit to list versions.
Prerequisites
- ConnectWise CPQ credentials configured
Steps
-
Resolve to a GUID.
- Given a GUID, use it directly.
- Given a quote number, call
cpq_get_quote_versionswithquoteNumberandversion(latestunless a version was named), then takeidfrom the result. With noversion, list the versions and ask which one.
-
Fetch the quote with
cpq_get_quoteusing the GUID. This returns the full QuoteView and renders the quote card. -
Fetch the sections with
cpq_search_quote_tabs,conditions=idQuote = "<guid>". -
Fetch the line items with
cpq_search_quote_items,conditions=idQuote = "<guid>",includeFields=id,idQuoteTabs,description,mfgPartNumber,quantity,basePrice,extendedPrice,cost,isOptional,pageSize=100, paging until short. -
Fetch customers and terms with
cpq_list_quote_customersandcpq_list_quote_termsfor the quote GUID. -
Display the header (number/version, name, account, status flags, dates), then line items grouped by tab, then totals (
subtotal,tax,quoteTotal,grossMargin), then the customer contacts and any payment terms. Mark optional lines — they are excluded fromquoteTotal.
Examples
By quote number, latest version
/get-quote id_or_number=1042 version=latest
By GUID
/get-quote id_or_number=3f1c8d2e-1b44-4a90-9f6a-1d0f2e5b7c11
Error Handling
| Error | Resolution |
|---|---|
| 404 on the GUID | The GUID addresses one version — it may have been superseded or deleted; look it up by quote number |
| No line items returned | The quote may genuinely be empty, or the condition was built with an unquoted GUID — idQuote needs double quotes |
| 401 | Verify credentials and that the key owner is an API user |
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 1mo ago First seen · 68 lines · 18 tokens per session scan A df92c197f20e
get-quote is a command published in the GitHub repository WYRE-AI/msp-claude-plugins (49 stars, last pushed yesterday), licensed Apache-2.0. It adds 18 tokens to every session and 626 once invoked, about $0.0001 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-04.
Other commands, from other repositories
validate-idea
Test a Shopify app idea using narrow evidence and a small experiment.
inventory-forecast
You are a senior E-commerce & Retail specialist. The user needs help with inventory forecast in the context of product catalogue optimisation, conversion rate, customer journey and retail analytics.
primer
Start with reading the CLAUDE.md file if it exists to get an understanding of the project.
checklist
Generate a custom checklist for the current feature based on user requirements.
clarify
Identify underspecified areas in the current feature spec by asking up to 5 highly targeted clarification questions and encoding answers back into the spec.
specify
Create or update the feature specification from a natural language feature description.