Description
CutMaster is a Jewelcrafting business assistant for **TBC Anniversary** (interface 20506). It learns your cuts by scanning your own Jewelcrafting book instead of shipping static gem data, finds real customers in Trade chat, whispers, and party chat while filtering out competing jewelcrafters, reminds you to bark on an interval, tracks orders with quantities derived from the mats a customer actually hands you, fills the trade window with the right cuts, and logs your income.
**Automated messaging.** CutMaster can send invites, whispers, and Trade chat posts on your behalf. You are responsible for the content and frequency of everything it sends. Defaults are conservative (barking off, cooldowns on invites and whispers, a warning after 60 whispers in a session) and everything it sends is editable, but use of automated chat must still comply with the World of Warcraft Terms of Service and Code of Conduct. `/cm disable` turns all of it off instantly if you need to.
## What it does
**Knows your cuts.** Scanning reads every recipe in your Jewelcrafting window along with its reagents, item quality, and whether it is Bind on Pickup. It runs automatically when you open Jewelcrafting, but only when it could learn something new, so it never gets stale between patches and never ships pattern data that has to be updated by hand.
**Finds customers.** Watches Trade chat, whispers, and party chat. Matches an item link, a full name, shorthand ("bold ruby" for Bold Living Ruby), or a custom alias, and understands requests like "LF JC" where nobody names a gem at all.
**Ignores competing jewelcrafters.** Hard vetoes (LFW, WTS, "will cut", ...) never invite. Beyond that, seller-shaped signals are weighed against buyer-shaped signals and the *net* decides the verdict, so a genuine customer can outweigh a phrase that merely looks like an advert. A player who posts the same gem message twice inside the bark window is flagged as a competitor for the session. Every decision is logged with the exact signals that fired, and every word list and weight is tunable in game.
**Talks to customers.** Names a cut you have: invited, with a whisper on the way. Asks for a jeweller with nothing named: invited, asked what they need. Names a cut you lack: told plainly, with no alternatives pitched unless you turn that on. Asks about several gems and you have some: told exactly which. Every one of these replies is editable, and an empty line sends nothing for that case.
**Tracks orders.** An order opens when someone asks and counts as open only once they actually join your group. Quantities come from the mats they hand you, not what they typed, because customers say "bold living ruby" and then trade you three. If the mats fit two cuts they asked for, CutMaster refuses to guess and asks you to set the split.
**Fills the trade window.** Open a trade with someone who has an open order and CutMaster loads the right finished cuts for you, re-scanning your bags fresh before every item so nothing gets silently skipped. Orders needing more than 6 distinct gems (the trade window's own slot limit) fill what fits and tell you what is left for a second trade.
**Records income.** Gold from completed trades is logged per order and per customer, with all-time, 24 hour, and 7 day totals plus your top customers.
**Shows gem stats.** In the Jewelcrafting window, gem names are replaced with what they actually do (+8 Agility instead of Delicate Living Ruby), toggled from a button on the window itself.
## What the client will not let it do
Two real WoW client restrictions shape this addon, not bugs:
- Sending a message to a public channel only works from a hardware event (a key press or a click), so the bark interval can only *remind* you; a key binding, a button, or `/cm send` does the actual sending.
- An addon cannot open your Jewelcrafting window on its own, so scanning happens automatically whenever you open it yourself, rather than on demand.
## Commands
`/cm` opens the main window. `/cm help` lists every command in game. Highlights: `/cm scan`, `/cm bark <seconds>`, `/cm invite`, `/cm orders`, `/cm tracker`, `/cm income`, `/cm disable` / `/cm enable`.
## Credits
Behavioural reference was taken from TradeBarker (message building and the 255 character split), ProEnchanters (invite handling and cooldowns), JewelcrafterPro (reading gem stats off a scanning tooltip), and Gargul (filling the trade window). Embeds LibStub, CallbackHandler-1.0, LibDataBroker-1.1, and LibDBIcon-1.0.






