Ranksmith

Counts the spell ranks waiting at your trainer and shows the number on your minimap. One visit records everything that trainer will ever teach you, with the level and the price of each.
The number on the button is what you can train now; hover it for the trainer, the spells and what they cost.

The number on the button is what you can train now; hover it for the trainer, the spells and what they cost.

Every rank still ahead of you, by level, with its cost and trainer. One visit to a trainer records the whole schedule.

Every rank still ahead of you, by level, with its cost and trainer. One visit to a trainer records the whole schedule.

Description

Vanilla content has spell ranks. Frostbolt (Rank 3) is a separate thing you walk back to town and buy, and forgetting to is the classic way to spend four levels quietly weaker than you should be.

Forever runs that content on the modern client, which has had no concept of ranks since Legion and therefore no reason to remind you about them. Nothing on screen tells you three spells have been waiting since level 8.

Ranksmith puts the number on your minimap.

What it does

  • A count on your minimap whenever something is trainable, and nothing at all when there is not. Hover it for the full list — which trainer, which spells, what it costs.
  • One visit learns the whole schedule. A trainer lists what you cannot learn yet as well as what you can, and names the level for each, so a single visit records everything it will ever teach you. A warlock trainer opened at level 8 records 147 services out to level 60.
  • A window with what is waiting and what is coming, the second being that schedule grouped by level with a running total — a levelling budget you can read before you spend it.
  • A reminder when you level, and one at login, both optional.

Why it needs no database

It never ships a table of "Frostbolt Rank 3 is level 12". Everything comes from the trainer in front of you, which means it is correct for vanilla spells, correct for Forever's own content, and correct for a class nobody has datamined — including anything Forever changes after this addon stops being updated.

A shipped table would have been wrong the first time the server changed anything, and wrong silently.

The part that took the longest

A trainer marks a service "unavailable" for two different reasons, and only one of them is predictable. At a class trainer it means you are not high enough level, and the service names the level — which is the entire point of this addon. At a profession trainer it usually means your skill is too low, and names nothing at all.

Counting both is how a cooking trainer tells a level 8 character that eight things are ready to train when none of them are. Ranksmith counts what it can predict and says plainly when something is gated on a skill instead.

It also forces the trainer's own filters open while it reads, and puts them back exactly as they were. "Unavailable" is commonly switched off, and with it off the future ranks are not in the list to be found.

Commands

Command
/rs the window
/rs text the same thing, printed to chat
/rs all the chat report, spell by spell
/rs next what is coming, level by level, and what it costs
/rs future count everything untrained, whatever is blocking it
/rs minimap show or hide the minimap button
/rs login / /rs levelup toggle the two reminders
/rs dump everything recorded, filtered by nothing
/rs forget clear remembered trainers

Records are kept per character, because training is per character.

Requirements

BLib, which the launcher should fetch alongside this addon. It supplies the minimap button and the window.

Version support

Built for and used on WoW: Forever. TBC Anniversary is not a development target and will receive no further work.


Ranksmith Team

profile avatar
Owner
  • 1
    Followers
  • 15
    Projects
  • 2.1K
    Downloads

More from Musu32View all

  • Satchel project image

    Satchel

    Your bags and bank in one window for WoW: Forever, sorted into groups you choose, with every character's bags, bank, mail and gold remembered and a count of what you own on every item tooltip.

    • 136
    • October 12, 2026
  • Countinghouse project image

    Countinghouse

    An auction house window of its own for WoW: Forever, with full scans in seconds, a month of market prices, search by stats, one-press buying and selling, your sales tracked, and the cheapest way to fill a Waylaid Crate.

    • 214
    • October 11, 2026
  • Belphie's Dialogue project image

    Belphie's Dialogue

    A themed, movable and fully customisable replacement for every NPC interaction window in WoW: Forever — gossip, quest offers and turn-ins, vendors and trainers.

    • 146
    • October 10, 2026
  • TideCaller project image

    TideCaller

    TideCaller is a Shaman totem tracking addon featuring a dynamic elemental HUD with spinning rings, charge-based shield monitoring, and real-time party buff coverage for TBC Anniversary.

    • 129
    • October 5, 2026
  • Satchel project image

    Satchel

    Your bags and bank in one window for WoW: Forever, sorted into groups you choose, with every character's bags, bank, mail and gold remembered and a count of what you own on every item tooltip.

    • 136
    • October 12, 2026
  • Countinghouse project image

    Countinghouse

    An auction house window of its own for WoW: Forever, with full scans in seconds, a month of market prices, search by stats, one-press buying and selling, your sales tracked, and the cheapest way to fill a Waylaid Crate.

    • 214
    • October 11, 2026
  • Belphie's Dialogue project image

    Belphie's Dialogue

    A themed, movable and fully customisable replacement for every NPC interaction window in WoW: Forever — gossip, quest offers and turn-ins, vendors and trainers.

    • 146
    • October 10, 2026
  • TideCaller project image

    TideCaller

    TideCaller is a Shaman totem tracking addon featuring a dynamic elemental HUD with spinning rings, charge-based shield monitoring, and real-time party buff coverage for TBC Anniversary.

    • 129
    • October 5, 2026