How it works

Every ship has a progression: an ordered list of skills, each unlocking at a total number of Commander Skill Points. We only recommend milestones you can fully afford — the rest of your points stay saved for the next one.

1. Read your points
You tell us how many Commander Skill Points the ship's commander currently has, from 1 to 21.
2. Match milestones
We take every milestone at or below that total. Nothing is ever force-spent just to empty the pool.
3. Plan the next step
The leftover points become a save instruction, so you never pay to redistribute later.

Example: Brisbane B progression

  1. 1points →Last Stand1 pt
  2. 3points →Priority Target2 pts
  3. 6points →Superintendent3 pts
  4. 10points →Concealment Expert4 pts
  5. 13points →Adrenaline Rush3 pts
  6. 16points →Survivability Expert3 pts
  7. 20points →Top Grade Gunner4 pts
  8. 21points →Demolition Expert1 pt

Built-in sample checks

These run live in your browser every time this page loads, so you can see the engine behaves as documented.

  • Brisbane B @ 7 points returns the 6-point milestonePASS

    Result: Last Stand, Priority Target, Superintendent = 6/7

  • Brisbane B @ 7 points advises saving 1 point until 10PASS

    Result: save 1 until 10 (Concealment Expert)

  • Brisbane B @ 10 points spends 10/10PASS

    Result: 10/10

  • Brisbane B @ 21 points spends 21/21PASS

    Result: 21/21

  • Brisbane B @ 21 points has no leftover recommendationPASS

    Result: no next skill

  • Brisbane B build uses the Cruiser skill treePASS

    Result: Cruiser Commander Skills (verified)

  • Brisbane B build emits no data warningsPASS

    Result: 0 warnings

  • Yamato @ 1 takes Emergency Repair SpecialistPASS

    Result: Emergency Repair Specialist = 1/1

  • Yamato @ 2 banks 1 point until Grease the Gears at 3PASS

    Result: 1/2 used, bank 1, next Grease the Gears at 3

  • Yamato @ 3 adds Grease the GearsPASS

    Result: Emergency Repair Specialist, Grease the Gears = 3/3

  • Yamato @ 7 banks 1 point until Concealment Expert at 10PASS

    Result: 6/7 used, bank 1, next Concealment Expert at 10

  • Yamato @ 10 spends 10/10PASS

    Result: 10/10

  • Yamato @ 14 spends 14/14PASS

    Result: 14/14

  • Yamato @ 17 spends 17/17PASS

    Result: 17/17

  • Yamato @ 21 spends 21/21PASS

    Result: 21/21

  • Yamato @ 21 has no next skillPASS

    Result: no next skill

  • Yamato final build is the approved 7-skill survivability pathPASS

    Result: Emergency Repair Specialist, Grease the Gears, Adrenaline Rush, Concealment Expert, Fire Prevention Expert, Basics of Survivability, Emergency Repair Expert

  • Yamato build is verified, not pendingPASS

    Result: verified, 7 skills recommended

  • Yamato is labelled with the verified Battleship skill treePASS

    Result: Battleship Commander Skills (verified)

  • Yamato build emits no data warningsPASS

    Result: 0 warnings

  • Yamato never references a Cruiser skill idPASS

    Result: 0 cruiser skill references

  • Yamato uses only Battleship-tree skillsPASS

    Result: all battleship skills

  • Battleship skill catalog holds all 24 verified skillsPASS

    Result: 24 battleship skills

  • Battleship tree has 6 skills at each point costPASS

    Result: 1pt:6, 2pt:6, 3pt:6, 4pt:6

  • Every battleship skill declares shipType BattleshipPASS

    Result: all battleship

  • Battleship skill ids are uniquePASS

    Result: no duplicates

  • Aircraft Carrier and Submarine trees are both verifiedPASS

    Result: Aircraft Carrier:verified, Submarine:verified

  • Shimakaze @ 1 takes Preventive MaintenancePASS

    Result: Preventive Maintenance = 1/1

  • Shimakaze @ 3 adds Last StandPASS

    Result: Preventive Maintenance, Last Stand = 3/3

  • Shimakaze @ 6 spends 6/6PASS

    Result: 6/6

  • Shimakaze @ 7 banks 1 point until Concealment Expert at 10PASS

    Result: 6/7 used, bank 1, next Concealment Expert at 10

  • Shimakaze @ 10 spends 10/10PASS

    Result: 10/10

  • Shimakaze @ 12 banks 2 points until Fill the Tubes at 13PASS

    Result: 10/12 used, bank 2, next Fill the Tubes at 13

  • Shimakaze @ 13 spends 13/13PASS

    Result: 13/13

  • Shimakaze @ 16 spends 16/16PASS

    Result: 16/16

  • Shimakaze @ 17 banks 1 point until Radio Location at 20PASS

    Result: 16/17 used, bank 1, next Radio Location at 20

  • Shimakaze @ 20 spends 20/20PASS

    Result: 20/20

  • Shimakaze @ 21 spends 21/21PASS

    Result: 21/21

  • Shimakaze @ 21 has no next skillPASS

    Result: no next skill

  • Shimakaze final build is the approved 8-skill torpedo pathPASS

    Result: Preventive Maintenance, Last Stand, Survivability Expert, Concealment Expert, Fill the Tubes, Adrenaline Rush, Radio Location, Liquidator

  • Shimakaze is labelled with the verified Destroyer skill treePASS

    Result: Destroyer Commander Skills (verified)

  • Shimakaze build emits no data warningsPASS

    Result: 0 warnings

  • Shimakaze never references a Cruiser or Battleship skill idPASS

    Result: 0 foreign references

  • Destroyer skill catalog holds all 24 verified skillsPASS

    Result: 24 destroyer skills

  • Destroyer tree has 6 skills at each point costPASS

    Result: 1pt:6, 2pt:6, 3pt:6, 4pt:6

  • Every destroyer skill declares shipType DestroyerPASS

    Result: all destroyer

  • Every destroyer skill id uses the dd- prefixPASS

    Result: all dd- prefixed

  • Destroyer skill ids are uniquePASS

    Result: no duplicates

  • Destroyer ids never collide with Cruiser or Battleship idsPASS

    Result: no collisions

  • Destroyer skill names are uniquePASS

    Result: no duplicate names

  • Every destroyer skill has a non-empty effect descriptionPASS

    Result: all described

  • Every destroyer skill cost is 1, 2, 3 or 4PASS

    Result: all valid costs

  • Liquidator is corrected to torpedo flooding chance, not fire/flood durationPASS

    Result: flooding chance

  • Fill the Tubes is reload-only (no tube traverse clause)PASS

    Result: reload only

  • Main Battery and AA Expert is range + flak, explicitly not reloadPASS

    Result: range and flak

  • Fearless Brawler no longer claims a dispersion penaltyPASS

    Result: no dispersion penalty

  • Swift in Silence states the +5% reload trade-offPASS

    Result: trade-off stated

  • Dazzle is a 15 second post-detection effectPASS

    Result: 15 s window

  • Demolition Expert fire chance corrected to +1%PASS

    Result: +1%

  • Extra-Heavy Ammunition is AP + depth charges with no velocity penaltyPASS

    Result: ap and depth charges

  • Gun Feeder shell-switch bonus corrected to -40%PASS

    Result: -40%

  • No destroyer skill text still claims a tube-traverse or shell-velocity mechanicPASS

    Result: no stale mechanics

  • All three verified destroyer builds reference only valid dd- skill idsPASS

    Result: all resolve

  • Shimakaze, Gearing and Daring each still spend exactly 21 pointsPASS

    Result: 21, 21, 21

  • Verified destroyer builds keep no-reset behaviour (milestones are a prefix chain)PASS

    Result: no resets

  • Cruiser tree is unchanged at 24 skillsPASS

    Result: 24 cruiser skills

  • Yorktown @ 1 takes Air SupremacyPASS

    Result: Air Supremacy = 1/1

  • Yorktown @ 2 adds Improved Engine BoostPASS

    Result: Air Supremacy, Improved Engine Boost = 2/2

  • Yorktown @ 4 spends 4/4PASS

    Result: 4/4

  • Yorktown @ 6 spends 6/6PASS

    Result: 6/6

  • Yorktown @ 7 banks 1 point until Sight Stabilization at 9PASS

    Result: 6/7 used, bank 1, next Sight Stabilization at 9

  • Yorktown @ 9 spends 9/9PASS

    Result: 9/9

  • Yorktown @ 12 spends 12/12PASS

    Result: 12/12

  • Yorktown @ 15 spends 15/15PASS

    Result: 15/15

  • Yorktown @ 19 spends 19/19PASS

    Result: 19/19

  • Yorktown @ 20 banks 1 point until Patrol Group Leader at 21PASS

    Result: 19/20 used, bank 1, next Patrol Group Leader at 21

  • Yorktown @ 21 spends 21/21PASS

    Result: 21/21

  • Yorktown @ 21 has no next skillPASS

    Result: no next skill

  • Yorktown final build is the approved 9-skill tactical pathPASS

    Result: Air Supremacy, Improved Engine Boost, Improved Engines, Torpedo Bomber, Sight Stabilization, Aircraft Armor, Survivability Expert, Proximity Fuze, Patrol Group Leader

  • Yorktown is labelled with the verified Aircraft Carrier skill treePASS

    Result: Aircraft Carrier Commander Skills (verified)

  • Yorktown build emits no data warningsPASS

    Result: 0 warnings

  • Yorktown never references a Cruiser, Battleship or Destroyer skill idPASS

    Result: 0 foreign references

  • Aircraft Carrier skill catalog holds all 24 verified skillsPASS

    Result: 24 aircraft carrier skills

  • Aircraft Carrier tree has 6 skills at each point costPASS

    Result: 1pt:6, 2pt:6, 3pt:6, 4pt:6

  • Every aircraft carrier skill declares shipType Aircraft CarrierPASS

    Result: all aircraft carrier

  • Every aircraft carrier skill id uses the cv- prefixPASS

    Result: all cv- prefixed

  • Aircraft carrier skill ids are uniquePASS

    Result: no duplicates

  • Aircraft carrier ids never collide with other class idsPASS

    Result: no collisions

  • Aircraft carrier tree uses current skill names, not legacy aliasesPASS

    Result: Swift Flying Fish, Combat Maneuver Specialist, Defensive Fire Expert present; no legacy names

  • Thrasher @ 1 takes LiquidatorPASS

    Result: Liquidator = 1/1

  • Thrasher @ 3 adds Last StandPASS

    Result: Liquidator, Last Stand = 3/3

  • Thrasher @ 5 spends 5/5PASS

    Result: 5/5

  • Thrasher @ 6 banks 1 point until Sonarman at 8PASS

    Result: 5/6 used, bank 1, next Sonarman at 8

  • Thrasher @ 8 spends 8/8PASS

    Result: 8/8

  • Thrasher @ 12 spends 12/12PASS

    Result: 12/12

  • Thrasher @ 16 spends 16/16PASS

    Result: 16/16

  • Thrasher @ 20 spends 20/20PASS

    Result: 20/20

  • Thrasher @ 21 spends 21/21PASS

    Result: 21/21

  • Thrasher @ 21 has no next skillPASS

    Result: no next skill

  • Thrasher final build is the approved 8-skill submarine pathPASS

    Result: Liquidator, Last Stand, Preventive Maintenance, Sonarman, Torpedo Aiming Master, Adrenaline Rush, Improved Battery Efficiency, Helmsman

  • Thrasher is labelled with the verified Submarine skill treePASS

    Result: Submarine Commander Skills (verified)

  • Thrasher build emits no data warningsPASS

    Result: 0 warnings

  • Thrasher never references a Cruiser, Battleship, Destroyer or Carrier skill idPASS

    Result: 0 foreign references

  • Submarine skill catalog holds exactly 20 verified skillsPASS

    Result: 20 submarine skills

  • Submarine tree has 5 skills at each point costPASS

    Result: 1pt:5, 2pt:5, 3pt:5, 4pt:5

  • Submarine tree declares 5 skills per row, unlike the 6-per-row classesPASS

    Result: Submarine:5, Cruiser:6, Battleship:6, Destroyer:6, Aircraft Carrier:6

  • Every submarine skill declares shipType SubmarinePASS

    Result: all submarine

  • Every submarine skill id uses the ss- prefixPASS

    Result: all ss- prefixed

  • Submarine skill ids are uniquePASS

    Result: no duplicates

  • Submarine ids never collide with other class idsPASS

    Result: no collisions

  • All five ship-class skill trees are verifiedPASS

    Result: all verified

  • No ship references a skill from another class's treePASS

    Result: no leaks

  • Every skill in a class tree declares that classPASS

    Result: all match

  • Fleet ids are uniquePASS

    Result: no duplicates

  • No duplicate ship name for the same tier + nationPASS

    Result: no duplicates

  • Fleet-only ships have no shipId linkPASS

    Result: all links resolve

  • Only the verified curated ships have build entriesPASS

    Result: Acasta, Admiral Scheer, Affondatore, Agano, Agincourt, Akatsuki, Algérie, Almirante Oquendo, Almte. Cochrane, Almte. Grau, Amagi, Amalfi, Andalucía, Andrea Doria, Anhalt, Antioquia, Aoba, Arizona, Ark Royal, Asturias, Aviere, Bajie, Baleares, Baltimore, Bayern, Benson, Bismarck, Black, Blücher, Bremen, Brest, Bretagne, Bridgeport, Brindisi, Brisbane B, Budyonny, Buffalo, Burrows, C. Colombo, Cachalot, Cambridge, Canarias, Cassard, Castilla, Cataluña, Celebes, Cervantes, Cherbourg, Chios, Christopher, Chumphon, Chung Mu, Chungking, Colorado, Congress, Conte di Cavour, Coronel Bolognesi, Cossack, Danu, Daring, De Grasse, Defence, Delhi, Des Moines, Deutschland, Duca d'Aosta, Duca degli Abruzzi, Duchaffault, Dunkerque B, Eastern Dragon, Elli, Emerald, F. Caracciolo, F. der Grosse, Farragut, Fiume, Fletcher, Florida, Foca, Fubuki, Furious, Furutaka, Fushun, Fusō, G. Kurfürst, GQ Johnny, Gadjah Mada, Galicia, Gambia, Gearing, Gneisenau, Gnevny, Gorizia, Graf Zeppelin B, Harbin, Hatsuharu, Hayate, Hindenburg, Hipper, Hobart, Hsienyang, Huanghe, Hughes, Icarus, Incomparable, Independence, Iowa, Ipiranga, Ise, Iwami, Izmail, Izumo, Jaarsveld, Jervis, Jianwei, Jinan, Juruá, Jutland, K. Schönberg, Kagero, Kalmar, Kiev, Kijkduin, Kongō, Kotovsky, Kremlin, Kurama, Kushiro, König, Königsberg, L'Adroit, L'Aventurier, La Argentina, La Galissonnière, Laffey, Lanzhou, Laudon, Le Hardi, Leander, Leipzig, Lepanto, Libertad, Lightning, London, Los Andes, Lugdunum, Lüshun B, M. Colonna, Maestrale, Mahan, Maine, Marcílio Dias, Marlborough B, Marseille, Mecklenburg, Menno van Coehoorn, Mikoyan, Minekaze, Minsk, Molotov, Monaghan, Montana, Montcalm, Moskva, Muavenet, Mutsuki, N. Carolina, Nagato, Napoli, Narai, Neustrashimy, New Mexico, New Orleans, New York, Nicholas, Niord, Novorossiysk, Novosibirsk, Nürnberg, Nürnberg '44, Ohio, Omaha, Optio, Orage, Orion '44, Orkan, Osborne, P. E. Friedrich, Pensacola, Perth, Petropavlovsk, Pilus Posterior, Pilus Prior, Podvoisky, Pommern, Preussen, Pyotr Velikiy, Rahmat, Raimondo Montecuccoli, Renown, Repulse, Riga, Rochester, Rodney, Roon, Roussillon, S-1, Salem, San Diego, Scarlet Thunder, Scharnhorst, Schlieffen, Sejong, Shchors, Shimakaze, Shinonome B, Sinop, Siroco, Slava, Somme, Sov. Soyuz, Stord, Strasbourg, Sturdy, Tallinn, Tashkent, Tegetthoff, Teng She, Tennessee, Thrasher, Tiger, Trento, Tulsa, Uganda, Undine, Utrecht, V. Veneto, Venezia, Viribus Unitis, Vladivostok, W. Virginia '41, W. Virginia '44, Wahnsinn, Warspite, Weimar, Wichita, Wisconsin, Wukong, Yahagi, Yamato, Yorck, Yorktown, Yudachi, Yueyang, Yugumo, Yukon, Z-44, ZH-1, Zara, Zarya Svobody, Émile Bertin

  • Audit catalogued count matches the fleet arrayPASS

    Result: 282 catalogued

  • Fleet holds exactly the verified 282 shipsPASS

    Result: 282 ships

  • Audit uses the verified port totalPASS

    Result: verified 282

  • Outstanding gap is 0 (complete snapshot)PASS

    Result: 0 gap

  • Snapshot is reported completePASS

    Result: complete

  • Unresolved gap = max(verified total - catalogued, 0)PASS

    Result: 0 outstanding

  • Unresolved gap is never negativePASS

    Result: 0 unresolved when catalogued exceeds the estimate

  • Tier II shows 0 owned in the verified fleet snapshotPASS

    Result: 0 catalogued

  • Audit tier buckets sum to the catalogued totalPASS

    Result: 282

  • Audit type buckets sum to the catalogued totalPASS

    Result: 282

  • Audit nation buckets sum to the catalogued totalPASS

    Result: 282

  • Explicit build/status ship links are exactly 261PASS

    Result: 261 links: Acasta, Admiral Scheer, Affondatore, Agano, Agincourt, Akatsuki, Algérie, Almirante Oquendo, Almte. Cochrane, Almte. Grau, Amagi, Amalfi, Andalucía, Andrea Doria, Anhalt, Antioquia, Aoba, Arizona, Ark Royal, Asturias, Aviere, Bajie, Baleares, Baltimore, Bayern, Benson, Bismarck, Black, Blücher, Bremen, Brest, Bretagne, Bridgeport, Brindisi, Brisbane B, Budyonny, Buffalo, Burrows, C. Colombo, Cachalot, Cambridge, Canarias, Cassard, Castilla, Cataluña, Celebes, Cervantes, Cherbourg, Chios, Christopher, Chumphon, Chung Mu, Chungking, Colorado, Congress, Conte di Cavour, Coronel Bolognesi, Cossack, Danu, Daring, De Grasse, Defence, Delhi, Des Moines, Deutschland, Duca d'Aosta, Duca degli Abruzzi, Duchaffault, Dunkerque B, Eastern Dragon, Elli, Emerald, F. Caracciolo, F. der Grosse, Farragut, Fiume, Fletcher, Florida, Foca, Fubuki, Furious, Furutaka, Fushun, Fusō, G. Kurfürst, GQ Johnny, Gadjah Mada, Galicia, Gambia, Gearing, Gneisenau, Gnevny, Gorizia, Graf Zeppelin B, Harbin, Hatsuharu, Hayate, Hindenburg, Hipper, Hobart, Hsienyang, Huanghe, Hughes, Icarus, Incomparable, Independence, Iowa, Ipiranga, Ise, Iwami, Izmail, Izumo, Jaarsveld, Jervis, Jianwei, Jinan, Juruá, Jutland, K. Schönberg, Kagero, Kalmar, Kiev, Kijkduin, Kongō, Kotovsky, Kremlin, Kurama, Kushiro, König, Königsberg, L'Adroit, L'Aventurier, La Argentina, La Galissonnière, Laffey, Lanzhou, Laudon, Le Hardi, Leander, Leipzig, Lepanto, Libertad, Lightning, London, Los Andes, Lugdunum, Lüshun B, M. Colonna, Maestrale, Mahan, Maine, Marcílio Dias, Marlborough B, Marseille, Mecklenburg, Menno van Coehoorn, Mikoyan, Minekaze, Minsk, Molotov, Monaghan, Montana, Montcalm, Moskva, Muavenet, Mutsuki, N. Carolina, Nagato, Napoli, Narai, Neustrashimy, New Mexico, New Orleans, New York, Nicholas, Niord, Novorossiysk, Novosibirsk, Nürnberg, Nürnberg '44, Ohio, Omaha, Optio, Orage, Orion '44, Orkan, Osborne, P. E. Friedrich, Pensacola, Perth, Petropavlovsk, Pilus Posterior, Pilus Prior, Podvoisky, Pommern, Preussen, Pyotr Velikiy, Rahmat, Raimondo Montecuccoli, Renown, Repulse, Riga, Rochester, Rodney, Roon, Roussillon, S-1, Salem, San Diego, Scarlet Thunder, Scharnhorst, Schlieffen, Sejong, Shchors, Shimakaze, Shinonome B, Sinop, Siroco, Slava, Somme, Sov. Soyuz, Stord, Strasbourg, Sturdy, Tallinn, Tashkent, Tegetthoff, Teng She, Tennessee, Thrasher, Tiger, Trento, Tulsa, Uganda, Undine, Utrecht, V. Veneto, Venezia, Viribus Unitis, Vladivostok, W. Virginia '41, W. Virginia '44, Wahnsinn, Warspite, Weimar, Wichita, Wisconsin, Wukong, Yahagi, Yamato, Yorck, Yorktown, Yudachi, Yueyang, Yugumo, Yukon, Z-44, ZH-1, Zara, Zarya Svobody, Émile Bertin

  • Audit reports no data-quality issuesPASS

    Result: no issues

  • Tier II is flagged as 0 owned in the verified snapshotPASS

    Result: 0 owned in this verified fleet snapshot

  • Every tier with transcribed records is marked transcribed, not missingPASS

    Result: all transcribed

  • Tier II is the only tier without a verified capturePASS

    Result: ★ Supership excluded: Tier II

  • Capture status covers every tier bucketPASS

    Result: 11 tiers

  • Unresolved gap stays derived from verified total - cataloguedPASS

    Result: 0 unresolved

  • Unresolved gap floors at zeroPASS

    Result: 0 unresolved

  • Search "Zarya S." resolvesPASS

    Result: Zarya Svobody

  • Search "S. Thunder" resolvesPASS

    Result: Scarlet Thunder

  • Search "M. Van Coehoorn" resolvesPASS

    Result: Menno van Coehoorn

  • Search "Lushun B" resolvesPASS

    Result: Lüshun B

  • Search "Libertad" resolvesPASS

    Result: Libertad

  • Search "Kushiro" resolvesPASS

    Result: Kushiro

  • Search "Christopher" resolvesPASS

    Result: Christopher

  • Search "Blücher" resolvesPASS

    Result: Blücher

  • Search "Orage" resolvesPASS

    Result: Orage

  • Search "Delhi" resolvesPASS

    Result: Delhi

  • Search "Jinan" resolvesPASS

    Result: Jinan

  • Every catalogued fleet ship is selectable in the generatorPASS

    Result: 282 selectable

  • Exactly 261 ships have a verified ship-specific buildPASS

    Result: 261 verified

  • Class-tree-only pending shipsPASS

    Result: 21 pending

  • Verified builds are exactly the curated shipsPASS

    Result: Acasta, Admiral Scheer, Affondatore, Agano, Agincourt, Akatsuki, Algérie, Almirante Oquendo, Almte. Cochrane, Almte. Grau, Amagi, Amalfi, Andalucía, Andrea Doria, Anhalt, Antioquia, Aoba, Arizona, Ark Royal, Asturias, Aviere, Bajie, Baleares, Baltimore, Bayern, Benson, Bismarck, Black, Blücher, Bremen, Brest, Bretagne, Bridgeport, Brindisi, Brisbane B, Budyonny, Buffalo, Burrows, C. Colombo, Cachalot, Cambridge, Canarias, Cassard, Castilla, Cataluña, Celebes, Cervantes, Cherbourg, Chios, Christopher, Chumphon, Chung Mu, Chungking, Colorado, Congress, Conte di Cavour, Coronel Bolognesi, Cossack, Danu, Daring, De Grasse, Defence, Delhi, Des Moines, Deutschland, Duca d'Aosta, Duca degli Abruzzi, Duchaffault, Dunkerque B, Eastern Dragon, Elli, Emerald, F. Caracciolo, F. der Grosse, Farragut, Fiume, Fletcher, Florida, Foca, Fubuki, Furious, Furutaka, Fushun, Fusō, G. Kurfürst, GQ Johnny, Gadjah Mada, Galicia, Gambia, Gearing, Gneisenau, Gnevny, Gorizia, Graf Zeppelin B, Harbin, Hatsuharu, Hayate, Hindenburg, Hipper, Hobart, Hsienyang, Huanghe, Hughes, Icarus, Incomparable, Independence, Iowa, Ipiranga, Ise, Iwami, Izmail, Izumo, Jaarsveld, Jervis, Jianwei, Jinan, Juruá, Jutland, K. Schönberg, Kagero, Kalmar, Kiev, Kijkduin, Kongō, Kotovsky, Kremlin, Kurama, Kushiro, König, Königsberg, L'Adroit, L'Aventurier, La Argentina, La Galissonnière, Laffey, Lanzhou, Laudon, Le Hardi, Leander, Leipzig, Lepanto, Libertad, Lightning, London, Los Andes, Lugdunum, Lüshun B, M. Colonna, Maestrale, Mahan, Maine, Marcílio Dias, Marlborough B, Marseille, Mecklenburg, Menno van Coehoorn, Mikoyan, Minekaze, Minsk, Molotov, Monaghan, Montana, Montcalm, Moskva, Muavenet, Mutsuki, N. Carolina, Nagato, Napoli, Narai, Neustrashimy, New Mexico, New Orleans, New York, Nicholas, Niord, Novorossiysk, Novosibirsk, Nürnberg, Nürnberg '44, Ohio, Omaha, Optio, Orage, Orion '44, Orkan, Osborne, P. E. Friedrich, Pensacola, Perth, Petropavlovsk, Pilus Posterior, Pilus Prior, Podvoisky, Pommern, Preussen, Pyotr Velikiy, Rahmat, Raimondo Montecuccoli, Renown, Repulse, Riga, Rochester, Rodney, Roon, Roussillon, S-1, Salem, San Diego, Scarlet Thunder, Scharnhorst, Schlieffen, Sejong, Shchors, Shimakaze, Shinonome B, Sinop, Siroco, Slava, Somme, Sov. Soyuz, Stord, Strasbourg, Sturdy, Tallinn, Tashkent, Tegetthoff, Teng She, Tennessee, Thrasher, Tiger, Trento, Tulsa, Uganda, Undine, Utrecht, V. Veneto, Venezia, Viribus Unitis, Vladivostok, W. Virginia '41, W. Virginia '44, Wahnsinn, Warspite, Weimar, Wichita, Wisconsin, Wukong, Yahagi, Yamato, Yorck, Yorktown, Yudachi, Yueyang, Yugumo, Yukon, Z-44, ZH-1, Zara, Zarya Svobody, Émile Bertin

  • No fleet record reports a data issuePASS

    Result: 0 data issues

  • Selectable states cover the whole fleetPASS

    Result: 282

  • Every selectable ship resolves to its own class skill treePASS

    Result: 0 mismatches

  • Every selectable ship resolves to a verified class treePASS

    Result: 0 unverified trees

  • Fleet-only ships carry no ship-specific progressionPASS

    Result: 0 borrowed progressions

  • Fleet-only ships report the pending state, never a generated buildPASS

    Result: class-tree pending

  • Class trees keep their class-specific row widthPASS

    Result: Cruiser 24/6, Submarine 20/5

  • Fallback ship page resolves for a fleet-only CruiserPASS

    Result: Yūbari: Cruiser tree, class-tree

  • Fallback ship page resolves for a fleet-only BattleshipPASS

    Result: Yavuz: Battleship tree, class-tree

  • Fallback ship page resolves for a fleet-only DestroyerPASS

    Result: Shenyang: Destroyer tree, class-tree

  • Fallback ship page resolves for a fleet-only Aircraft CarrierPASS

    Result: Langley: Aircraft Carrier tree, class-tree

  • Fallback ship page resolves for a fleet-only SubmarinePASS

    Result: none in fleet

  • Verified ship pages still resolve by their curated ship idPASS

    Result: Brisbane B verified, Yamato verified, Shimakaze verified, Yorktown verified, Thrasher verified

  • Generator search finds a fleet-only ship by aliasPASS

    Result: 1 match

  • Build availability filter returns only verified buildsPASS

    Result: 261 ships

  • Verification queue prioritises Tier X before Tier IXPASS

    Result: 10 before 9

  • Verification queue assigns no buildsPASS

    Result: 0 builds assigned

  • Verification queue groups by a single class eachPASS

    Result: 0 mixed groups

  • Des Moines milestone sequencePASS

    Result: 1/3/6/10/13/16/19/21

  • Des Moines @ 21 points spends 21/21PASS

    Result: 21/21

  • Des Moines @ 21 points has no leftover recommendationPASS

    Result: no next skill

  • Des Moines costs sum to exactly 21PASS

    Result: 21

  • Des Moines @ 8 points banks points for Concealment ExpertPASS

    Result: save until 10 (Concealment Expert)

  • Des Moines progression is strictly no-resetPASS

    Result: prefix at every milestone

  • Des Moines uses only Cruiser tree skill idsPASS

    Result: 0 foreign ids

  • Des Moines rates the whole Cruiser treePASS

    Result: 24 rated

  • Montana milestone sequencePASS

    Result: 1/3/6/10/14/17/20/21

  • Montana @ 21 points spends 21/21PASS

    Result: 21/21

  • Montana @ 21 points has no leftover recommendationPASS

    Result: no next skill

  • Montana costs sum to exactly 21PASS

    Result: 21

  • Montana @ 12 points banks points for Fire Prevention ExpertPASS

    Result: save until 14 (Fire Prevention Expert)

  • Montana progression is strictly no-resetPASS

    Result: prefix at every milestone

  • Montana uses only Battleship tree skill idsPASS

    Result: 0 foreign ids

  • Montana rates the whole Battleship treePASS

    Result: 24 rated

  • Gearing milestone sequencePASS

    Result: 1/3/6/10/13/16/19/21

  • Gearing @ 21 points spends 21/21PASS

    Result: 21/21

  • Gearing @ 21 points has no leftover recommendationPASS

    Result: no next skill

  • Gearing costs sum to exactly 21PASS

    Result: 21

  • Gearing @ 8 points banks points for Concealment ExpertPASS

    Result: save until 10 (Concealment Expert)

  • Gearing progression is strictly no-resetPASS

    Result: prefix at every milestone

  • Gearing uses only Destroyer tree skill idsPASS

    Result: 0 foreign ids

  • Gearing rates the whole Destroyer treePASS

    Result: 24 rated

  • Hindenburg milestone sequencePASS

    Result: 1/3/7/10/13/16/20/21

  • Hindenburg @ 21 points spends 21/21PASS

    Result: 21/21

  • Hindenburg @ 21 points has no leftover recommendationPASS

    Result: no next skill

  • Hindenburg costs sum to exactly 21PASS

    Result: 21

  • Hindenburg @ 5 points banks points for Concealment ExpertPASS

    Result: save until 7 (Concealment Expert)

  • Hindenburg progression is strictly no-resetPASS

    Result: prefix at every milestone

  • Hindenburg uses only Cruiser tree skill idsPASS

    Result: 0 foreign ids

  • Hindenburg rates the whole Cruiser treePASS

    Result: 24 rated

  • Kremlin milestone sequencePASS

    Result: 1/3/6/10/13/17/20/21

  • Kremlin @ 21 points spends 21/21PASS

    Result: 21/21

  • Kremlin @ 21 points has no leftover recommendationPASS

    Result: no next skill

  • Kremlin costs sum to exactly 21PASS

    Result: 21

  • Kremlin @ 15 points banks points for Concealment ExpertPASS

    Result: save until 17 (Concealment Expert)

  • Kremlin progression is strictly no-resetPASS

    Result: prefix at every milestone

  • Kremlin uses only Battleship tree skill idsPASS

    Result: 0 foreign ids

  • Kremlin rates the whole Battleship treePASS

    Result: 24 rated

  • Venezia milestone sequencePASS

    Result: 1/3/6/10/13/16/20/21

  • Venezia @ 21 points spends 21/21PASS

    Result: 21/21

  • Venezia @ 21 points has no leftover recommendationPASS

    Result: no next skill

  • Venezia costs sum to exactly 21PASS

    Result: 21

  • Venezia @ 8 points banks points for Concealment ExpertPASS

    Result: save until 10 (Concealment Expert)

  • Venezia progression is strictly no-resetPASS

    Result: prefix at every milestone

  • Venezia uses only Cruiser tree skill idsPASS

    Result: 0 foreign ids

  • Venezia rates the whole Cruiser treePASS

    Result: 24 rated

  • Daring milestone sequencePASS

    Result: 1/3/5/8/12/15/19/21

  • Daring @ 21 points spends 21/21PASS

    Result: 21/21

  • Daring @ 21 points has no leftover recommendationPASS

    Result: no next skill

  • Daring costs sum to exactly 21PASS

    Result: 21

  • Daring @ 10 points banks points for Concealment ExpertPASS

    Result: save until 12 (Concealment Expert)

  • Daring progression is strictly no-resetPASS

    Result: prefix at every milestone

  • Daring uses only Destroyer tree skill idsPASS

    Result: 0 foreign ids

  • Daring rates the whole Destroyer treePASS

    Result: 24 rated

  • Schlieffen milestone sequencePASS

    Result: 1/3/6/10/14/17/21

  • Schlieffen @ 21 points spends 21/21PASS

    Result: 21/21

  • Schlieffen @ 21 points has no leftover recommendationPASS

    Result: no next skill

  • Schlieffen costs sum to exactly 21PASS

    Result: 21

  • Schlieffen @ 8 points banks points for Manual Secondary Battery AimingPASS

    Result: save until 10 (Manual Secondary Battery Aiming)

  • Schlieffen progression is strictly no-resetPASS

    Result: prefix at every milestone

  • Schlieffen uses only Battleship tree skill idsPASS

    Result: 0 foreign ids

  • Schlieffen rates the whole Battleship treePASS

    Result: 24 rated

  • Petropavlovsk milestone sequencePASS

    Result: 1/3/6/9/12/16/19/21

  • Petropavlovsk @ 21 points spends 21/21PASS

    Result: 21/21

  • Petropavlovsk @ 21 points has no leftover recommendationPASS

    Result: no next skill

  • Petropavlovsk costs sum to exactly 21PASS

    Result: 21

  • Petropavlovsk @ 14 points banks points for Concealment ExpertPASS

    Result: save until 16 (Concealment Expert)

  • Petropavlovsk progression is strictly no-resetPASS

    Result: prefix at every milestone

  • Petropavlovsk uses only Cruiser tree skill idsPASS

    Result: 0 foreign ids

  • Petropavlovsk rates the whole Cruiser treePASS

    Result: 24 rated

  • Graf Zeppelin B milestone sequencePASS

    Result: 1/3/6/9/12/16/20/21

  • Graf Zeppelin B @ 21 points spends 21/21PASS

    Result: 21/21

  • Graf Zeppelin B @ 21 points has no leftover recommendationPASS

    Result: no next skill

  • Graf Zeppelin B costs sum to exactly 21PASS

    Result: 21

  • Graf Zeppelin B @ 14 points banks points for Enhanced Aircraft ArmorPASS

    Result: save until 16 (Enhanced Aircraft Armor)

  • Graf Zeppelin B progression is strictly no-resetPASS

    Result: prefix at every milestone

  • Graf Zeppelin B uses only Aircraft Carrier tree skill idsPASS

    Result: 0 foreign ids

  • Graf Zeppelin B rates the whole Aircraft Carrier treePASS

    Result: 24 rated

  • Sturdy milestone sequencePASS

    Result: 1/3/7/11/14/17/19/20/21

  • Sturdy @ 21 points spends 21/21PASS

    Result: 21/21

  • Sturdy @ 21 points has no leftover recommendationPASS

    Result: no next skill

  • Sturdy costs sum to exactly 21PASS

    Result: 21

  • Sturdy @ 5 points banks points for Improved Battery EfficiencyPASS

    Result: save until 7 (Improved Battery Efficiency)

  • Sturdy progression is strictly no-resetPASS

    Result: prefix at every milestone

  • Sturdy uses only Submarine tree skill idsPASS

    Result: 0 foreign ids

  • Sturdy rates the whole Submarine treePASS

    Result: 20 rated

  • Roussillon milestone sequencePASS

    Result: 1/3/6/9/12/16/20/21

  • Roussillon @ 21 points spends 21/21PASS

    Result: 21/21

  • Roussillon @ 21 points has no leftover recommendationPASS

    Result: no next skill

  • Roussillon costs sum to exactly 21PASS

    Result: 21

  • Roussillon @ 14 points banks points for Fire Prevention ExpertPASS

    Result: save until 16 (Fire Prevention Expert)

  • Roussillon progression is strictly no-resetPASS

    Result: prefix at every milestone

  • Roussillon uses only Battleship tree skill idsPASS

    Result: 0 foreign ids

  • Roussillon rates the whole Battleship treePASS

    Result: 24 rated

  • Affondatore milestone sequencePASS

    Result: 1/3/6/10/13/16/20/21

  • Affondatore @ 21 points spends 21/21PASS

    Result: 21/21

  • Affondatore @ 21 points has no leftover recommendationPASS

    Result: no next skill

  • Affondatore costs sum to exactly 21PASS

    Result: 21

  • Affondatore @ 8 points banks points for Fire Prevention ExpertPASS

    Result: save until 10 (Fire Prevention Expert)

  • Affondatore progression is strictly no-resetPASS

    Result: prefix at every milestone

  • Affondatore uses only Battleship tree skill idsPASS

    Result: 0 foreign ids

  • Affondatore rates the whole Battleship treePASS

    Result: 24 rated

  • Novosibirsk milestone sequencePASS

    Result: 1/3/6/9/12/15/19/21

  • Novosibirsk @ 21 points spends 21/21PASS

    Result: 21/21

  • Novosibirsk @ 21 points has no leftover recommendationPASS

    Result: no next skill

  • Novosibirsk costs sum to exactly 21PASS

    Result: 21

  • Novosibirsk @ 17 points banks points for Top Grade GunnerPASS

    Result: save until 19 (Top Grade Gunner)

  • Novosibirsk progression is strictly no-resetPASS

    Result: prefix at every milestone

  • Novosibirsk uses only Cruiser tree skill idsPASS

    Result: 0 foreign ids

  • Novosibirsk rates the whole Cruiser treePASS

    Result: 24 rated

  • Castilla milestone sequencePASS

    Result: 1/3/6/10/13/15/18/21

  • Castilla @ 21 points spends 21/21PASS

    Result: 21/21

  • Castilla @ 21 points has no leftover recommendationPASS

    Result: no next skill

  • Castilla costs sum to exactly 21PASS

    Result: 21

  • Castilla @ 8 points banks points for Top Grade GunnerPASS

    Result: save until 10 (Top Grade Gunner)

  • Castilla progression is strictly no-resetPASS

    Result: prefix at every milestone

  • Castilla uses only Cruiser tree skill idsPASS

    Result: 0 foreign ids

  • Castilla rates the whole Cruiser treePASS

    Result: 24 rated

  • Lüshun B milestone sequencePASS

    Result: 1/3/6/9/13/15/18/21

  • Lüshun B @ 21 points spends 21/21PASS

    Result: 21/21

  • Lüshun B @ 21 points has no leftover recommendationPASS

    Result: no next skill

  • Lüshun B costs sum to exactly 21PASS

    Result: 21

  • Lüshun B @ 11 points banks points for Concealment ExpertPASS

    Result: save until 13 (Concealment Expert)

  • Lüshun B progression is strictly no-resetPASS

    Result: prefix at every milestone

  • Lüshun B uses only Destroyer tree skill idsPASS

    Result: 0 foreign ids

  • Lüshun B rates the whole Destroyer treePASS

    Result: 24 rated

  • Yueyang milestone sequencePASS

    Result: 1/3/6/9/13/16/18/21

  • Yueyang @ 21 points spends 21/21PASS

    Result: 21/21

  • Yueyang @ 21 points has no leftover recommendationPASS

    Result: no next skill

  • Yueyang costs sum to exactly 21PASS

    Result: 21

  • Yueyang @ 11 points banks points for Concealment ExpertPASS

    Result: save until 13 (Concealment Expert)

  • Yueyang progression is strictly no-resetPASS

    Result: prefix at every milestone

  • Yueyang uses only Destroyer tree skill idsPASS

    Result: 0 foreign ids

  • Yueyang rates the whole Destroyer treePASS

    Result: 24 rated

  • Cassard milestone sequencePASS

    Result: 1/3/6/10/12/15/18/21

  • Cassard @ 21 points spends 21/21PASS

    Result: 21/21

  • Cassard @ 21 points has no leftover recommendationPASS

    Result: no next skill

  • Cassard costs sum to exactly 21PASS

    Result: 21

  • Cassard @ 8 points banks points for Concealment ExpertPASS

    Result: save until 10 (Concealment Expert)

  • Cassard progression is strictly no-resetPASS

    Result: prefix at every milestone

  • Cassard uses only Destroyer tree skill idsPASS

    Result: 0 foreign ids

  • Cassard rates the whole Destroyer treePASS

    Result: 24 rated

  • Verification queue excludes every verified shipPASS

    Result: 0 present

  • Fleet records and ship ids are uniquePASS

    Result: 0 duplicates

  • Cruiser and Battleship trees are 24 skills eachPASS

    Result: 24/24

  • The eleven previously verified builds still spend 21/21PASS

    Result: 21/21, 21/21, 21/21, 21/21, 21/21, 21/21, 21/21, 21/21, 21/21, 21/21, 21/21

  • Dashboard total fleet matches the fleet catalogPASS

    Result: 282

  • Dashboard verified totalPASS

    Result: 261

  • Dashboard pending totalPASS

    Result: 21

  • Dashboard data issuesPASS

    Result: 0

  • Sum of class totals equals the fleetPASS

    Result: 282

  • Sum of tier totals equals the fleetPASS

    Result: 282

  • Sum of nation totals equals the fleetPASS

    Result: 282

  • Sum of verified by class equals verified totalPASS

    Result: 261

  • Sum of pending by class equals pending totalPASS

    Result: 21

  • Every breakdown row sums verified + pending + issues to its totalPASS

    Result: 0 mismatches

  • Overall coverage percentage is computed from the dataPASS

    Result: 92.6

  • Nation rows are sorted weakest coverage firstPASS

    Result: sorted

  • Priority queue returns at least ten candidatesPASS

    Result: 10

  • Priority queue never contains a verified shipPASS

    Result: 0 verified

  • Priority queue has no duplicatesPASS

    Result: 10 unique

  • Every queue candidate resolves to a real fleet entryPASS

    Result: 0 unresolved

  • Every queue candidate states why it is prioritisedPASS

    Result: 0 missing reasons

  • Queue is ordered by descending priority scorePASS

    Result: descending

  • Batch 5 ships are removed from the priority queuePASS

    Result: 0 of Affondatore/Novosibirsk/Castilla queued

  • Affondatore has exactly one fleet recordPASS

    Result: 1 record

  • Affondatore fleet record is corrected to Italy / Battleship / tier 11PASS

    Result: Italy/Battleship/11/owned

  • Affondatore build uses the Battleship treePASS

    Result: Battleship

  • No destroyer named Affondatore remains in the fleetPASS

    Result: 0

  • Affondatore build uses only battleship skill idsPASS

    Result: 0 foreign ids

  • Novosibirsk and Castilla use only cruiser skill idsPASS

    Result: 0 foreign ids

  • Class totals reflect Affondatore moving from Destroyer to BattleshipPASS

    Result: BB 82 / DD 66

  • Lüshun B has exactly one fleet recordPASS

    Result: 1 record

  • Lüshun B fleet record is upgraded in place to the verified buildPASS

    Result: lushun-b/verified/owned

  • Lüshun B build is a Destroyer buildPASS

    Result: Destroyer/verified

  • Lüshun B uses only destroyer skill idsPASS

    Result: 0 foreign ids

  • Lüshun B every skill id resolves in the destroyer treePASS

    Result: 0 unresolved

  • Lüshun B rates all 24 destroyer skills exactly oncePASS

    Result: 24 unique

  • Lüshun B progression totals exactly 21 pointsPASS

    Result: 21

  • Yueyang has exactly one fleet recordPASS

    Result: 1 record

  • Yueyang fleet record is upgraded in place to the verified buildPASS

    Result: yueyang/verified/owned

  • Yueyang build is a Destroyer buildPASS

    Result: Destroyer/verified

  • Yueyang uses only destroyer skill idsPASS

    Result: 0 foreign ids

  • Yueyang every skill id resolves in the destroyer treePASS

    Result: 0 unresolved

  • Yueyang rates all 24 destroyer skills exactly oncePASS

    Result: 24 unique

  • Yueyang progression totals exactly 21 pointsPASS

    Result: 21

  • Cassard has exactly one fleet recordPASS

    Result: 1 record

  • Cassard fleet record is upgraded in place to the verified buildPASS

    Result: cassard/verified/owned

  • Cassard build is a Destroyer buildPASS

    Result: Destroyer/verified

  • Cassard uses only destroyer skill idsPASS

    Result: 0 foreign ids

  • Cassard every skill id resolves in the destroyer treePASS

    Result: 0 unresolved

  • Cassard rates all 24 destroyer skills exactly oncePASS

    Result: 24 unique

  • Cassard progression totals exactly 21 pointsPASS

    Result: 21

  • Batch 6 builds do not duplicate Shimakaze/Gearing/Daring progressionsPASS

    Result: 3 distinct

  • Batch 6 ships are removed from the priority queuePASS

    Result: 0 of Lüshun B/Yueyang/Cassard queued

  • Coverage totals after the Tier V-VII batchPASS

    Result: 282 total / 261 verified / 21 pending / 0 issues

  • aoba has verified ship-specific upgradesPASS

    Result: Ship-specific Verified

  • orion-44 has verified ship-specific upgradesPASS

    Result: Ship-specific Verified

  • kurama has verified ship-specific upgradesPASS

    Result: Ship-specific Verified

  • marlborough-b stays on the class-based upgrade labelPASS

    Result: Class-based recommendation

  • Unknown ships use class-based upgrade recommendationsPASS

    Result: Class-based recommendation / 5 slots

  • Upgrade slot availability follows tier gatesPASS

    Result: 1,2,3,4,5,6

  • Every recommended upgrade is class- and slot-compatiblePASS

    Result: 0 incompatible

  • Thrasher shows six submarine-legal upgrade slotsPASS

    Result: Class-based recommendation / Sonar Modification 1, Sonar Modification 2, Dive Capacity Modification 1, Submarine Steering Gears, Reinforced Bulkheads, Dive Capacity Modification 2

  • Carrier recommendations use aircraft-only upgradesPASS

    Result: 0 surface-only upgrades