Quick Help — Topic, Problem, and How to Solve It

Look for the question closest to what you need, and click it to jump straight to the answer.

Installation & Setup

Websites & Online Services

Account & Registration

Chess Engines

Games and Positions

Position Manager

Training Sessions

Statistics

Automatic Mistake Detection

Opening Repertoire

Auto-Repertoire Builder

Opening Books

PGN Editor and General

Build Tactics

Configuration and Parameters

Chess Training & Opening Preparation Software

User Manual

A practical, step-by-step guide to installing, configuring and using every module of the application.

1. Getting Started

1.1 Downloading and Installing ChessPM

ChessPM is available for download from the website, under Software → Download ChessPM. The download page lists all available versions, with the most recent version recommended for new users.

System requirements

  • Windows 10 or 11 (64-bit) only — the software does not run on Mac, Linux, phones, or tablets.
  • Minimum 8GB RAM.
  • 16GB or more RAM recommended for building or working with large opening books; this is not required for normal use.
Download page showing version table
Download page showing version table https://www.chesspm.com/trainimg/download-page-showing-version-table.png

Installing

  1. Download the installer (.exe file) from the Download page and run it.
  2. The installer checks whether the Microsoft WebView2 Runtime is present on your system and installs it automatically if needed. This is a standard Microsoft component used by many modern Windows applications; seeing it install is normal, not a sign of a problem.
  3. You may see a "Windows protected your PC" message. This is Microsoft Defender SmartScreen, and it appears because the installer is not yet digitally signed with a purchased publisher certificate — it does not mean the software is unsafe. Click "More info" on the warning, then "Run anyway" to continue.
SmartScreen warning with More info highlighted
SmartScreen warning with More info highlighted https://www.chesspm.com/trainimg/smartscreen-warning-with-more-info-highlighted.png
  1. Follow the installation wizard to complete setup. A desktop shortcut is created if you selected that option during installation.
  • Re-installing or upgrading to a new version does not remove your existing data (exercise files, PGN files, opening books, settings); your data folder is left in place.
  • If a desktop shortcut stops working after a Windows restart or reinstall, either recreate the shortcut pointing at the installed executable, or simply reinstall — your data will still be there.

1.2 First Launch and Logging In

When you first open ChessPM, you are prompted to log in.

  • If you already have an account — registered on the website, or from a previous installation — simply log in with your existing username and password; there is no need to register again. The software connects to the same account system as the website, so your credentials work in both places.
  • If you don't have an account yet, click Register on the login screen, or register first on the website.
Login screen with Register and Forgot Password links highlighted
Login screen with Register and Forgot Password links highlighted https://www.chesspm.com/trainimg/login-screen-with-register-and-forgot-password-links-highlighted.png

1.3 Registering a New Account

You can register either from within the software (click Register on the login screen) or from the website (Users menu → New user). Both methods create the same account and work identically going forward.

When registering, you are asked for:

  • Username and Password (up to 12 characters each).
  • First Name and Last Name.
  • Email address.
  • Elo rating (optional) — your approximate chess rating, if known.
  • Country — select from the list, or choose "Other / Not Listed" if your country isn't shown.
Registration form
Registration form https://www.chesspm.com/trainimg/registration-form.png

After registering, a new account starts on the basic tier — no time limit, and no credit card required (Section 1.4). See Starting Your Free Trial below to unlock the advanced features as well, for a limited time.

Note: Every new account is asked to accept the software's Terms and Conditions on first login. This is a one-time step — once accepted, you won't be asked again.

1.4 Account Tiers and Starting Your Free Trial

Every account, from the moment it is registered, has permanent access to the basic tier: basic positions, puzzles, and theme customization. There is no time limit on the basic tier and no credit card is required for it — it remains fully usable indefinitely, whether or not a trial or a paid plan is ever added.

On top of the basic tier, a one-time trial unlocks the advanced features for 21 days:

  • Opening Book
  • Repertoire
  • Tactics Builder (Build Tactics, Section 9)
  • PGN Scanner
  • PGN Editing
  • Endgames
  • Database
  • Extra tools

To start the trial:

  1. Log in to ChessPM.
  2. Go to Account → Start Trial in the menu.
  3. Confirm the prompt.
Start Trial menu location and confirmation dialog
Start Trial menu location and confirmation dialog https://www.chesspm.com/trainimg/start-trial-menu-location-and-confirmation-dialog.png

During the 21-day trial, the advanced features above are available, but with usage limits in place — for example, limits on file size or count, on how many books or repertoires can be built, and on how far an automated process (such as a scan or a build) can run in one go. These limits are intended to give a genuine, hands-on feel for every advanced feature without requiring a paid plan first; the exact limits may be adjusted over time as the trial is tuned.

The trial can only be started once per account. After the 21 days end, the advanced features return automatically to the basic tier; the basic tier itself is unaffected and remains fully usable, with no expiry, whether or not you go on to purchase a plan.

1.5 Interested in Purchasing?

If you'd like continued access to the advanced features after your trial — or want to skip the trial and go straight to purchasing — you can reach out in two ways:

  • From within the software: Account → Purchase / Upgrade.
  • From the website: Software menu → Purchase Inquiry.
Purchase Inquiry form showing feature checkboxes
Purchase Inquiry form showing feature checkboxes https://www.chesspm.com/trainimg/purchase-inquiry-form-showing-feature-checkboxes.png

On this form, you can select which features you're interested in (or choose "Full Plan" for everything), and leave your contact details and any notes. This is a personal inquiry rather than an automated checkout — expect a follow-up about pricing and next steps.

A general pricing page is also available for reference (Section 2.5), showing indicative starting prices for a few common plan lengths and feature combinations; actual pricing is still arranged individually through the Purchase Inquiry above.

1.6 Managing Your Account

Once logged in, the Account menu (in the software) or Users menu (on either website — Section 2.1) gives you access to:

  • Change Password — update your password (you'll need your current password to confirm).
  • Update Profile — edit your name, email, Elo rating, and country. Available on the software and on both websites.
  • Forgot Password — sends a password reset link to the email address on your account if you can't remember your password. The link is valid for 1 hour. This option is only available for accounts created with the current version of the software; very old accounts may need to re-register.
  • Contact Support — send a general support message or question.
  • Log Out — available in the software and on both websites.
Account menu in WinForms
Account menu in WinForms https://www.chesspm.com/trainimg/account-menu-in-winforms.png
Users menu on website
Users menu on website https://www.chesspm.com/trainimg/users-menu-on-website.png

1.7 Downloading Additional Files

Logged-in users with the appropriate feature access can download supplementary files — position sets, opening books, repertoire files, and game databases — from the Files section of either website. Some files require specific feature access to download, and larger files (opening books, repertoire files, game databases) are downloaded through the desktop application rather than the website. See Section 2.3 for the full details.

1.8 The Data Folder

From the Home screen, use "Open data folder" to open the folder where all of your data lives. It is organized into sub-folders, including:

  • pgn — imported game collections.
  • pos — your personal exercise files (JSON), used for training.
  • scan — intermediate results of automatic engine scans (not yet a training file).
  • eng — chess engines; each engine you use can have its own sub-folder here.
  • Repertoire — your opening repertoire folders (one sub-folder per opening/line).
  • BigBook — large opening books built from external PGN collections (one sub-folder per book).
Tip: Create a shortcut to this folder on your desktop. It makes backing up much easier.

1.9 Backing Up Your Data

The program includes automatic saving and some built-in protection against invalid saves, but manual backups are still strongly recommended, especially:

  • Before and after a large batch of manual edits to an exercise file.
  • Periodically, in general — for example weekly.

To back up, simply copy the relevant sub-folders (at minimum pos, which holds your exercises) to a separate backup location.

Important: Do not run two copies of the program at the same time against the same exercise file (for example, editing it in one window while training on it in another). Training mode periodically re-saves the file it is working on, and running both at once can overwrite edits or, in rare cases, appear to delete positions that were in fact only shadowed by a stale copy of the file. If this ever happens, check the data folder for the most recently modified file of that name before assuming data has been lost, and restore from your latest backup if needed.

1.10 Troubleshooting: Installation and Account

"Windows protected your PC" when installing

This is expected and not a sign of a problem — see Installing above. Click "More info" → "Run anyway" to proceed.

I can't log in / "Invalid username or password"

  • Double-check your username and password are typed correctly (passwords are case-sensitive).
  • If you've forgotten your password, use Forgot Password (see below) rather than repeatedly guessing.
  • Make sure you're using the same account whether logging in from the software or the website — they share the same login.
Login error message
Login error message https://www.chesspm.com/trainimg/login-error-message.png

I forgot my password

  1. On the login screen, click "Forgot Password?".
  2. This opens the password reset page in your web browser.
  3. Enter your username and submit.
  4. Check your email — including your Spam/Junk folder, and "All Mail" if using Gmail with filters — for a message from ChessPM Support with a reset link.
  5. Click the link; it's valid for 1 hour from when it was sent.
  6. Enter and confirm your new password.
  7. Return to the software and log in with your new password.
Forgot Password page
Forgot Password page https://www.chesspm.com/trainimg/forgot-password-page.png
Reset Password page
Reset Password page https://www.chesspm.com/trainimg/reset-password-page.png

If you don't receive the email within a few minutes, check your spam folder before requesting another reset link. If you still don't receive it, contact support.

The first login of the day is slow

This can happen if the servers have been idle for a while and need a moment to start up — this is normal and typically only affects the very first request. If the login screen appears to hang, wait a moment and try again rather than repeatedly clicking.

I registered but I only have limited features

This is expected — every new account starts on the basic tier (Section 1.4), which does not include the advanced features. To unlock them for 21 days, start your free trial (Account → Start Trial), or contact us about purchasing.

My trial ended and I lost access to some features

This is expected behaviour — the trial is a one-time 21-day period for the advanced features. Your account automatically returns to the basic tier afterward; the basic tier itself is unaffected and remains fully usable. If you'd like continued access to the advanced features, reach out via Purchase Inquiry.

A file I want to download isn't available to me

Some files require specific feature access (for example, requiring the Positions or Repertoire feature). If you see "Requires [feature] access" instead of a download link, your current account doesn't include that feature — either start your trial if you haven't yet, or contact us about purchasing access to it.

A large file download isn't working

Some larger files are hosted on the main website rather than the download page directly. If the main site is temporarily unavailable, these specific downloads may not work until it's back online. Try again later, or contact support if the issue persists.

I have another problem not listed here

Use Account → Contact Support in the software, or the Contact Us page on the website, to send a message describing the issue. Please include what you were trying to do, any error message you saw (exact text or a screenshot is very helpful), and whether this was in the software or on the website.

Contact Support form
Contact Support form https://www.chesspm.com/trainimg/contact-support-form.png

2. The ChessPM Websites

Alongside the desktop software, ChessPM maintains two websites that share the same account system as the software itself — the same username and password work in all three places. Between them, the two sites cover account management, file downloads, a pricing reference, and a way to share individual positions and studies as interactive links.

2.1 www.chesspm.com and app.chesspm.com

www.chesspm.com is the main site, carrying the tagline "ChessPM – Chess Personal Mentor." Its home page includes quick-action cards for the most common starting points — Download, Login, Register, and Purchase Inquiry — plus an "Explore ChessPM" section linking to published studies, weekly puzzles, and the documentation you are reading now.

app.chesspm.com is a second, fully independent site with the same tagline and the same quick-action home page layout. It exists specifically as a backup: everything on it works whether or not the main site is reachable at that moment (Section 2.2).

2.2 The Backup Site

app.chesspm.com is designed to always be available, even during a period when www.chesspm.com is temporarily down. It carries a full, independent set of account and download functions, not just a status page:

  • Login and Register
  • Change Password, and Forgot Password / Reset Password
  • Update Profile
  • Download (the installer) and Files (Section 2.3)
  • Purchase Inquiry
  • Contact Us
  • Home

The same login credentials work on both websites and in the desktop software — there is only ever one account, regardless of which of the three you are using at the time.

Note: If www.chesspm.com is ever unreachable, app.chesspm.com is the place to go for login, registration, password recovery, downloads, or a purchase inquiry in the meantime.

2.3 Downloading Files from the Website

Logged-in users can browse and download a range of files directly from the Files page, present on both websites. Some files require specific feature access to download — for example, a Positions file requires the Positions feature on the account; a file you don't currently have access to shows what is required instead of a download link.

  • Larger files — opening books, repertoire files, and game databases — are downloaded through the desktop application instead of the website. The website's Files pages note this clearly and point you to the relevant screen in the software (see Section 12 for opening books, Section 10 for repertoires).
  • If the main website is temporarily unavailable, some files automatically become available through an alternate source instead; a note appears on the download page in that situation, so a temporary outage does not necessarily block a download.
Files download page showing available and restricted files
Files download page showing available and restricted files https://www.chesspm.com/trainimg/files-download-page-showing-available-and-restricted-files.png

2.4 Diagram and Study Viewer

Individual chess studies and positions can be viewed and solved interactively through a direct link, without needing to install or log in to anything — this is the mechanism behind shared positions you might encounter on social media or elsewhere online. Opening such a link presents the position on an interactive board with a small set of display and interaction options:

  • Solving mode — attempt the position yourself, move by move, the same underlying interaction as solving an exercise in the desktop software.
  • Replay mode — step through the recorded solution or game at your own pace, without being tested on it.
  • Various display parameters — board orientation and similar presentation options can be set through the link itself, so a shared position can be pre-configured for how it should first appear to whoever opens it.

2.5 Pricing

A general pricing page is available for reference, linked directly rather than from the main site menu. It shows indicative starting prices across a few common combinations — permanent, 12-month, and 6-month terms, each available for full or partial feature access.

Actual pricing is arranged individually, based on the specific level and features a user needs; the Purchase Inquiry option (Section 1.5) is the way to start that conversation. The pricing page is a starting reference point, not a fixed, automated price list.

3. Setting Up Chess Engines

A recent Stockfish build is included and pre-configured, so analysis works out of the box. To add or switch engines:

  1. Open Settings → Engines.
  2. Click Browse and select the engine's .exe file (placing engine folders under the eng sub-folder of the data folder keeps things tidy).
  3. Type a short, simple name for the engine in the Engine Name field.
  4. Click Add. The engine now appears in the list of configured engines.
  5. Click on the engine's row in the list to select it, then click Set Default to make it the active engine.
  6. Click OK to save your settings.

Any UCI-compatible engine can be used this way, not only Stockfish. You can register several engines and switch the default at any time, which is convenient for comparing evaluations — for example, checking whether a mistake flagged by one engine is confirmed by a second, differently-tuned one.

Loading and running an engine

  • Wherever an engine is used (PGN Scanner, Position Manager analysis, game browsing) you must first click Load and see the status change to Started before clicking Start Analysis; if it stays on Stopped, the engine path is wrong or the engine failed to start.
  • Each screen that uses an engine loads it independently — loading the engine in one screen does not carry over to another screen.
Tip: If you change an engine's settings while the program is running, close and reopen the program once afterward so the new settings take effect cleanly.
Tip: Stockfish can take noticeably longer on some individual positions than others at the same depth — this is normal, particularly in clearly winning positions where the engine double-checks alternatives before committing to its final choice. A depth of around 15–18 is a reasonable default, and the scanner's one-move seconds limit (Section 8.3) keeps any single position from taking too long during an automated scan.

4. Importing Games and Building Exercises Manually

4.1 Importing a PGN file

  1. Go to My PGN Database.
  2. Click Browse and choose your PGN file (importing copies it into the pgn sub-folder of the data folder).
  3. Click Load Games PGN. The list of games appears on the left.
  4. Click a game in the list to open it; its moves appear below.

PGN files that do not start from the initial position (they begin with a FEN header) are read correctly. Files must be reasonably standard PGN — for example, promotions must use the "=" notation (e.g. d1=Q); some hand-edited or non-standard files omit this and will not be read correctly.

4.2 Adding a Position to an Exercise File

  1. Before adding positions, choose (or create) the exercise file you want to add to, on the right-hand side of the screen, and click Set so that new positions are written to that file.
  2. In the game's move list, click the move after which you want the exercise to start.
  3. Click Add Position.

The software automatically fills in the FEN of the position, the move that was actually played ("last move"), and the move that should be played instead ("next move" / solution), taken from the game's continuation.

Tip: "Last move" is the move actually played in the source game; "solution" is the move the software proposes as correct — normally the move actually played in the game, one ply later. If you want the exercise to test a different move than what was actually played, correct the solution afterwards in the Position Manager (Section 5).
Important: All new positions from a given screen go to the exercise file currently selected there. Before adding a batch of positions, double-check which file is selected, especially after switching files or reloading the screen.

4.3 Adding Positions with More Than One Move

An exercise does not have to test a single move. When adding a position, a longer solution line can be specified instead of (or in addition to) the single "next move" field, so that the exercise continues automatically with the software's own recorded reply after the user's move, following the source game (or a hand-built line) for as many moves as recorded. This is the basis for memorisation exercises built from whole games (see 3.4) and for short forced sequences such as combinations or study solutions.

4.4 Learning Whole Games by Heart

To build a "learn this game by heart" exercise, add the game's starting position with a full-line solution covering the whole game (or the portion you want to memorise). The exercise will then expect, move by move, exactly the moves that were played in that game; after the user's move the software automatically replies with the recorded opposing move, exactly as in a repertoire test. This is well suited to model games, studies and annotated master games, less so to arbitrary long games where only some moves are worth memorising.

5. The Position Manager

Position Manager shows every exercise in the currently selected exercise file, one row per position, with its FEN, last move, solution, notes and statistics.

5.1 Choosing an Exercise File

  1. Click Browse and pick a file from the pos sub-folder (or create a new one — right-click in the file list and choose New, or create an empty JSON file directly in the pos folder).
  2. Click Set to load it into the manager.
Tip: There is no fixed limit on how many separate exercise files you keep; use as many as you like, for example one per topic, opening, or source.

5.2 Editing a Position

  1. Click the row you want to edit; its fields appear on the right.
  2. Change the FEN and/or the solution move as needed.
  3. Click Update (at the bottom right) to save the change to that specific row.
  4. Reload the file (Set again) to confirm the change is saved.
Important: Edits are per-row: select the row first, edit its fields, then click Update for that row. Clicking Update without first selecting the correct row will not update the row you intended.

5.3 Adding, Deleting and Reordering

  • Add — a position can also be added directly from this screen: fill in FEN and solution, then click Add.
  • Delete — select a row and click Delete. Deleting from the middle of a file leaves a gap in the ID numbering rather than renumbering later rows; use Reindex if you want to close such gaps and renumber sequentially.
  • Disable — a position can be switched off (excluded from training) without deleting it, which is useful if you are unsure whether to remove it permanently.
  • Reindex — renumbers all IDs in the file sequentially, closing any gaps left by earlier deletions.

5.4 Notes

Each position has a free-text note field (User Note) where you can record why a move is a mistake, what the idea of the correct move is, or your own classification of the error. These notes are for your own reference and are not tested during training.

5.5 Running Engine Analysis Over a Whole File

  1. Load an engine (Load, then confirm it shows Started).
  2. Click Start Analysis.

The engine works through every position in the file, filling in its recommended move and evaluation for each. This does not, on this screen, generate alternative moves automatically — that richer analysis, including alternatives, is done through the PGN Engine Scanner (Section 6). You can stop the analysis at any point with Stop.

Important: An engine analysis run and a training session cannot be active on the same file at the same time; stop one before starting the other.

5.6 Clearing History

Clear History resets the attempt/success statistics for the currently loaded file, without affecting the positions or solutions themselves. This is useful before starting a fresh round of practice, or after you have significantly edited the solutions in a file (making the old attempt history no longer meaningful).

5.7 Exporting to PGN

An exercise file can be exported to a standard PGN file containing, for each position, the last move played, the correct move, and your notes. This is useful for reviewing your training material in another chess program, or for sending a set of positions to another player for a second opinion, since the native exercise files are JSON and are not directly readable by other chess software.

6. Training Mode

6.1 Basic Solving

  • Start — begins continuous training through the current selection of positions, moving automatically to the next one after each attempt.
  • Solve — solves one specific position (choose its ID, then Set ID, then Solve), without touching the rest of the sequence.
  • Cancel — stops the session immediately without counting the current position as a failure; solving picks up again from the same place when you click Start again.
  • Skip — moves on to the next position, and does count the current one as a failure.

Moves are entered in engine notation, for example f1d3 or g5d2 (from-square, to-square).

6.2 Choosing the Order

Several ordering modes are available and can be combined with an ID range:

  • Sequential — positions are presented strictly in ID order.
  • Random of all — every position, in a shuffled order.
  • Random, not solved — only positions not yet solved correctly.
  • Random, not seen — only positions never attempted before.
  1. To train a specific range, enter the starting ID and click Set ID, then choose the ordering mode and click Start (rather than using the range fields directly, which are not used by every mode).
Tip: To make a random pass cover a whole range evenly, once each, rather than potentially repeating a position before finishing the rest, clear the training history first (Position Manager → Clear History) and then run a random session on the full range.

6.3 Time Limits

There are two different, unrelated time settings — do not confuse them:

  • Settings → Positions Training → Max Solve Time (msec) — the actual per-move time limit that is enforced when "limit time" is selected in the training screen. For example, 5000 means 5 seconds.
  • The time-range field visible directly on the training screen is only a filter for reviewing which past attempts fell inside a given time window — it does not itself limit solving time.
Tip: If a time-limited session seems to be cutting you off after only a couple of seconds, check that the Max Solve Time value in Settings is set to what you actually intend, in milliseconds.

6.4 Retry After a Wrong Answer

Settings → Positions Training → "Allow retry after fail for 1 move" lets you try a position again immediately after a wrong answer, instead of moving straight to the next one. The attempt is still recorded as a failure in the statistics (only whether the first attempt was correct counts toward the success rate), but you get the chance to work out the right move on the spot. This option behaves most predictably when no time limit is in use.

6.5 Statistics

The Statistics screen (Statistics Chart) shows, for the current file, how many positions have been solved out of how many attempted, the average solving time, and the average number of attempts per position. Click Calculate to refresh the figures after a session.

Tip: Statistics are per exercise file. Use Position Manager → Clear History if you want to reset the counters and start measuring progress from zero.

6.6 Manual Scan Mode

Manual Scan pauses after every correctly-solved position and waits for you to click Continue before moving on — useful when you want to look something up, take notes, or simply control your own pace rather than being carried automatically to the next position.

  • Continue, without having solved the current position, simply advances to the next one; it does not force you to solve it first.
  • If working through a chosen ID range in Manual Scan, make sure the range/order combination you selected actually supports the range you want — the plain sequential range selectors and the "random between IDs" selector behave differently, and only the latter currently restricts a random pass to a chosen range.

6.7 Illegal or Unintended Moves

The software checks whether the move you enter is legal in the given position; it does not attempt to guess or second-guess what you meant. If you enter an illegal move it will be reported as such rather than silently accepted.

7. Working with Several Exercise Files

There is no limit to the number of exercise files you can keep — for example, one for tactical mistakes from blitz games, one for positional mistakes from classical games, one per opening, or one for a specific project such as a set of study positions from a particular composer.

  1. In any screen with a Browse/Set pair for the exercise file, click Browse to see every file currently in the pos folder.
  2. Select the file you want.
  3. Click Set to make it the active file for that screen (this does not affect any other screen; each screen's active file is chosen independently).
Tip: To start a brand-new, empty exercise file, right-click in the file list and choose New, or simply place an empty JSON file directly in the pos sub-folder and then Browse to it.

8. Automatic Mistake Detection — the PGN Engine Scanner

The PGN Engine Scanner automates the process described in Section 4: instead of manually browsing a game to find mistakes, the engine reviews the game (or games) for you and lists every move whose evaluation swung by more than a chosen threshold.

8.1 Running a Scan

  1. Open PGN Engine Scan and load a PGN file with Browse, then Load Games PGN (as in Section 4.1).
  2. Load the engine (Load, confirm Started).
  3. Choose the scope: Scan 1 Move (only the currently selected move), Scan 1 Game (the currently selected game), or Start PGN List Scan (every game in the list).
  4. If a scan output already exists for this session and you start a new list scan, you will be asked whether to keep adding to it or start over — answer according to whether you want to accumulate results across multiple scanning sessions.

While a list scan is running, progress is shown continuously. It can be paused at any time with Stop, and resumed later exactly where it left off with Resume — the scanner remembers the last game it fully analysed.

Important: Do not start a single-game or single-move scan while a full-list scan is still running; stop the list scan first. Attempting to run two scans at once produces errors and is blocked.

8.2 Restricting the Scan

  • Filter by player name to analyse only one side's moves — recommended for a personal games collection, since it roughly halves the number of positions analysed and avoids flagging your opponents' mistakes.
  • Starting move — the scan can skip a number of opening moves; lower this if you specifically want early-game mistakes (for example, falling for an opening trap) to be detected as well.

8.3 Detection Parameters (Settings → Scanner)

  • Mistake sensitivity — controls how large an evaluation swing must be, relative to how close to equality the position already is, before it is flagged as a mistake. Lower this if you want smaller, more "positional" errors near an equal position to be detected as well.
  • Alternate-move evaluation gap — moves within this gap of the best move are recorded as acceptable alternatives rather than being ignored.
  • Do-not-add-above / ignore-above thresholds — control when the scanner stops paying attention to a game because the position has already been clearly decided for several consecutive moves; raise the relevant "number of consecutive moves" parameter if you want the scan to keep checking for missed wins or missed forced mates even deep into an already large advantage.
  • Depth or time limit per move — analysis quality versus speed; depth-based analysis is the more thoroughly tested option.
  • One-move seconds limit — an additional safety cap on how long the engine may spend on a single position during a scan.
  • Show Threshold, on the scanner screen, lets you see the actual numeric thresholds that result from your current sensitivity settings, for a chosen evaluation level, before committing to a full scan.
Tip: If a scan is producing far more flagged positions than useful, especially in blitz games with many mutual mistakes, try raising the sensitivity threshold, or restrict the scan to your own moves only, or scan a smaller, hand-picked set of games instead of an entire blitz archive.

8.4 Reading the Results

Click a flagged move in the results list to see, on the right, the type of error, the engine's evaluation of the error, the correct move and its evaluation, and — up to the configured move limit — the full recommended continuation. A manual error-severity value (0–9) can be entered for each flagged move, letting you later filter and transfer only positions within a chosen severity range.

8.5 Adding Results to a Test File

  1. With one or more rows selected in the scan results (the middle column), choose the target exercise file on the right (Browse, then Set).
  2. Click Add Position (or select all and add them all) to copy the chosen positions into that exercise file.

A duplicate check prevents the same starting position from being added twice to the same file, whether you add rows one at a time or add the whole result set at once.

8.6 A Note on Scope

The PGN Engine Scanner works on whole games — it is a batch/automatic tool. If you want engine analysis and candidate alternative moves for one specific position outside a full game scan, use Scan 1 Move at that position in a game you have open, rather than looking for a single-position mode inside the scanner's own dedicated screen.

9. Build Tactics — Automatically Finding and Building Tactical Exercises

Build Tactics screen
Build Tactics screen https://www.chesspm.com/trainimg/build-tactics-screen.png

Build Tactics scans games — complete games from the starting position, or fragments starting from a specific FEN — and automatically extracts critical moments worth training on. It saves each one as a PGN exercise with a starting position, a move line, and rich metadata (difficulty level, description, game stage), ready for review on the board or import into a training database.

Build Tactics is broader than its name suggests. It doesn't only find classic tactical motifs (sacrifices, forks, mating nets) — it also detects moments where one player made a significant, exploitable error, regardless of whether the punishment is tactical in the traditional sense or simply a clean technical continuation that presses an advantage. What unifies everything the tool looks for is not "is this a tactic," but whether this is a moment worth stopping at and learning from — either because a genuine tactical pattern is present in the position, or because a player missed something and the resulting line demonstrates the correct, decisive response.

Two different detection mechanisms feed the same pipeline:

  • Structural tactical motifs — patterns detected directly in the position by a dedicated analysis engine: sacrifices, forks, skewers, piece traps, mating nets, and more. These fire independently of whether anyone made a mistake; they identify a tactical idea that exists in the position.
  • Opponent-mistake detection — a separate mechanism that watches the engine's evaluation swing sharply after a move and flags it as an error, independent of what kind of continuation follows. The resulting line might be a classic tactic, or it might simply be a strong technical continuation with no traditional "tactical" flavour at all.

Once either mechanism identifies a candidate moment, the tool builds a move line around it — sometimes extending backward to include necessary context, sometimes extending forward past the initial trigger to fully demonstrate the point (Section 9.2) — while applying a series of validity checks (Section 9.3) to make sure the saved line genuinely earns its place as a training exercise, rather than being a trivial, coincidental, or already-decided position.

The tool supports both White and Black tactics, can filter by player name, and rates every result on a 1–7 difficulty scale using a three-source combined model (Section 9.11).

9.1 How Tactics Are Found: The Fourteen Trigger Types

The system runs a chess engine against each position in the game (or fragment) and looks for one of fourteen trigger types. A key design principle behind every structural detector: each one simulates the resulting position rather than judging it statically. This means the engine correctly accounts for pins, discovered attacks, pieces that end up blocking their own escape route, multi-step recapture sequences, and whether a defending king can legally step in to help — making detection substantially more accurate against tricky real-game positions, at the cost of being more computationally expensive than a simple pattern-based check.

Sacrifice

The played move gives up material that cannot be immediately recaptured at equal value. Covers several related patterns:

  • A piece given up without adequate compensation.
  • Sacrifice of a piece that stays in place — rather than moving a piece away from danger, the player deliberately leaves it standing on an attacked square because giving it up serves a larger purpose. The engine verifies it is a genuine sacrifice, not an oversight.
  • Exchange sacrifices and "weaker-piece" captures — the engine follows the complete recapture sequence and recognises when the full exchange still leaves the capturing side down material overall, distinguishing a true multi-move sacrifice from a simple even trade.

Double attack

A single move creates two or more simultaneous threats the opponent cannot answer in one reply:

  • Long-range double attacks — queen, rook, or bishop threatening two targets at once.
  • Short-range double attacks — the equivalent fork detection for knights, kings, and pawns, correctly accounting for whether the attacked pieces are defended well enough to survive.

Skewer, line skewer, and battery check

  • Skewer — a bishop, rook, or queen attacks a valuable piece (or the king) that is forced to move, exposing a more valuable piece behind it. The engine checks whether the attack can be blocked and whether a king forced to move ends up shielding the piece behind it.
  • Line skewer — a related long-range pattern along a rank, file, or diagonal, tracked as a distinct trigger.
  • Battery check — a check delivered by a coordinated pair of pieces aligned on the same line.

Piece traps

Queen, Rook, Bishop, and Knight trap — the piece has been driven to a square with no safe escape: every legal move walks into a losing capture, or the piece has no legal moves at all.

Capture avoidance

  • Capture avoidance — a piece moves away from a square where it could be captured, creating a tactical opportunity from the resulting position.
  • King capture avoidance — the king or pawns avoid capture in a way that creates a combination, common in endgames.

Check on check

A check answered with another check, creating a forcing sequence.

Underpromotion

A pawn promotes to a non-queen piece as part of a combination. A maximum piece value setting restricts detection to specific underpromotions (for example, knight only).

Mate in N and mate threats

  • Mate in N — a forced checkmate within a configurable number of moves.
  • Mate threat — a move creates an immediate mating threat that must be answered on the very next move. Can be searched to greater depth (mate-in-2, mate-in-3), at the cost of more computation time.
  • Combined mate threat + material attack — a specialised double-threat: after a move, the position simultaneously threatens checkmate and leaves an opponent piece hanging, so the opponent cannot deal with both. Mirrors the double-attack pattern but with checkmate as one of the two threats.

Opponent mistake

The opponent's previous move caused the engine's evaluation to swing sharply against them by more than a configurable centipawn threshold. Unlike every other trigger, this one does not require a specific tactical pattern to be present — any decisive, well-justified continuation qualifies, whether or not it fits a classic tactical category.

At least one trigger must be active. By default all are active.

Trigger attribution and colour correction

Two trigger types — Mate threat and Combined mate threat + material attack — can occasionally be reported by the underlying analysis at the wrong half-move (attributed to the defending side's forced reply rather than the attacking move that actually creates the threat). Build Tactics detects this by comparing the mover's colour against which side the position's evaluation genuinely favours (the evaluation is always reported from White's perspective, independent of whose turn it is), and corrects the anchor point accordingly rather than saving a line that starts on the wrong side or with the wrong colour to move.

9.2 Extending the Line — Before and After the Trigger

Once a trigger fires, the tool doesn't necessarily save just the trigger move in isolation. Two independent extension mechanisms can add context on either side of the line, each governed by its own validity rules.

Extending backward — Add before

The Add before setting requests up to N half-moves of context before the trigger, so the saved exercise shows some of the position's natural lead-in rather than starting abruptly. Simply walking backward by a fixed count is not enough, though — several checks ensure every included half-move genuinely belongs in the line:

  • Colour parity — the saved line must always start on the side actually performing the tactic (the "leading side"), never on the opponent's move. If the requested count would land on the wrong colour, the tool adjusts by one half-move (extending further back first, only trimming forward if there isn't enough history).
  • Forced-move requirement — each candidate move added to the front of the line must itself have been the engine's clearly best choice at that position, by a configurable minimum gap (Prepend min gap, separate from the main trigger's own gap requirement). A move with several comparably good alternatives is not included as "necessary context" even if it falls within the requested count — the backward walk stops the moment it reaches a move that wasn't forced.
  • No leading-in-check start — if trimming would leave the line starting on a position where the leading side's king is already in check (a forced reply, not a free choice), that move (and its own reply) is trimmed from the front as well, repeating until the line starts on a position that isn't check-forced.
  • No unanswered capture as the opening move — if the earliest included move is a capture of a piece meeting a configurable minimum value ("weight"), and the very next move in the line does not recapture on that same square, the capture (and its reply) is trimmed. This prevents the saved line from opening with a piece being "cashed in" from an earlier, unshown blunder rather than genuinely being part of the demonstrated combination.
  • Big-mistake boundary — the backward walk never crosses over a large evaluation swing caused by the opponent. If the window would include a position where the opponent made a substantial, uncalibrated error, the line is truncated to start immediately after that error rather than including the error itself as "context." The threshold scales with how sharp the position already is — a smaller swing counts as significant near equality than in an already-decided position.

Extending forward — Engine Line At End

Once a tactic has been confirmed, this optional feature extends the saved line with additional engine-analysed moves, so the puzzle plays a few moves further before ending — useful when the raw trigger sequence alone doesn't fully demonstrate the winning idea.

  • Max half-moves — the budget for the extension, always rounded down to an even number (since the added line alternates opponent-reply / leading-side-reply and must finish on the leading side).
  • Min gap — the leading side's reply must beat the second-best alternative by this many centipawns to be accepted, for each added half-move pair. Bypassed entirely when the leading side's best move is a forced mate — a forced mate is always accepted regardless of the raw numeric gap.
  • Mate-fits-budget rule — if the leading side's best reply is forced mate but completing it would need more half-moves than remain in the extension budget, the extension stops there rather than adding a truncated, unresolved mate sequence.
  • Mate-favours-the-tactic-side check — a forced mate is only ever accepted if it actually favours the leading side. A mate against the tactic side (the position having swung completely against it) is never appended, regardless of how "extreme" the raw score looks.
  • Tied-mate rejection — if the best move and second-best move both deliver mate in the same number of moves, that half-move pair is not added; the position doesn't have a single, clearly-best continuation, so extending past it isn't appropriate.
  • Prefer the real game's continuation, full games only — when scanning a complete game, each opponent half-move in the extension prefers the move actually played in the real game over an independently-computed engine best move, as long as the game's continuation still matches what the engine would recommend. The moment the leading side's engine-chosen move diverges from what was actually played in the game, the extension switches to pure engine-vs-engine analysis for the remainder of the added line — it never reverts back to following the game once diverged. The leading side's own moves are never substituted with the game's move; they always follow the engine's own analysis, regardless of whether that happens to coincide with the real game.
  • Require new tactical element — when enabled, the extension is only kept if it introduces at least one additional tactical element beyond what the original tactic already contained; otherwise it's discarded and the tactic is saved at its original length. Default off.

Additional continuation limit — full games only

Min gap to continue line applies specifically to the tactic's own forward-scanning phase (separate from Engine Line At End) when scanning complete games. The trigger move itself is always accepted regardless of its own gap (its validity was already established by the trigger detection). From the second tactic-side move onward, though, each subsequent move must clear this (typically small) gap over the second-best alternative to continue extending the line — preventing a full-game tactic from silently drifting into a quieter continuation where several roughly-equal moves exist, once the decisive part of the sequence is already complete.

9.3 Validity Checks — Deciding Whether a Found Line Is Worth Saving

Beyond the extension logic above, several checks apply after (or during) candidate construction to filter out lines that technically match a trigger but don't represent a genuine, useful training moment. Most are full-game-only, since curated FEN fragments are assumed to already represent a deliberately chosen position.

  • Minimum line length — a candidate must reach a configurable minimum number of half-moves. A stricter, separately configurable minimum applies specifically to opponent-mistake-triggered candidates in full games (default 3 half-moves), preventing a single trivial capture that punishes a blitz blunder from being saved as a "tactic" on its own; fragment-based (FEN) mistake tactics are exempt from this stricter minimum.
  • No single-move capture "tactics," full games only — a candidate consisting of exactly one half-move that is itself a capture is rejected unless explicitly allowed (Allow 1-move capture tactics, default off), since a lone capture — even one that happens to be near a forced mate or mate threat — doesn't demonstrate a real combination on its own.
  • Mover-favours-evaluation check — every trigger's mover must belong to the side the position's evaluation currently favours. A trigger tagged on a move by the disadvantaged side (deep inside a position the other side is already winning) is treated as noise from within an already-decided line, not a genuine standalone tactic, and is discarded.
  • Mate trigger suppression when already forced, full games only — if a forced mate for the tactic side already existed one ply earlier, a "new" mate trigger firing on the current move is discarded; it's the tail of an already-winning position converging, not a freshly discovered combination.
  • Crushing-position scan stop, full games only — once the position has stayed overwhelmingly decided (a configurable evaluation threshold, or forced mate) for a configurable number of consecutive half-moves, the scan stops for that game entirely — anything found beyond that point would just be the already-won position resolving, not a fresh discovery.
  • Near-draw rejection, full games only — if the position was roughly equal both before and after the found tactic, the candidate is rejected, since nothing was actually demonstrated about the position's assessment — with one exception: if the line contains a significant mid-line evaluation swing that was correctly neutralised (a defended critical threat), the candidate is kept despite starting and ending near equality, since successfully defending a real danger is itself a valid training moment.
Note: A related, description-only check recognises likely forced defensive resources — a quiet trigger move that keeps the evaluation near equality against a meaningfully worse alternative — and adds a note accordingly. This never changes which candidates are kept, nor the saved Comment or Stipulation; it only enriches the descriptive/debug output.

9.4 What Is Saved

Each confirmed tactic is saved as a PGN game with a starting FEN and the tactic moves. The PGN includes these headers:

  • Stipulation — describes the result: #3 for mate in 3, White wins, Black wins, White is better, Black is better, Draw, or * for unclear.
  • Comment — describes the tactic type, for example "Piece sacrifice (Rook)", "Double attack by Knight", "Mate in 2 - Piece sacrifice (Queen)", "After mistake Qf5 (Correct: Rxd3) - Skewer by Rook", "Queen trapped and attacked by Rook", "Mate Threat", or "Mate And Piece Attack." When a mistake trigger fires, the Comment also states the engine's recommended alternative move alongside the mistake itself, when available.
  • Level — difficulty level from 1 to 7.
  • Difficulty — level name such as Very Beginner or Advanced.
  • LevelConfidence — confidence score for the level estimate, from 0 to 1. Higher when a full three-source rating (Section 9.11) was available.
  • LevelDescription — a diagnostic tag, intended for testing: a compact numeric breakdown of how the final level was reached, showing the individually-rescaled rating from each contributing source and the combined result. Useful while calibrating the rating system; may be removed from production output in the future.
  • GameStage — Opening, MiddleGame, Endgame or similar, calculated from the starting position of the tactic.

Output can be split into separate files by difficulty level or saved to a single file.

9.5 Screen Layout

The Build Tactics screen has three main areas:

  • Left — the games list. Load a PGN file here and all games appear in this list. Click a game to display it on the board.
  • Centre — the chess board with move notation. Navigate moves with the arrow buttons.
  • Right — the found tactics list. Tactics found during scanning appear here automatically as they are discovered. Click a tactic to display it on the board. Below this is the training positions list, where you can add selected tactics.

The status bar shows the current game being scanned and scan progress.

9.6 Loading Input and Setting the Output File

  1. Click Load PGN and select your PGN file. The games appear in the left list. The file can contain complete games from the starting position or game fragments starting from specific FEN positions.
  2. Set the output filename where found tactics will be saved. If you leave the output folder empty, tactics are saved in the same folder as the input PGN file.
  • You can choose to split output by difficulty level — this creates separate files named tactics_level1_Very_Beginner.pgn through tactics_level7_Master.pgn — or save everything to a single file.
  • By default new tactics are appended to existing files rather than replacing them.

The output file loads automatically each time you open Build Tactics, showing whatever tactics are already in the currently-configured output file. Reload it manually at any time with Load Output — this only refreshes the display and never changes which file future scans write to. To change the active output file, use Browse next to the output field: this both selects a new file and sets it as the target for all future scans, in one action.

9.7 Trigger Settings

Click Trigger Settings to open the settings form. This is the main configuration you adjust before each scan.

Triggers

Select which conditions trigger a tactic candidate. At least one must be selected. By default all are selected.

  • Sacrifice — pure piece sacrifices where material is given up without immediate recapture, including "stays in place" sacrifices and multi-move exchange sacrifices.
  • Double attack — forks and discovered attacks, covering both long-range and short-range (knight/king/pawn) forks.
  • Queen trap — positions where the queen is trapped and attacked. This setting also governs detection of rook, bishop, and knight traps.
  • Capture avoidance — moves that avoid capture and create tactical opportunities.
  • King capture avoidance — king or pawn moves that avoid capture, more common in endgames.
  • Check on check — forcing sequences where checks are answered with more checks.
  • Underpromotion — pawn promotions to non-queen pieces. Set the maximum piece value next to this option. Value 4 means any non-queen promotion; value 1 means knight only.
  • Mate in max N moves — positions with forced checkmate. Set the maximum N next to this option.
  • Mate threats — enables detection of both the mate-threat trigger and the combined mate-threat-plus-material-attack trigger.
  • Opponent mistake — positions where the opponent's previous move was a significant error. The minimum error threshold is set in the Advanced section of Settings.

Quality

  • Min gap to 2nd move — the minimum centipawn difference between the best move and the second-best move at the trigger position itself. This ensures the tactic move is clearly better than alternatives. 100 cp equals 1 pawn advantage. Default is 100 cp.
  • After mistake min gap — when triggered by opponent mistake, a different minimum gap applies to the response move. Default is 160 cp.

Scope

  • Color — find White tactics, Black tactics, or both.
  • Sacrifice in first N half-moves — the sacrifice, double attack or other trigger must occur within the first N half-moves of the tactic. Default is 1.
  • Allow capture as first move — when disabled, tactics where the first move is a capture are ignored.

Tactic Line

  • Max tactic moves — maximum number of full moves in the tactic line. Default is 7.
  • Add before — number of half-moves to look back for context before the tactic start, subject to the colour-parity, forced-move, check-start, and unanswered-capture checks described in Section 9.2. For example, requesting 4 adds up to 2 full moves of context, but the actual amount included may be less if earlier moves in the window weren't themselves forced. Default is 0.
  • Prepend min gap — the minimum centipawn gap a candidate prepended move must have had over its own second-best alternative, in order to count as "forced" and be kept as context. Applies to both full games and FEN fragments. Default 40–50 cp (lower than the main trigger's own gap requirement, since context moves need to be clearly best, not necessarily as decisive as the tactic itself).
  • Min gap to continue line — the minimum gap the tactic side's own moves must maintain, from the second tactic-side move onward, to keep extending the line during the initial forward scan. Full games only; the trigger move itself is exempt. Default 10 cp; set to 0 to only require the move to be at least tied for best.
  • Finish with tactic side — the line always ends on a move by the side performing the tactic. Default on.
  • Skip opponent analysis — opponent moves are taken from the game without engine analysis, making the scan faster. Default on.
  • Calculate level — calculate difficulty level for each found tactic using the full three-source rating model (Section 9.11). Slightly slower but adds Level, Difficulty, and LevelDescription tags to the PGN. Default on.
  • Save game stage tag — add a GameStage header to the PGN indicating whether the tactic occurs in the opening, middlegame or endgame. Default on.

Engine Line At End

Once a tactic has been confirmed, this section optionally extends the saved line with an additional continuation, so the puzzle plays a few moves further before ending — see Section 9.2 for the full rules governing what gets added.

  • Add engine line at end — enable or disable the extension. Default on.
  • Max half-moves — the maximum number of half-moves to add after the confirmed tactic (rounded down to an even number). Default 4 (two full move-pairs).
  • Min gap — the minimum centipawn advantage the leading side's reply must hold over the second-best alternative for that added pair of moves to be accepted. Default 100 cp. Bypassed when the leading side's best move is itself a forced mate.
  • Require new tactical element — when enabled, the added line is only kept if it introduces at least one additional tactical element for the leading side beyond what the original tactic already contained. Default off.
Note: The log window shows each added move pair as it's evaluated, including the reason a continuation was stopped (gap too small, mate doesn't fit the remaining budget, no new element found, or the mate favours the wrong side).

Full Game Filter

These additional filters apply only when scanning complete games with at least the minimum number of moves. They help reduce false positives and wasted scan time in long games.

  • Apply — enable or disable this section. Default on.
  • Min moves — games shorter than this value are treated as position fragments and full game filters are not applied. Default 25.
  • Half-move range — only find tactics between these half-move numbers, focusing the scan on the middlegame. Default 16 to 120.
  • Min gap — a separate minimum gap threshold for full game scanning of the trigger position itself. Usually set lower than the normal gap. Default 140 cp.
  • Stop if crushing ≥ N cp for M half-moves — once the evaluation (or a forced mate) has stayed at or above this magnitude for this many consecutive half-moves, the scan stops for that game — the position is already decided, so continuing to search wastes time and only finds "resolution" moments, not fresh discoveries. Default: 800 cp for 8 half-moves.
  • Allow 1-move capture tactics — when off (default), a candidate that consists of exactly one half-move which is itself a capture is never saved, regardless of trigger type. Full games only.
  • Min half-moves for mistake trigger — a stricter minimum line length applies specifically to opponent-mistake-triggered candidates in full games, so a single trivial punish of a blitz blunder isn't saved as a standalone "tactic." Default 3 half-moves. FEN-fragment mistake tactics are not subject to this stricter minimum.

Save Results

Choose which tactic types to save based on the resulting evaluation:

  • Mate — forced checkmate positions.
  • Win — evaluation of more than 2.5 pawns advantage after the tactic.
  • Better — evaluation of 1 to 2.5 pawns advantage.
  • Draw — roughly equal or drawing positions.
  • Unclear — positions where the result is hard to evaluate.

By default all five are selected.

9.8 Engine Settings for Scanning

Engine settings are in the main Settings screen (Section 17.16) since they change rarely:

  • Analysis depth — how deep the engine analyzes each position.
  • Time limit — maximum seconds per position.
  • MultiPV — number of alternative moves the engine calculates per position. Recommended at least 4, which also improves the accuracy of the difficulty-level calculation (Section 9.11). Must be at least 2.
  • Depth type — by depth, by time, or both.
  • Opponent mistake gap — minimum centipawn drop by the opponent to count as a mistake trigger. Default 180 cp.
  • Add moves before found — default value for how many half-moves to add before found tactics.
  • Replace wrong moves — how many tactic side moves can be replaced by the engine's best move when the game move doesn't match. Default 0 means no replacement.

9.9 Starting and Managing a Scan

  • Scan selected game — scans only the currently selected game. Use this to test settings on a known game.
  • Scan from half-move — scans the selected game starting from a specific half-move number. Mainly for debugging.
  • Scan all games — scans the entire loaded list. When a previous scan exists, you are asked whether to resume from the last position or start fresh.
  • Resume — continues a previously stopped scan from the last saved game number.
  • Stop — stops the scan safely. Progress is saved automatically and can be resumed.
Important: If the engine fails or stops responding partway through a scan — most often caused by an invalid PGN or FEN in one of the games — the scan stops automatically at that game rather than continuing through the remaining games with a dead engine. The log records which game triggered the failure, and Resume retries from that exact game once the underlying issue is addressed.

The log window shows each candidate found with its half-move number, move, evaluation, gap and trigger type. Confirmed tactics show their stipulation and difficulty level, followed by any engine-line-at-end activity, prepend trimming decisions, and (if applicable) crushing-position or near-draw rejection reasons for that game.

9.10 Reviewing and Adding Tactics to Training

Tactics appear automatically in the right list as they are found. The previously saved output file also loads automatically when you open the screen. Reload it at any time with Load Output, or point future scans at a different file with Browse.

  • Click any tactic to display it on the board. Navigate moves with the arrow buttons. The starting position is shown automatically from the FEN header.
  • Select a tactic and click Add to Training to add it to your training database. The system converts it automatically — the starting FEN becomes the training position, the first move becomes the correct answer, and the full line (including any engine-line-at-end extension) is saved for reference during solving.
  • Click Add All to Training to add all loaded tactics at once.

Recalculating an existing tactic's level

A newer feature: paste or select a saved tactic's PGN into the PGN text area and click Recalculate Tactics Level. This re-runs full engine analysis on every move already in the saved line — without changing, adding, or removing any moves — and recomputes the difficulty rating from scratch. Use this to refresh ratings for tactics saved with an older, less accurate version of the level calculation, or to verify a rating you suspect is off, without having to re-scan the entire source game.

Note: This is read-only with respect to the move sequence: it keeps the line exactly as saved, and only updates the Level, Difficulty, LevelConfidence, LevelDescription, and Comment headers based on fresh analysis.

9.11 Difficulty Levels

Each tactic is rated from 1 to 7 using a combined model drawing on up to three independent sources:

  • ChessPM engine rating — when the specialized ChessPM-enabled analysis engine (Section 17.15) is available, its own rich position-and-search-behaviour model (search stability, king safety, mobility balance, material outcome, forced-vs-free move counts, and more) produces a 1–10 difficulty rating, which is rescaled onto the shared 1–7 scale before combining with the other sources.
  • Structural estimate — a formula based on the tactic's own properties: number of tactic-side moves, piece sacrificed, trigger type (including all trap types, skewers, line skewers, battery checks, check-on-check, mate threats, and combined mate+piece attacks), evaluation clarity, and game stage. A secondary tactical element found within the same line (for example a sacrifice combined with a follow-up skewer) also adds to the difficulty.
  • Move-complexity analysis — an independent, per-move analysis of the actual line: how many competitive alternatives existed at each step (from the engine's multiple best-line data, when MultiPV ≥ 4 is configured), how many legal replies the opponent had at each point, and whether each move was forcing (check or capture, generally easier to spot) or quiet (harder to notice). Earlier moves in the line are weighted more heavily than later ones, reflecting how a solver typically works: once the position becomes clearly won or forced, later moves contribute little additional difficulty.

When all three sources are available, they are averaged with roughly equal weight, giving a confidence score around 0.8. When the specialized ChessPM engine wasn't used for a given position, only the structural and move-complexity sources are combined, at a lower confidence around 0.3.

  • Level 1 — Very Beginner (up to 800 Elo)
  • Level 2 — Beginner (800 to 1200 Elo)
  • Level 3 — Elementary (1200 to 1500 Elo)
  • Level 4 — Intermediate (1500 to 1800 Elo)
  • Level 5 — Advanced (1800 to 2100 Elo)
  • Level 6 — Expert (2100 to 2400 Elo)
  • Level 7 — Master (2400 and above)

The LevelDescription tag on each saved tactic shows the individual contribution from each source, useful for spot-checking why a particular rating was reached.

9.12 Tactic Types and Comments

Each saved tactic includes a Comment header describing the type:

  • Piece sacrifice — piece given up without immediate recapture.
  • Sacrificing [piece] — a general sacrifice not captured by a more specific pattern.
  • Sacrifices [piece] vs weaker piece — an exchange sacrifice, or capture against a stronger piece that is then recaptured.
  • Sacrificing [piece] by move to attacked square — the piece moves into an attacked, undefended square as part of the combination.
  • Piece [piece] left en prise — the sacrificed piece stays in place on an attacked square rather than being moved away, because leaving it there serves the combination.
  • Pawn sacrifice — pawn given up for positional or tactical gain.
  • Underpromotion ([piece]) — promotion to a non-queen piece.
  • Double attack by [piece] — fork or discovered attack on two targets, by a long-range piece.
  • Skewer by [piece] — a valuable piece is forced to move, exposing a more valuable piece behind it.
  • Line Skewer by [piece] — the related line-based skewer pattern.
  • Battery Check by [piece] — a check delivered through a supporting battery of pieces.
  • Queen / Rook / Bishop / Knight trapped and attacked by [piece] — the corresponding piece has no safe square to escape to.
  • Capture avoidance ([piece]) / Capture deferred ([piece]) — a piece avoids or defers a capture, creating a tactical opportunity.
  • King capture avoidance ([piece]) — king or pawn avoids capture as part of the combination.
  • Check on check ([piece]) — forcing check sequence.
  • Mate Threat — the move creates an immediate mating threat.
  • Mate And Piece Attack — the move simultaneously threatens checkmate and leaves an opponent piece hanging.
  • After mistake [move] (Correct: [move]) — combination arising from an opponent error, with the bad move noted alongside the engine's recommended alternative when available.
  • Mate in N — forced checkmate, combined with a sacrifice or other trigger description when applicable.

When a tactic contains both a primary and a secondary tactical element (for example a piece sacrifice that also sets up a fork), both are listed together in the Comment, joined with " + ".

9.13 Tips for Best Results

Tip: Start with a small test file of 10 to 20 games before scanning thousands. Use Scan selected game on a game where you know a good tactic exists to verify settings.
  • If you get too many results: increase the minimum gap, enable only the sacrifice trigger, or enable full game filter with a stricter half-move range.
  • If you get too few results: reduce the minimum gap, enable all triggers, or widen the half-move range.
  • For complete game collections, enable the full game filter. For position collections starting from a specific FEN, the full game filter is automatically disabled — several full-game-only checks (crushing-stop, big-mistake truncation, min-gap-to-continue, stricter mistake-minimum) do not apply to curated FEN fragments, since those are assumed to already represent a deliberately chosen position worth training on.
  • The mate threat, combined mate+piece attack, skewer, and trap detectors are more computationally expensive than simpler pattern checks, since they simulate the resulting position rather than judging it statically. Expect scans with these triggers enabled — especially mate threats searched to greater depth — to take noticeably longer per game.
  • If you enable Engine Line At End, expect a modest additional slowdown per confirmed tactic. Enabling "Require new tactical element" can reduce output size by discarding extensions that don't meaningfully add to the puzzle.
  • If you find the saved line includes context moves that don't feel like they were truly necessary, or omits context you'd expect to see, adjust Prepend min gap — a lower value includes more borderline "reasonably good but not uniquely forced" moves as context; a higher value keeps only clearly forced moves.
  • For MultiPV, a value of 4 or higher is recommended if you want the most accurate difficulty ratings, since the move-complexity source of the level calculation relies on having more than just the top 2 candidate moves available at each position.
  • Scanning can take significant time for large files with high engine depth. You can stop and resume at any time without losing progress — this also applies automatically if the engine itself fails partway through a scan.

10. Building and Testing an Opening Repertoire

10.1 Preparing Repertoire Files

A repertoire is built from one or more ordinary PGN files that you prepare in advance, containing a main line and any sub-variations you consider theoretically important. There is no in-program move-by-move editor for building a repertoire from scratch: prepare or edit the PGN in an external interface (or with the PGN Editor, Section 13) and import the finished file.

  1. Under the Repertoire folder in your data folder, create a sub-folder for the opening, for example BlackKingInd for the King's Indian as Black.
  2. Place one or more PGN files in that sub-folder. Splitting a large repertoire into several files by branch (for example, one file for 3.Nc3 lines, one for 3.g3 lines, and so on) is a common and convenient approach — four to ten files per opening is typical, but this is entirely up to you.
  3. In the Repertoire screen, click Pick Opening Folder and select that sub-folder.
  4. The files in the folder appear in a list.
  5. Click Create Repertoire to build the repertoire tree from all of the files in the folder together.
  6. Click Properties to set the repertoire's colour (White or Black) and, optionally, the move number from which testing should begin (to skip well-known early moves).
Tip: Whenever you want to add or remove moves from a repertoire, edit the underlying PGN file(s) (in an external interface or the PGN Editor) and rebuild the repertoire with Create Repertoire — moves cannot currently be added or removed directly inside the Repertoire screen itself.

10.2 Loading and Testing a Repertoire

  1. Click Load Repertoire to load a repertoire you have already built.
  2. Browse the tree move by move, or start an interactive test that asks you, at each position, for the repertoire's correct move.

If a position has more than one theoretically acceptable move, all of them can be treated as correct, not only a single fixed answer.

Tip: Repertoire settings (folder, properties) are set per repertoire; after switching to a different repertoire, use Load Repertoire again to bring back the one you want to continue with.

10.3 Big-Book Statistics and Find Games

  • While stepping through a repertoire, you can see what percentage of games in a chosen big book continue with each candidate move, and their success rate, as a sanity check on the repertoire's choices.
  • Find Games lets you look up real games from a chosen big book that reached the current position — a big book drawn from players of a moderate, rather than only elite, rating is usually more instructive here.

10.4 Find Gaps

This process compares your repertoire against a large book of strong players' games and proposes moves worth adding:

  1. Choose your repertoire and a suitable big book (a book of stronger players, excluding blitz, is recommended, so that only genuinely good moves are suggested).
  2. Set the parameters: the move number from which to start looking, the minimum number of games a candidate move must appear in, the minimum rating of the opponent for a game to be counted, and the minimum rating of the same-colour player for the additional filtering pass.
  3. Run the process. It produces a new PGN file (for example BlackKingInd_gap_added.pgn) of suggested additional moves.
  4. Review the suggestions and, if you accept them, fold the new file into your repertoire's source PGN files, then rebuild the repertoire with Create Repertoire.

10.5 Missed Opportunities

This process scans an existing, already-analysed repertoire for moves that are objectively better than the ones currently recorded:

  1. Choose the repertoire to scan (it should already have engine analysis available, from having been analysed as a book).
  2. Run the scan. It produces a PGN file (for example WhiteCatalan_missed_opportunities.pgn) listing positions where a stronger move than the recorded one was found, including — from time to time — genuine theoretical improvements worth adding to the repertoire.
  3. Review the file and, if you accept a suggestion, merge it into your repertoire's source PGN and rebuild.

11. Auto-Repertoire Builder — Learn to Play Like a Chosen Player

Auto-Repertoire Builder screen
Auto-Repertoire Builder screen https://www.chesspm.com/trainimg/auto-repertoire-builder-screen.png

Auto-Repertoire Builder takes a player's name and a colour, and produces a complete opening repertoire book automatically, built from that player's own real tournament games — the same repertoire format used everywhere else in the program (Section 10), ready to open from the Repertoire browser like any other book. Rather than manually digging through a database to work out which lines a player favours, the tool studies their actual choices — weighted by how often they played each move, how strong their opponents were, and how recently they played it — and builds the repertoire the way they would have built it themselves.

It works in five automated stages:

  • 1. Filter — pulls every game that player played, in the chosen colour, out of your game database, into a private working file.
  • 2. Build Tree — builds a repertoire tree from those games, the player's own most common choices, move by move, asking you to pick only when there's a genuine close call.
  • 3. Scan Gaps — compares the new repertoire against a large reference database (a big book, Section 12) to find opponent replies the player's own games never covered.
  • 4. Extend — automatically continues each of those gap lines a few moves further, so you're never left without a follow-up.
  • 5. Rebuild — combines everything into one final, complete repertoire book.

All five stages can be run in one click, or one at a time to inspect the result after each stage.

11.1 Quick Start

  1. Open the Auto-Repertoire Builder screen.
  2. Type the player's name (or several names, comma-separated) in the name field.
  3. Choose White or Black.
  4. Optional: enter starting moves if you want the repertoire to begin from a specific position instead of move 1 — for example "e2e4 c7c5" to build only the Sicilian side of a White repertoire. You can also click the board-picker button and select the position visually instead of typing moves.
  5. Optional: load a different reference database via Browse Big Books if you don't want the default one.
  6. Click Run Full Process.
  7. Wait for each stage to report its status. If the tree-building stage finds a genuinely close decision, a move-choice window pops up asking you to pick — see Section 11.4.
  8. When it finishes, your repertoire is ready — open it from the Repertoire browser like any other book.

11.2 Main Screen

  • Player name(s) — one name, or several separated by commas. All games matching any of the listed names are included.
  • Exclude name(s) — optional. Filters out games where the matched name also contains one of these terms, useful for telling apart two players who share a surname (for example, include "Karpov," exclude "Vadim" to avoid an unrelated same-surname player).
  • White / Black — which colour's repertoire to build.
  • Starting moves — optional. Moves to start the repertoire from a specific position instead of the game's beginning. Use the board-picker button to select a position visually instead of typing moves.
  • Elo filter — optional. Restrict the source games to those where both players' Elo falls in the given range.
  • ECO filter — optional. Restrict source games to a given ECO code range.
  • Repertoire name preview — shows the name the repertoire will be saved under, built automatically from the player name, colour, and starting moves.
  • Browse Big Books / Load Big Book — choose which reference database to filter from and to use for gap-scanning.
  • Settings… — opens the parameters dialog (Section 11.3).
  • Step 1–5 buttons — run each stage individually, each with its own status label.
  • Run Full Process — runs all five stages back-to-back.
Note: Re-running on the same player and colour: if a repertoire with that name already exists, you're asked whether to start fresh (recommended for most cases) or keep what's there and add to it.

11.3 Settings / Parameters

Every setting has an "i" info button next to it in the app with a short explanation. This section gives the fuller picture, grouped by which part of the process each setting affects.

Tree-building (Stage 2)

  • Close-second ratio — how close the 2nd-most-played move needs to be to the top move before it's treated as a real decision requiring your input, rather than an obvious choice.
  • Max opponent replies — how many of the opponent's top replies to include automatically at each of their turns.
  • Beginner mode — if the top move is clearly dominant, pick it automatically without asking.
  • Beginner auto-pick share % — the popularity threshold used by Beginner mode above.
  • Base / Deep min-games threshold, Depth where threshold drops — how many games a move needs to qualify, and how that requirement relaxes as the repertoire gets deeper (deep positions naturally have fewer games).
  • Max candidates to show — how many options appear in the move-choice popup when you're asked to decide.
  • Max half-moves total — overall depth limit for the initial tree.

Gap-scan (Stage 3)

  • Min games (early / later moves), early move count — how many games a missing opponent reply needs before it's flagged as worth adding, stricter early in the game, looser later.
  • Start scanning from move # — gaps aren't reported before this move number, to avoid flagging very early, well-known theory.

Extend (Stage 4)

  • Additional moves per scan — how many extra moves each gap line is extended by.
  • Opponent replies to consider — same idea as the tree-building version, but for the extension pass.

Beginner+ (never show a popup)

  • Full-auto with date tiebreak — for users who don't want to see any move-choice popups. When two moves are close, this picks automatically, preferring the more recently-played one if the gap between them is large enough, otherwise the most-played one.
  • Min year gap for date tiebreak — how many years apart two moves' last-played dates need to be before recency is trusted to decide automatically.

Prefer recent moves (general)

  • Prefer recent moves — widens how close two moves' Elo needs to be before a more recently-played move is preferred over an older, marginally more popular one; applies everywhere the app picks between close candidates.
  • Elo tie-window when enabled — how wide that Elo gap is allowed to be.

11.4 The Move-Choice Window

This window appears whenever the automatic builder finds a genuinely close decision it can't resolve on its own (this won't happen at all if Beginner+ full-auto mode is turned on).

  • Move — the candidate move, in standard notation.
  • Games — how many games in the source database reached this move at this point.
  • % — this move's share of all games at this position.
  • Year — the most recent year this move was played in the database (shown as "-" if unknown).
  • Score% — this move's overall result percentage: 100% means it always led to a win here, 50% an even split of wins/draws/losses, 0% always a loss.

A small board preview shows the position after each move as you click through the candidates. Select the move you want and confirm — the repertoire continues from there.

11.5 Understanding the Output Files

Each repertoire is saved in its own folder, containing:

  • <name>_main.pgn — the core tree built directly from the player's own games.
  • <name>.bin — the final, playable repertoire book; this is what you open to study or train from.
  • <name>_gap_branch1.pgn, _branch2.pgn, ... — the extended "gap" lines: opponent replies the player's own games didn't cover, filled in and extended from the reference database.
  • <name>.properties.json — repertoire info: which colour it's for, which move number study/testing should start from, and notes.
  • <name>_autodecisions.txt — a log of every move-choice decision made during tree building, useful if you want to review a specific decision later.

11.6 Tips

Tip: Starting moves are a good way to build a repertoire covering only part of a player's games — for example, just their King's Indian defense as Black, rather than everything.
  • If a stage seems to take a long time, make sure you're running the app normally, not through a development/debug tool — that can slow things down significantly.
  • Gap-branch files vary a lot in size — some cover very common openings (larger files), others cover rare sidelines (much smaller). This is expected, not a sign of a problem.
  • If you change Settings, avoid having more than one window of the app open at the same time — changes made in one window can be overwritten by another.

12. Building Opening Books

12.1 A Ready-Made Big Book

  1. Open the Opening Book / Big Book screen.
  2. Click Start Download to fetch the bundled master-games collection (players rated 2500+, games from 1970 onward — several hundred thousand games).
  3. Once the download finishes, click Create Strong Book.

Create Strong Book reads the downloaded archive once it has been unzipped into the same folder. If you downloaded the archive through another method that does not unzip it automatically, unzip it into that folder first and then click Create Strong Book.

  • The same process, with the corresponding source files, produces the other ready-made rating-band books (2400+, 2300+, 2200+, 2100+).

12.2 A Book From Your Own PGN Collection

  1. Create a new sub-folder under BigBook for your collection.
  2. Place your PGN file (for example, a Lichess database export) in that folder.
  3. Optionally filter the games first (by rating, date, or opening) and save the filtered result as a separate PGN, to keep the book to a manageable size and depth.
  4. Run the book-building process on that folder, as with the ready-made books.

A big book's opening books can be built to different depths depending on how many distinct positions the source collection produces; very large collections (many millions of games) support less depth than smaller, more targeted ones.

12.3 Browsing and Analysing a Book

  • Once built, a book can be browsed move by move, showing at each position the moves played, their frequency, and their success rate.
  • Engine analysis can be run over a book's positions, either in full or incrementally (only newly-added, not-yet-analysed positions), so re-analysing an updated book does not repeat work already done.
  • Analysis results for a book are kept in a separate JSON file alongside the book itself, rather than inside the book file, so that adding further variations later does not require discarding earlier analysis.

13. The PGN Editor

The PGN Editor is a full editing environment for games and exercises, not only a way to fix headers. Moves and variations can be added, changed, reordered, or removed; headers (event, players, date, and similar fields) can be edited and saved back to an updated PGN file; and two further capabilities make it a genuine authoring tool rather than a simple text editor.

Merging a game into the editor

A second game — or a chosen part of one — can be merged directly into the game currently open in the editor. This combines two separate sources into a single, unified set of variations, which is useful for consolidating analysis from two different games that reach a related position, or for folding a newly analysed line into an existing, more complete game, without reconciling the two by hand outside the program.

Playing against the computer from within the editor

From any position in the game being edited, you can play out a line against the engine interactively — the same underlying interactive-play mechanism described in Section 17.14 — and the resulting moves become part of the edited game exactly as a manually-typed variation would. This is a convenient way to explore an idea directly inside the game you are already editing, rather than switching to a separate screen and then copying the result back in.

The PGN Editor is the recommended tool for preparing or adjusting the source PGN files used to build a repertoire (Section 10.1).

14. Statistics and Long-Term Progress

Beyond the per-session counters shown while training, the Statistics screen aggregates, per exercise file, the total solved-out-of-attempted count, average solving time, and average number of attempts per position. Clear History (Position Manager) resets these counters for a file, which is useful when you significantly change the file's solutions or simply want to start measuring progress afresh.

Tip: After editing a file in Position Manager, use Set Training DB on the Training or Statistics screen to load the latest version before continuing there.

15. Good Practices

The points in this chapter are drawn from real day-to-day use of the program — the kind of thing an experienced user notices after working with a screen for a while, rather than something that jumps out on first use. None of them describe a problem with the software; they are simply the most reliable way to get the result you expect from each screen.

Selecting positions and games

  • The board and its analysis panel are shown once a specific game or position row is selected; select a row first if the board area looks empty.
  • When stepping quickly back and forth through a game's moves, the board and the analysis panel stay properly in step with each other; if you ever want to double-check that they match, step one move back and one move forward — the current position and its analysis will refresh together.

Working with engines

  • Always click Load for an engine and confirm it shows Started before clicking Start Analysis, Scan, or any other engine-driven action; the status indicator is the reliable way to know the engine is actually ready.
  • Each screen that uses an engine (My PGN Database, Position Manager, PGN Engine Scan, book analysis) loads its own copy of the engine connection. Loading an engine on one screen does not carry over to another screen — load it again wherever you need it.
  • If a newly added engine does not load, the first thing to check is its path in Settings → Engines — this is by far the most common thing to verify when setting an engine up for the first time.
  • Kill followed by Load is the normal way to restart the connection to an engine cleanly, for example right after changing its settings, or when switching between several configured engines during the same session.
  • When analysing with a chosen search depth, some individual positions genuinely take longer than others at that same depth — this is completely normal engine behaviour, most noticeable in clearly winning positions where the engine keeps checking alternatives before settling on its final choice. The one-move seconds limit (Section 17.16) exists specifically so this does not affect the total time a scan takes.

Reading statistics correctly

  • The attempt-based success percentage on the Training screen is specifically tied to single-move sessions; multi-move (full-line) sessions and Manual Scan sessions track and present progress a little differently, since they are testing a different kind of task.
  • Click Calculate on the Statistics screen to refresh the figures after a session — the numbers shown are a snapshot as of the last time Calculate was pressed, not a permanently live counter.
  • Statistics are always specific to the exercise file currently loaded. If you train across several files in one sitting, check which file's statistics you are looking at before drawing conclusions about your progress.
  • A freshly cleared history followed by only one or two attempts can show smaller average-attempt or average-time figures than you would expect from a longer run; these figures become more representative as more attempts accumulate, which is simply how an average behaves with a small sample.

Keeping edits and training in sync

Both the Training screen and Position Manager periodically save the exercise file they are working with. This is what makes it possible to close the program mid-session and pick up again later exactly where you left off. It also means the two screens should not be treated as interchangeable views of a file that is changing at the same moment — the practical rule that keeps everything predictable is:

  • Finish editing a file in Position Manager (and click Update for any row you changed) before opening that same file for training.
  • Reload the file — Set in Position Manager, or Set Training DB on the Training or Statistics screen — immediately before starting a session, whenever the file may have changed since it was last loaded there.
  • If you want to add a few more positions while a long training project is underway, add them, then reload the training screen's copy of the file (Set Training DB) before continuing to train, rather than leaving both screens open on the same file at once.

Keeping track of your files and IDs

  • Before adding or reviewing positions, glance at the file name shown next to Browse/Set on that screen to confirm you are working with the file you intend — each screen's selected file is independent of every other screen's.
  • New positions are always appended after the current last position in a file, regardless of any gaps left by earlier deletions; use Reindex in Position Manager whenever you want the numbering to run consecutively again.
  • To begin a manual pass at a specific ID (for example 301), set the ID to one less than your target (300) in Position Manager and click Try Next once, which reliably lands on 301; for a random pass restricted to a specific range of IDs, use the Random between IDs mode on the Training screen (Section 17.4), which is built specifically for that purpose.

Preparing PGN files

  • Standard PGN notation reads correctly, including files whose games start from a custom FEN rather than the initial position — useful for endgame studies, tactics sets, or any collection that begins mid-game.
  • Promotions should include the "=" symbol (for example e8=Q). Files exported from certain older tools sometimes omit it; if a game's ending looks wrong after import, re-exporting it in standard PGN form (or fixing it in the PGN Editor, Section 17.12) resolves this.
  • A PGN collection can be re-imported at any time — for example, downloading a fresh, larger export of your own Lichess games and importing it again does not disturb any exercise files you have already built from the earlier version of that collection.

Backups

  • At minimum, back up the pos sub-folder regularly — it holds your personal exercise files, which represent the most time invested and are the hardest thing to recreate.
  • Back up before and after any large batch of manual edits to a file, in addition to a regular schedule (for example weekly) regardless of whether you have made recent changes.
  • Copying the whole data folder (Section 1.8) to a separate location is the simplest way to back up everything — exercises, PGN collections, scan results, repertoires and books — in one step.

Getting the most out of automatic scanning

  • For a personal games collection, filtering the scan to your own moves only (Section 17.6) roughly halves the work and keeps the results focused on your own mistakes rather than your opponents'.
  • For blitz games specifically, where evaluation swings tend to be larger and more frequent on both sides, raising the mistake-sensitivity threshold (Section 17.16) keeps the results focused on the swings that are actually worth training, rather than every small fluctuation.
  • Scanning a particular game once with the player filter on and once with both sides included gives both the focused, personal view and the fuller picture of everything that happened in that specific game — useful when a single important game deserves closer attention than a routine batch scan.
  • Comparing the same position, or the same game, with a second configured engine (Section 3) is a simple way to get a second opinion on any evaluation or recommended move you want to double-check, particularly in positions where you have a strong intuition that differs from the first engine's suggestion.

16. Quick Reference — Common Workflows

Turn a mistake from one of my games into a training exercise

  1. My PGN Database → import/select the game → step to the position → Add Position (target exercise file selected first).
  2. Or: PGN Engine Scan → scan the game(s) → select the flagged row(s) → Add Position into the target exercise file.

Practice only what I have not yet solved, from position 200 to 400

  1. Position Manager: Set ID to 200 (or use the range selector, depending on the mode).
  2. Training screen: choose Random, not solved (or Random between IDs, for a genuinely bounded random pass) and Start.

Build a repertoire for an opening and test it

  1. Prepare one or more PGN files with your lines, in a new sub-folder under Repertoire.
  2. Repertoire screen: Pick Opening Folder → Create Repertoire → Properties (colour, starting move).
  3. Load Repertoire, then start testing.

Find out whether my repertoire misses any well-known moves

  1. Build or obtain a big book of strong players' games.
  2. Run Find Gaps with your repertoire and that big book, review the suggested PGN file, and merge accepted moves back into your repertoire's source files.

17. Detailed Reference — By Screen and Topic

This chapter goes through the program screen by screen, in much more depth than the walkthroughs in the earlier chapters, and collects together the specific questions that come up in practice for each screen. Some points repeat things said earlier in this manual — that repetition is intentional, so that each screen's section here is a complete, self-contained reference on its own. Screenshots for each screen can be inserted at the placeholders below.

17.1 Home Screen

Home screen
Home screen https://www.chesspm.com/trainimg/home-screen.png
  • Open Data Folder — opens the program's data folder directly in Windows Explorer. This is the fastest way to reach any of the sub-folders described throughout this manual (pgn, pos, scan, eng, Repertoire, BigBook) for backup or manual file management.
  • It is worth creating a desktop shortcut to this folder once, rather than opening it through the program every time you want to back up.

17.2 "My PGN Database" Screen

My PGN Database screen
My PGN Database screen https://www.chesspm.com/trainimg/my-pgn-database-screen.png

Loading a game collection

  • Browse selects a PGN file; Load Games PGN actually reads it and populates the list of games on the left.
  • Browse only changes which file name is shown — the games list is not refreshed until Load Games PGN is clicked. If the games list still shows an old file's games after selecting a new one, click Load Games PGN again.
  • Importing a file (rather than pointing at one already on disk) copies it into the pgn sub-folder of the data folder; Browse, from then on, lists whatever is under that pgn folder.
  • Re-downloading an updated PGN from an external source (for example, a newer Lichess export with more games) does not require anything special: import/browse to the new file and Load Games PGN; it does not overwrite or interfere with your existing exercise (pos) files.
  • A PGN whose games do not start at the standard initial position (they carry a FEN in the header, as in an endgame study collection) loads correctly.

Choosing the target exercise file before adding positions

  • On the right-hand side of this screen there is a separate Browse/Set pair for the exercise (pos) file that new positions will be written to. This is independent of the games list on the left.
  • Click Browse (right side), pick the exercise file, then click Set. Everything you Add Position after this point goes into that file, whether it is a brand-new file or one you have already been building.
  • If you switch which exercise file is selected partway through a session, double-check the file name shown before continuing to add positions, to avoid mixing two collections by accident.

Adding a position from a game

  1. Click a game in the left-hand list to open it.
  2. Step through its moves (below the game list) to the position you want to turn into an exercise.
  3. Click Add Position.

The FEN of the current position, the move that was actually played next in the game ("last move"), and the move that should be played ("solution", by default simply the move actually played) are filled in automatically.

  • If you want the exercise's correct answer to be a different move than the one actually played in the source game, add the position as usual and then correct the solution field afterwards in Position Manager (Section 17.3).
  • "Fen before" is an optional extra field that, if filled in, lets the previous position and the last move be shown on the board during training; it is not filled in automatically by Add Position and needs to be set if you want that context to be visible later while solving.

Single-answer exercises versus longer lines

  • By default an added position tests exactly one move.
  • A longer solution (a "full line") can be entered instead, so that after your move the software automatically plays back its own recorded reply, and so on for as many moves as recorded — this is how whole combinations, study solutions, or entire memorised games are built (see below).

Learning games by heart

To use the software to memorise a complete game move by move: add the game's first position as an exercise and, instead of a single-move solution, give it a full line covering the whole game (or the part you want to memorise). During training, each of your correct moves is met with the program's own automatic reply — the actual move from that game — continuing until the recorded line ends. This suits annotated model games and studies well; for an ordinary long game where only a few moves are actually worth memorising, it is usually more effective to add just those specific moves as ordinary single-move (or short-line) exercises instead.

On-screen engine analysis (for your own reference only)

  • This screen also has its own Load / Analyze / Stop controls for the engine, usable while browsing a game.
  • This analysis is only for your own decision-making while deciding what to add — its result is not written anywhere and is not saved with the position. If you want engine analysis that is actually recorded and searchable afterwards, use the PGN Engine Scanner (Section 17.6) or the whole-file analysis in Position Manager (Section 17.3).

PGN format requirements

  • Files should use standard PGN move notation. Promotions must include the "=" sign (for example e8=Q); some exports from other tools omit it, and such files will not be read correctly — re-export from a standards-compliant source if you hit this.
  • Games in long or unusual formats (for example, listing both the origin and destination square for every move, as some manual transcriptions do) are generally still handled correctly, since the software's parser tolerates the common notational variants; the main real risk is genuinely non-standard elements like a missing promotion marker.

17.3 "Position Manager" Screen

Position Manager screen
Position Manager screen https://www.chesspm.com/trainimg/position-manager-screen.png

Choosing a file

  • Browse + Set loads a chosen exercise (pos) file into the manager, showing every position it contains as a row, in ID order.
  • To start a brand-new file: right-click in the file list for New, or place an empty JSON file directly in the pos sub-folder of the data folder, then Browse to it.

Editing an existing position

  1. Click the row you want to change.
  2. Its fields (FEN, solution move, last move, fen before, notes, and so on) appear on the right.
  3. Edit the field(s) you want to change.
  4. Click Update, at the bottom right of the field panel, to save the change — this is the only Update button that actually commits a change to that specific row; make sure the row you intend to change is the one selected before clicking it.
  • After updating, reload the file (Set again, or Set Training DB on the screen you will train from) before starting a training session, so the session uses the corrected data rather than a copy it may already be holding in memory from earlier in the same run of the program.

Adding, deleting, disabling, reindexing

  • Add — fill in the FEN and solution fields directly and click Add; new positions are always appended after the current last position in the file, regardless of any gaps earlier in the numbering.
  • Delete — select a row and click Delete. This works for any row, including one in the middle of the file, not only the last one.
  • Deleting from the middle leaves a gap in the ID sequence; later IDs are not automatically renumbered. If you want the numbering to be continuous again afterward, use Reindex.
  • Reindex — renumbers every position in the file sequentially from 1, closing any gaps left by earlier deletions.
  • Disable — marks a position as inactive without removing it from the file, so it is skipped during training but still present for later review or re-enabling. This is a safer alternative to deleting when you are not fully sure yet.

One recorded answer per exercise

An ordinary exercise — whether added from My PGN Database or from a PGN Engine Scan result — is tested against one recorded solution: either a single move, or, for a full-line exercise, one specific sequence of moves. If two different moves are both perfectly good in a position, choose the one you want to train and keep it as the solution; the other can be noted in User Note for your own reference. Accepting more than one independently correct move at the same position is a property of repertoire testing specifically (Section 10), where a position can naturally have several correct branches, rather than something you configure on an individual exercise.

Notes and extended fields

  • User Note is a free-text field for your own explanation of why a move is wrong and what the right idea is; it is not tested and is purely for your own reference while reviewing or re-editing a position later.
  • The User Note field and the full-line field both support long entries — including, for the full-line field, sequences long enough to cover an entire game — not just a single short phrase.

Whole-file engine analysis

  1. Load the engine and confirm it shows Started.
  2. Click Start Analysis.

The engine analyses every position in the currently loaded file in turn (progress is shown by position number) and fills in its recommended move and evaluation for each one. This does not compute or fill in alternative moves — only the single best move and evaluation per position. Fields such as "mistake type" or "alternate move" are free-text fields you can fill in yourself if you want to keep your own classification; running this analysis again later does not overwrite them.

  • There is currently no dedicated single-position "analyze just this row" action inside Position Manager itself — whole-file analysis is the available option here. If you specifically want engine analysis, including alternative moves, for one position at a time, use PGN Engine Scan's "Scan 1 Move" on the source game the position came from (Section 17.6), or use the on-screen, not-saved analysis in My PGN Database while still deciding what to add (Section 17.2).
  • An analysis run and a training session cannot both be active on the same file at the same time; finish or stop one before starting the other.

Clearing history

Clear History resets the attempt and success statistics recorded for the currently loaded file, leaving the positions and their solutions untouched. Use it before a fresh round of practice, or after significant edits to a file's solutions have made the old attempt history no longer meaningful.

  • Clear History applies to the file that is currently loaded; if you have just switched files, load the intended file first (Set) before clicking Clear History, so it applies to the file you mean to reset.

Selecting a position by ID, and range-based tools

  • Set ID jumps the current position pointer to a chosen ID.
  • Try Next moves the pointer one position forward from wherever Set ID left it.
  • To reliably begin a manual pass at a specific ID (for example 301), set the ID to one less than your target (300) and then click Try Next once, rather than typing 301 directly and expecting a range field elsewhere to take effect.
  • Plain range-entry fields on this screen (typing a "from" and "to" ID) are not used by every training mode; the mode that specifically respects a chosen ID range for random solving is "Random between IDs" on the Training screen (Section 17.4), not a field here.

Exporting to PGN

An exercise file can be exported to a plain PGN file containing the key fields of each position — the last move played, the correct solution, and your notes — so the material can be reviewed in other chess software, or shared with a stronger player for a second opinion. The native JSON exercise files are not directly readable by other chess programs, which is the reason this export exists.

Concurrent editing and training — why to avoid it

Important: Editing a file in Position Manager and training on the very same file at the same time, in the same running instance of the program, is the single most common cause of positions or statistics appearing to be lost. The Training screen periodically re-saves the file it is working on in the background; if you add or edit positions elsewhere while a training session on that same file is still open, the next automatic save from the training screen can overwrite your edits with the older copy it still has in memory. Always finish (or fully exit) a training session on a file before editing that file elsewhere, and always reload the file (Set / Set Training DB) immediately before starting a new training session if the file may have changed since it was last loaded.

17.4 "Training" Screen

Training screen
Training screen https://www.chesspm.com/trainimg/training-screen.png

Move-count mode: One Move, Part Line, Full Line, Default

  • One Move tests exactly the single recorded move at the current position, and — if "fen before" was filled in when the position was added — shows the previous position and last move on the board for context.
  • Part Line / Full Line test a recorded multi-move continuation (see Section 17.2); after each of your correct moves, the program automatically plays its own recorded reply, and so on.
  • Default reads its behaviour from Settings rather than from the on-screen choice, and in that mode the previous move is not shown on the board — if you specifically want to see the previous move, choose One Move explicitly rather than leaving the mode on Default.

Start, Solve, Cancel, Skip

  • Start begins continuous solving through the current selection of positions, one after another.
  • Solve tests exactly one position (typically after Set ID) without continuing on to the next one automatically.
  • Cancel stops the session immediately without recording the current position as a failure; the next Start resumes from the same place.
  • Skip records the current position as a failure and moves on to the next one.
  • Moves are entered in engine (coordinate) notation — for example f1d3 for a bishop move, or g5d2 for a queen move — not in standard algebraic notation.

Ordering modes

  • Sequential — positions in plain ID order.
  • Random of all — every position in the file, shuffled.
  • Random, not solved — repeats only positions not yet answered correctly, shuffled.
  • Random, not seen / not tested — only positions never attempted, shuffled.
  • Random between IDs — a shuffled pass restricted to a chosen minimum and maximum ID; this is the mode to use when you want a genuinely bounded random range.
  • All of these ordering choices are gathered in a single selector, sometimes labelled Combo, on the Training screen.
  • A shuffled pass over "not solved" or "not seen" is drawn from that whole category across the entire file, not from a chosen sub-range; if a bounded, unbiased random pass over a specific block of IDs (for example IDs 51–200) is what you want, use Random between IDs with those bounds, optionally after Clear History if you also want previously-solved positions in that range included.

Manual Scan mode

  • Pauses after every correct answer and waits for Continue before moving on, so you can pause, take notes, or review, at your own pace.
  • Continue advances to the next position even if you have not solved the current one — it does not force a correct answer first.
  • The solving timer stops counting once a position has been marked correct, while the screen waits for Continue.

Time limits — the two different settings, explained clearly

  • The time-range fields visible directly on the Training screen are a statistics filter only: they let you review which of your past attempts fell within a given time window. They do not limit how long you have to answer.
  • The actual per-move time limit is Settings → Positions Training → Max Solve Time (msec), which only takes effect when the "limit time" solving mode is selected on this screen. The value is in milliseconds — 5000 means 5 seconds, 10000 means 10 seconds, and so on.
  • If a timed session feels shorter than intended, check this Settings value first — it is the number actually applied, in milliseconds.

Retry after a wrong answer

Settings → Positions Training → "Allow retry after fail for 1 move" lets you attempt a position again right after answering it incorrectly, rather than being moved straight to the next one. The attempt is still logged as a failure — statistics only ever credit the first attempt at a position, regardless of how many further tries you make on the spot or how many times the position resurfaces later. This option is most useful when solving without a strict time limit, so you have the freedom to actually use the extra attempt.

Repeating unsolved positions until they are all correct

After a full pass through a chosen set of positions, the software automatically re-asks about any positions that were answered incorrectly during that pass, and continues doing so until every position in the set has eventually been answered correctly at least once in that session. The number of times a position had to be re-asked has no bearing on the reported success percentage, which is based purely on whether the very first attempt at each position was correct.

Move legality checking

The move you type is checked for legality in the current position; an illegal move is reported as such rather than silently accepted or silently corrected. The check is purely about legality, not about whether the move matches your intention — if you mistype a legal-but-different move, it will simply be marked as an incorrect answer, exactly as if you had genuinely chosen that move.

17.5 "Statistics" Screen

Statistics screen
Statistics screen https://www.chesspm.com/trainimg/statistics-screen.png
  • Click Calculate to refresh the figures for the currently loaded exercise file — the numbers are not always live and may need this explicit refresh after a session.
  • The headline count (for example "217 solved out of 221") reflects attempts recorded up to the last calculation.
  • Average solve time and average number of attempts are shown as separate labelled fields on the left of this screen; look for "avg solve time" and "avg attempt" specifically, rather than only the headline solved/attempted count.
  • These figures are calculated per exercise file. If you want to measure progress from a clean slate, use Clear History in Position Manager (Section 17.3) first.
  • A freshly cleared history, followed by only a single random pass, can show an "avg attempt" of 0 for positions that have in fact only been attempted once; this is a display detail rather than a sign that the attempt was not recorded, and normalises after a few more passes.

17.6 "PGN Engine Scan" Screen

PGN Engine Scan screen
PGN Engine Scan screen https://www.chesspm.com/trainimg/pgn-engine-scan-screen.png

Layout: three lists working together

This screen is organised as three lists side by side, and understanding the role of each one makes the rest of the screen much easier to follow. On the left is the loaded PGN's list of games, exactly as in My PGN Database. In the middle is the current scan's results — every move the engine has flagged so far, for whichever games have already been analysed; this middle list is an intermediate work area, not a training file, and its contents are specific to the current scanning session. On the right is the destination exercise (pos) file, chosen the same way as elsewhere in the program (Browse, then Set), which is where selected results actually become training material once you click Add Position.

Loading games and engine

  • Load a PGN exactly as in My PGN Database: Browse, then Load Games PGN. This screen's game list is independent of the one in My PGN Database — loading a file here does not automatically also load it there, or vice versa.
  • The engine on this screen must also be Loaded independently, even if you already loaded the same engine elsewhere in the program during this session.

Three scopes of scan

  • Scan 1 Move — analyses only the move currently selected while stepping through an open game, and, if it is found to be a mistake, adds it to the scan results (the middle column) automatically. Unlike the reference-only analysis in My PGN Database, this result is recorded and can be moved into a test file afterwards.
  • Scan 1 Game — analyses every move of the currently selected game in the list.
  • Start PGN List Scan — analyses every game in the currently loaded list, in order, with progress shown continuously.
Important: Do not click Scan 1 Move or Scan 1 Game while a full list scan is still running — stop the list scan first with Stop. Running two scans at once is blocked and produces an error.

Pausing and resuming a long scan

  • Stop halts a running list scan; the last fully-analysed game is remembered.
  • Resume continues a stopped list scan from that same point, rather than starting again from the first game.
  • If you start a new list scan while scan results already exist from an earlier session, you are asked whether to keep adding to the existing results or discard them and start over — choose based on whether you are continuing the same scanning project or beginning a new, unrelated one.

Restricting what gets analysed

  • A player-name filter restricts analysis to one named player's moves only — recommended when scanning your own personal games collection, since it both roughly halves the work and avoids flagging your opponents' mistakes, which are not useful for your own training.
  • For a specific game you want to examine especially closely, scanning it once with the player filter on and once with both sides included gives you both the focused, personal view and the fuller picture of everything that happened in the game.

Reading and using the results list

  • Clicking a row in the results shows, on the right, the type of error, the computer's evaluation of the mistake, the correct move, its evaluation, and — up to the configured move limit — the recommended continuation.
  • A manual severity value from 0 to 9 can be typed for each flagged result, letting you later filter and prioritise which mistakes to actually train on.
  • Select one or more rows, choose the destination exercise file on the right (Browse, then Set), and click Add Position to copy them into that file.
  • If the destination file already has a position with the same starting FEN — for example because you are re-adding results from a repeated scan of the same games — you can choose whether the new scan data (engine move and evaluation) should overwrite the existing entry, or whether the existing entry should be left exactly as it is and the new one skipped. Either way, the position's ID in the destination file does not change.

Choosing sensitivity for your own games versus master games

The default sensitivity is well suited to serious, longer games, where every point of evaluation swing tends to matter. In blitz games, where both players routinely make larger swings, the same sensitivity can produce far more flagged positions than are actually useful for training. If this happens, consider raising the sensitivity threshold specifically for blitz material, or scanning a smaller, deliberately chosen set of games rather than an entire blitz archive at once, or simply scanning only your own moves rather than both sides.

17.7 "Build Tactics" Screen

Build Tactics screen
Build Tactics screen https://www.chesspm.com/trainimg/build-tactics-screen.png

Layout: three areas working together

This screen follows the same three-area logic as the PGN Engine Scan screen (Section 17.6), adapted to tactic extraction rather than mistake detection. On the left is the loaded PGN's list of games. In the centre is the board itself, showing whichever game or tactic is currently selected, with its own move notation and navigation. On the right, stacked vertically, are two lists: the tactics found so far during the current scan, and, beneath it, the training positions list, which is where a tactic actually lands once Add to Training is used on it (Section 9.10).

Trigger Settings and Save Results, in the flow of the screen

The Trigger Settings button opens the configuration form described in full in Section 9.7 — Triggers, Quality, Scope, Tactic Line, Engine Line At End, Full Game Filter, and Save Results — directly from this screen, so a setting can be adjusted and a fresh test scan run without leaving it. As with the PGN Engine Scanner, engine depth and time limits themselves are configured separately, on the main Settings screen (Section 17.16), since they change far less often than the trigger and filter settings do.

Reading the log while a scan runs

The log window is more detailed here than in the PGN Engine Scanner's equivalent, reflecting the more elaborate confirmation process a candidate has to pass: it reports each candidate's half-move number, move, evaluation and gap as it is found; whether that candidate was ultimately confirmed or rejected, and the specific reason; any opponent mistakes detected along the way; and, for every tactic that is confirmed, its stipulation. This makes the log genuinely useful for tuning Trigger Settings — a run that rejects far more candidates than it confirms usually points at settings worth loosening, and the rejection reasons shown say exactly which setting is responsible.

17.8 "Repertoire" Screen

Repertoire screen
Repertoire screen https://www.chesspm.com/trainimg/repertoire-screen.png

Folder structure

  • Every repertoire lives in its own sub-folder under the Repertoire folder of your data folder — for example Repertoire/BlackKingInd for a King's Indian repertoire as Black.
  • Any number of ordinary PGN files can be placed in that sub-folder; all of them are combined together when the repertoire is built. Splitting a repertoire into several files by branch (for example, one file per major sub-variation) keeps each file manageable; there is no requirement to use a specific number of files, though four to ten per opening is a common and practical range.
  • A single repertoire can hold on the order of 2000 variations, which comfortably covers even a deeply worked-out repertoire for one opening system, including many sub-lines and rare deviations.

Building and configuring a repertoire

  1. Pick Opening Folder — choose the sub-folder containing your repertoire's PGN file(s).
  2. The files found in that folder are listed on screen.
  3. Create Repertoire — builds the repertoire tree from all files in the folder together, expanding every variation as if it were a separate game.
  4. Properties — set the repertoire's colour (White or Black) and, if you want to skip well-known early moves during testing, the move number from which testing should begin.
  • There is no in-app editor for adding or removing individual moves directly inside a built repertoire. To change the content, edit the source PGN file(s) — in an external chess interface or in the PGN Editor (Section 17.12) — and then click Create Repertoire again to rebuild.

Loading and testing

  • Load Repertoire brings back a previously built repertoire for browsing or testing.
  • A repertoire can simply be browsed, move by move, with the statistical tree of replies shown at each position; or tested interactively, where you must supply the repertoire's correct move at each position.
  • A repertoire's colour setting (White or Black, set in Properties) determines which side's moves are actually tested: the opponent's replies are played automatically from the repertoire tree, and only your own side's moves need to be found during the test. This is why a King's Indian repertoire as Black, for instance, only asks you for Black's moves, while White's moves appear on the board automatically as part of the line.
  • Because a repertoire is a tree with branches, more than one move can be correct at a given position whenever the repertoire itself records more than one acceptable continuation there — this is a natural property of how the repertoire tree is built from your source files, not a separate setting to turn on.

The interactive repertoire test screen, in detail

Repertoire test screen
Repertoire test screen https://www.chesspm.com/trainimg/repertoire-test-screen.png

Once a repertoire and, optionally, a big book are both loaded (the screen reports how many lines each contains, for example "Loaded 51138 lines" for the repertoire and "Loaded 19245708 lines" for the big book), the test screen shows, side by side, two tables at every position: your Repertoire Moves (the tree's own recorded continuations, with the usual games/score/rating/evaluation columns) and, separately, Big Book Moves (what the wider pool of real games actually played there) — so you can see at a glance whether your repertoire's choice matches common practice.

  • Show Me Most Popular highlights the statistically most common move alongside the question, rather than leaving you to guess blind.
  • Me White (or Black) sets which side you are being tested on for this session, independent of the repertoire's own stored colour.
  • Auto Show Next Book Moves and Opponent Moves From Big Book control whether the automatic opponent replies come from your repertoire's own recorded line or are instead drawn from the big book's statistics — useful for practising against realistic, book-consistent opposition beyond what you explicitly prepared.
  • Comments after Both Moves controls when any comments attached to the line are revealed during testing.
  • Skip Moves and Allow Retry work the same way as in ordinary training (Section 17.4 and Section 6.2), applied here to repertoire testing specifically.
  • Me and Opponent mode selectors (for example Test Me Common as the testing mode, and Opp Test Mode for how the automatic opponent behaves) let you choose the exact style of the session; the opponent side can also be pointed at a specific named game collection (for example, a collection of games played by a particular strong player) so that practice reflects a chosen, consistent opponent style rather than only the single statistically most common move.
  • On Repertoire Mistake — Inform And Add To Test File both reveals the correct move immediately when you answer incorrectly and copies that position into a chosen exercise file (Browse And Set) automatically. In practice this means a repertoire test session doubles as an ongoing way of building an ordinary Position Manager training file made up of your actual weak points, with no extra manual work.
  • During testing, correctness feedback (for example a green "Opp:Correct" indicator) and a solving timer are shown live next to the board, alongside White/Black task labels and player information.
  • Force Move, Help With Next, Replay Line, Play Next, and Restart give direct control over a session: play a move for yourself when stuck, get a hint toward the next move, replay the current line from its start, jump straight to the next line, or restart the whole session.

Big-book statistics and Find Games, from within the Repertoire screen

  • With a big book also available, the repertoire screen can show, at the current position, what fraction of that book's games continued with each candidate move and their success rate — a quick sanity check on the repertoire's choices against real games.

Find Games — watching and browsing real games from a position

Find Games screen
Find Games screen https://www.chesspm.com/trainimg/find-games-screen.png

Find Games retrieves actual games from a chosen big book that reached the current position; a big book built from players of a moderate rather than only elite level tends to be more instructive here, since it better reflects the kind of opposition you are likely to actually face. The results are shown as a proper game viewer, not just a list: the board, the players' names, and the full move list for the selected game are all displayed, with navigation controls (an info button, step-back, jump-to-position, and restart/refresh icons) so you can step through and actually watch how the game continued from that point, rather than only seeing statistics about it. Which player rating range and how many games are offered here are controlled from Settings → Openings Book (From Player Elo and Take Games Limit, Section 17.16).

17.9 "Auto-Repertoire Builder" Screen

Auto-Repertoire Builder screen
Auto-Repertoire Builder screen https://www.chesspm.com/trainimg/auto-repertoire-builder-screen.png

This screen automates the process of building a repertoire (Section 10) directly from a chosen player's games, rather than requiring you to prepare the source PGN files by hand. The full step-by-step workflow, every setting, and the output file formats are documented in Chapter 10; this entry focuses on how the screen fits alongside the other opening-preparation tools.

  • The five-stage pipeline (Filter, Build Tree, Scan Gaps, Extend, Rebuild) can be run all at once with Run Full Process, or one stage at a time — each stage has its own button and status label, which is useful for inspecting the intermediate working files (Section 11.5) before committing to the next stage.
  • Stage 3 (Scan Gaps) and the Big Book selector at the top of the screen use the same reference-database concept as Find Gaps (Section 17.10): a large book of real games is what fills in replies the chosen player's own games never happened to cover.
  • The finished repertoire is a completely ordinary repertoire book once built — it opens from Load Repertoire on the Repertoire screen (Section 17.8) exactly like a hand-built one, and can be edited, extended, or re-scanned with Find Gaps and Missed Opportunities (Section 17.10) the same way.
  • Because the move-choice popup (Section 11.4) can interrupt an unattended run, Beginner+ full-auto mode is worth enabling specifically when building several repertoires in a row without wanting to supervise each one.

17.10 "Find Gaps" and "Missed Opportunities" Tools

Find Gaps screen
Find Gaps screen https://www.chesspm.com/trainimg/find-gaps-screen.png

Find Gaps — step by step

  1. Choose your repertoire and a suitable big book — a book built from stronger players, with blitz games excluded, is recommended so that suggestions are drawn from reliable, serious games.
  2. Set the parameters: the move number to start looking from (so only meaningfully late divergences are reported), the minimum number of games a candidate move must appear in to be worth suggesting, the minimum rating required for the opponent in a counted game, and the minimum rating required for the same-colour player in the additional filtering pass.

As a worked example: starting from move 7 (so the well-known first few moves of the opening are not re-suggested), requiring a candidate move to appear in a reasonable number of games, and requiring both the opponent and the same-colour player to be rated at a strong level, produces a short, high-confidence list — typically far more useful than a long list drawn from lightly-filtered or lower-rated games.

  1. Run the process.

The result is a new PGN file (for example BlackKingInd_gap_added.pgn) placed alongside your repertoire's source files, listing moves that occur reasonably often in the big book at positions from your repertoire but are not currently part of it.

  1. Review the suggestions in the resulting file.
  2. If you accept some or all of them, copy or merge the relevant lines into your repertoire's own source PGN file(s), and click Create Repertoire again to rebuild with the additions included.

Missed Opportunities — step by step

Missed Opportunities screen
Missed Opportunities screen https://www.chesspm.com/trainimg/missed-opportunities-screen.png
  1. Choose the repertoire to scan. It should already have engine analysis available — that is, it should already have been analysed as an opening book (Section 17.11) — since this tool looks for moves that the engine considers better than the ones you currently have recorded.
  2. Run the scan.

The result is a PGN file (for example WhiteCatalan_missed_opportunities.pgn) listing positions where a stronger move than the one currently recorded was found, occasionally including a genuine theoretical improvement rather than merely a computer preference.

  1. Review the file and, for anything you accept, merge it into your repertoire's source PGN and rebuild with Create Repertoire.

17.11 "Opening Book" / "Big Book" Screen

Big Book screen
Big Book screen https://www.chesspm.com/trainimg/big-book-screen.png

Ready-made books

  1. Start Download fetches the bundled master-game archive (players rated 2500 and above, games from roughly 1970 to the present — 389,300 games in the current build).
  2. Once the download completes, click Create Strong Book.

As with the ready-made big book above, make sure the downloaded archive has been unzipped into the folder before clicking the book-building button.

  • The other ready-made rating-band books (2400+, 2300+, 2200+, 2100+) are built the same way, from their own corresponding source downloads.

Books from your own PGN collections

  1. Create a new sub-folder under BigBook for the collection.
  2. Place your PGN file there (for example, an exported Lichess games database).
  3. Optionally filter the games first by rating, date, or opening (for example, by the first few moves, or by ECO code if your source includes ECO codes, as Lichess exports typically do), and save the filtered result as a separate PGN, to control the resulting book's size and achievable depth.
  4. Run the book-building process on that folder.

Depth and size trade-offs

A book's practical opening depth (measured in half-moves) is limited mainly by the number of distinct positions the source collection produces, not directly by the number of games: many games sharing common positions (through transpositions, or simply through popular openings) do not each add a new position, but a source with a very large number of genuinely distinct positions requires more memory to search deeply. This is why a huge, general collection (millions of games across many openings) supports a comparatively modest fixed depth (on the order of 32 half-moves in the currently supported build), while a smaller, more narrowly focused source — including a personal repertoire file, which by nature has comparatively few distinct positions even though every position may be deeply analysed — can be built with much greater depth.

  • 16GB of RAM or more is recommended for building the largest big books comfortably.
  • A small, focused book on a single opening — built the same way as a big book, but from a modest, hand-picked PGN source rather than a huge external database — has no practical size restriction of the kind that applies to the largest big books, since it involves far fewer distinct positions; any number of such small books can be built alongside your big books and repertoires.

Browsing and analysing a book

  • Once built, a book can be browsed move by move, with move frequency and success-rate statistics shown at every position.
  • Engine analysis over a book's positions can be run for the whole book, or incrementally so that only newly-added, not-yet-analysed positions are processed the next time — rebuilding or extending a book does not force a full re-analysis from scratch.
  • A book's analysis results are stored separately from the book file itself, precisely so that adding further variations to the book later does not require discarding earlier analysis.

Browsing the whole book: the Book Browser

Big Book browser screen
Big Book browser screen https://www.chesspm.com/trainimg/big-book-browser-screen.png

The Book Browser is where you actually explore a book's full contents, rather than only building or analysing it. It can load either a big book (Book Name, Files Subfolder, Browse Big Books, Load) or a repertoire (Repertoire Name, Browse Opening Books, Load) into the same tree view, so the same browsing tools work on both.

  • The tree on the left expands move by move down the main line and every branch (for example g8f6 → c2c4 → e7e6 → g1f3 → d7d5 → g2g3, with siblings such as f8b4 and f8e7 visible at the branching point); clicking any node updates the board and FEN on the right to that exact position.
  • Selecting a node also fills the statistics table below the tree with every move played from that position — Games, %Games, %Res, White/Black Elo, Score, Eval, Ply, and Comment — the same statistical columns used throughout the opening-book tools.
  • Book To Tree rebuilds or refreshes the tree view from the currently loaded book; Remove deletes a selected line or node from the tree.

Sending positions from the browser into a training file

This is the direct link between browsing a book and building training material from it: choose a destination exercise file with Test Position File for Book (Browse via the "…" button, then SET), then use From List To Test to send selected positions from the book straight into that file — without needing to go through a full PGN Engine Scan first. This is a fast way to turn openings theory you are browsing right now into exercises, distinct from the automatic mistake-detection path described in Section 17.6.

  • The same Load / Analyze / Stop engine controls used elsewhere in the program (with a configurable To Depth) are available directly on this screen, so a position can be checked with the engine while browsing, without switching screens.
  • Back and Start, at the bottom of the tree panel, step back out of the current browsing session or begin a fresh one.

17.12 "PGN Editor" Screen

PGN Editor screen
PGN Editor screen https://www.chesspm.com/trainimg/pgn-editor-screen.png
  • Moves and whole variations can be added, changed, or removed directly.
  • Game and exercise headers (event, players, date, result, and similar fields) can be edited and saved back to the file.
  • A second game, or a chosen part of one, can be merged into the game currently open in the editor, combining two sources into one unified set of variations.
  • A line can be played out against the engine interactively from any position in the game being edited (the same mechanism described in Section 17.14), with the resulting moves becoming part of the edited game.
  • This is the recommended tool for preparing or correcting the source PGN files used to build a repertoire (Section 17.8), and for fixing malformed PGN — for example, adding a missing "=" before a promoted piece — before importing a file elsewhere in the program.
  • The multi-move solution sequence attached to a position in Position Manager can also be edited through the PGN Editor, which is convenient when a full-line exercise needs more than a simple field edit.

17.13 Cross-Cutting Topics

Only one process at a time per data file

Important: Never run two instances of the program at the same time working against the same exercise file — for example, one window open on an older loaded copy while another edits and saves the same file. Both Training and Position Manager periodically save the file they are working on in the background, and whichever one saves last will silently overwrite the other's changes.

Backups — what and when

  • At minimum, back up the pos sub-folder — it holds your personal exercise files, which are the hardest thing to recreate if lost.
  • Back up pgn, scan and your Repertoire/BigBook folders as well if you have invested significant time preparing filtered collections or repertoire source files.
  • Back up before a large batch of manual edits, and again afterward, and on a regular schedule (for example weekly) regardless of whether you have made recent changes.

Antivirus and installation

  • Unsigned software is sometimes quarantined by antivirus tools on first run; check your antivirus's quarantine or history if the program does not start after installation, and restore it if it was flagged — this does not indicate an actual problem with the program.
  • Reinstalling, or installing after a broken desktop shortcut (for example, one that no longer points at the right executable after a Windows update or restart), does not remove your existing data — the data folder is separate from the installed program files.

Working with several engines

  • The program itself runs one active engine at a time, selected via Set Default in Settings → Engines; you switch the default when you want to compare a second engine's opinion, rather than running two engines simultaneously inside the program.
  • If you want two engines' opinions on the exact same position genuinely side by side, the practical approach is to copy the position's FEN into a second, separate chess interface running the other engine, alongside this program running your primary engine.

17.14 Interactive Engine Play and Computer-Assisted Move Entry

Interactive engine play
Interactive engine play https://www.chesspm.com/trainimg/interactive-engine-play.png

Beyond recording a fixed solution taken from a source game, a position's line can also be built by actually playing it out against the engine: starting from a chosen position, you make a move, the engine replies with its own chosen move, and the exchange continues for as long as you like. The resulting sequence of moves then becomes the exercise's recorded solution line, in place of (or alongside) the original game's continuation. This is a convenient way to build a fresh exercise around an idea you want to test, without needing a ready-made source game that already contains it.

A related, hybrid way of working combines manual editing with occasional computer help: moves can be entered and edited by hand as usual, and at any specific position along the way, a computer-suggested move can be requested and inserted rather than typed manually. This is useful when you are confident about most of a line but want the engine's help settling one particular move within it.

17.15 The ChessPM Analysis Engine

Alongside standard Stockfish, a specially adapted build — sometimes referred to as the ChessPM engine — is available as one of the engines you can configure in Settings → Engines. It exposes additional information from the engine's own search process, which the software combines with its own calculations to describe not just the size of a mistake but qualities such as how difficult the correct move was to find. This analysis layer is being actively developed and extended, so the specific measures it reports can be expected to grow richer over time; it is set up and used exactly like any other configured engine (Section 3).

17.16 "Settings" — Configuration and Parameters

Unlike the workspace screens covered earlier in this chapter, Settings is a configuration dialog rather than a place where you do the actual work of training, scanning, or building — which is why it is grouped here, at the end, alongside the other reference material rather than among the primary screens above. Build Tactics (Section 9) also has its own dedicated configuration dialogs (Trigger Settings, Section 9.7) for the same reason: its day-to-day parameters live with that feature rather than on this general Settings screen.

Settings screen — General tab
Settings screen — General tab https://www.chesspm.com/trainimg/settings-screen-general-tab.png

Settings is a single dialog with eight tabs, grouped together side by side: General, Engines, Engine Analysis, Positions Training, Openings Book, Repertoire, Scanner, and Puzzles. OK, at the bottom, saves changes across every tab at once, not just the one currently open.

General tab

This tab holds overall application preferences (for example, general startup and display options) rather than settings tied to one specific module; the module-specific tabs below are documented in more detail because they are the ones most people configure first.

Engines tab

  1. Path — Browse to the engine's .exe file.
  2. Engine Name — type a short, memorable name.
  3. Add — adds this path/name pair as a new row in the engine list (if that name does not already exist).
  4. Click on a row in the engine list to load its path and name back into the fields above, for review or editing.
  5. Set Default — makes the currently selected row the active engine used across the program.
  6. OK — saves all changes made in Settings.
  • A Hash size selector (for example 1.0G) is also on this tab, controlling how much memory the selected engine is allowed to use for its hash table; a larger value can help a strong engine search more effectively on a well-equipped computer.
  • The engine list shows every engine configured so far (for example stockfish-18, stockfish-15, Rybka, Komodo, Houdini, StockfishPM, in the order you added them) with the current default highlighted; Add/Update both adds a brand-new engine and applies an edit to an already-selected one, and Remove deletes the selected entry from the list.
  • A Tablebase path field is also on this tab, for pointing the engine at a folder of endgame tablebases (for example Syzygy tablebases); leave it blank if you do not use tablebases.
  • It is convenient to keep each engine in its own sub-folder under the eng folder of your data folder (for example eng/stockfish18, eng/komodo), so that each engine's files stay together and are easy to find again in Settings → Engines.
  • Kill, followed by Load, restarts the connection to an engine — useful whenever you want to reload an engine cleanly, for example after changing its settings or switching to a different build.

Engine Analysis tab

Settings screen — Engine Analysis tab
Settings screen — Engine Analysis tab https://www.chesspm.com/trainimg/settings-screen-engine-analysis-tab.png

This tab sets analysis depth/time defaults separately for three different contexts, since a quick position check, a full repertoire analysis, and a live game/play analysis have different needs:

  • Default Engine Analysis (Positions…) — Positions Analysis (a default search depth, for example 15) and Move Time Limit Seconds (for example 30), together with a Default Analysis choice of 1=Depth/Time (which of the two actually governs a run) and Display Analysis Lines (how many candidate lines to show, for example 5). This group is the default used across ordinary position analysis, such as the whole-file analysis in Position Manager (Section 17.3).
  • Repertoire Engine Analysis — its own Analysis depth (for example 18) and Move Seconds Limit (for example 30), used specifically when analysing a repertoire as a book (Section 17.8, and see Missed Opportunities, Section 17.10).
  • Game / Play Analysis — its own Depth (for example 15) and Move Seconds Limit (for example 10), used for engine moves during interactive play against the engine (Section 17.14).
Note: The Move Seconds Limit fields only take effect when the corresponding Analysis Limit choice is set to 2=Time; otherwise the depth value governs, and the seconds fields are ignored.
  • Nalimov Tablebases — a checkbox and a set of path fields (TB Path, plus DB Path 5, DB 6 WDL, DB 6 DTZ, and a TB depth value) for configuring tablebase support, alongside or instead of the Syzygy tablebase path on the Engines tab.

Positions Training tab

Settings screen — Positions Training tab
Settings screen — Positions Training tab https://www.chesspm.com/trainimg/settings-screen-positions-training-tab.png
  • Max Solve Time (msec) — the real per-move time limit, in milliseconds, used whenever "limit time" solving is selected on the Training screen.
  • Allow retry after fail for 1 move — lets you retry a position immediately after a wrong answer (see Section 17.4).

Openings Book tab

Settings screen — Openings Book tab
Settings screen — Openings Book tab https://www.chesspm.com/trainimg/settings-screen-openings-book-tab.png
  • Auto load last book in Training — when checked, the most recently used big book is loaded automatically the next time you open a training or repertoire screen that uses one, instead of asking you to Browse to it again.
  • Last Big Book Folder Path and Last Big Book Name remember which big book (and its sub-folder, for example Mega\From2400) was last used, so the program can reopen it automatically.
  • Last Book Download Folder remembers where a downloaded big book archive (Section 17.11) was placed.
  • Last Book Positions Testing remembers which exercise file was last used as the destination when transferring positions out of the Book Browser (Section 17.11).
  • Half Moves In Repertoire and Half Moves In Big Book set the maximum opening depth, in half-moves, considered when building a repertoire versus building a big book respectively — matching the depth-and-size trade-off described in Section 17.11 (repertoires can safely use a larger value, since they involve far fewer distinct positions than a big book).
  • Display Book Games: From Player Elo and Take Games Limit control which games are offered when you use Find Games (Section 17.8) — only games with players at or above the chosen rating are shown, up to the chosen limit, so the list stays focused and manageable.

Repertoire tab

Settings screen — Repertoire tab
Settings screen — Repertoire tab https://www.chesspm.com/trainimg/settings-screen-repertoire-tab.png

This tab configures how the interactive repertoire test screen (Section 17.8) behaves by default:

  • Show Me Most Popular — when checked, the test screen highlights the statistically most common move at each position, alongside asking you for the repertoire's recorded move.
  • Skip Moves and Half Moves Opening — how many of the earliest, best-known moves of an opening to skip before testing actually begins, matching the "start move" idea described in Section 17.8.
  • Allow Retry — lets you try again immediately after answering a repertoire position incorrectly, the same idea as Allow Retry in ordinary training (Section 17.4), applied to repertoire testing specifically.
  • Comments after Both Moves — controls when explanatory comments attached to a line are shown during testing (for example, only after both your move and the automatic opponent reply have been played, rather than immediately).
  • Me and Opponent — separate mode selectors for how your own moves are tested (for example Test Me Common) and how the opponent's replies are generated (for example Opp Test Mode); this is also where a specific big book or named game collection can be assigned to drive the opponent's replies, so that testing can be shaped around a particular style of opposition rather than always the single most statistically common reply.
  • On Repertoire Mistake — what happens when you answer incorrectly during a test; Inform And Add To Test File both tells you the correct move immediately and copies that position into a chosen exercise file automatically, so a repertoire test session doubles as a way of continuously building an ordinary training file out of your actual weak points.
  • Opponent Moves From Big Book, with Browse — lets the automatic opponent replies be drawn from a chosen big book's statistics instead of only from your repertoire's own recorded lines, which is useful for practising against realistic, book-consistent opposition beyond what you have explicitly prepared for.
  • Opening book Folder and Last Opening remember the most recently used repertoire folder and its name, the same way the Openings Book tab remembers the last big book.

Gap Additions (parameters for Find Gaps)

The right-hand side of the Repertoire tab configures Find Gaps (Section 17.10) in detail:

  • Big Book Found Games: From Move, From Opponent, From Player Elo, and Take Games Limit set the starting move number and the rating/game-count filters used when searching the big book for candidate moves — matching the worked example in Section 17.10 (for instance, starting from move 7, with an opponent rating floor and a player rating floor).
  • From and Only, alongside All Results Elo, add a further ratings-based filter pass and a choice of which game results to count (for example 1=WD for wins and draws) when deciding whether a candidate move is well-supported enough to suggest.
  • Gap In Repertoire: Minimum Games sets how many times a candidate move must appear in the big book before it is worth suggesting at all.
  • Below This Move When > and Always Expand From fine-tune exactly which move numbers within a line are eligible for gap suggestions.
  • Max Total New Games caps how many suggested additions a single Find Gaps run will produce (for example 1000), keeping the review step manageable even for a very broad search.

Scanner tab

Settings screen — Scanner tab
Settings screen — Scanner tab https://www.chesspm.com/trainimg/settings-screen-scanner-tab.png
  • Start move — the scanner does not analyse moves before this number, to save time on well-known opening theory. Lower it if early mistakes (for example, falling into an opening trap) should also be detected.
  • Mistake sensitivity — governs how large an evaluation swing must be before a move counts as a mistake. The required swing scales with how far the position already is from equality: for example, with typical settings, a swing of roughly 0.4 pawns is enough to flag a mistake in a position that was previously equal, while roughly 0.8 pawns of swing may be needed in a position that already had about a 1.8 pawn advantage. The exact numbers depend on your chosen sensitivity settings, and can be previewed for any evaluation level using Show Threshold on the PGN Engine Scan screen itself, before running a full scan.
  • Alternate-move evaluation gap — the maximum evaluation difference from the best move for another move to be recorded as an acceptable alternative solution, rather than being ignored.
  • "Do not add above" / "ignore above" thresholds — evaluation levels beyond which the scanner treats the position's result as already decided and stops actively flagging every fluctuation; there are related settings for how many consecutive moves must stay beyond such a threshold before the scanner gives up on the rest of that game entirely and moves to the next one.
Important: Setting the "consecutive moves beyond threshold" value too low can cause the scanner to give up on a game too early and miss a genuine later mistake — for example, missing a forced mate that was available and then lost, simply because the position had already looked won for several moves. If thorough coverage matters more to you than scan speed, raise this value (for example from a default of around 4 to 12 or more).
  • Depth or time limit per move, and a One-move seconds limit as an overall safety cap — see the depth-versus-time notes below.

Depth-based versus time-based analysis

Analysis for scanning can be configured to stop either after a fixed search depth or after a fixed amount of time per move, selected via the Analysis Limit choice. A typical depth of 15–18 is a reasonable balance of accuracy and speed. Some individual positions naturally take longer than others at the same depth — clearly winning positions in particular, where the engine keeps re-checking alternatives before committing to its final choice — and the built-in one-move seconds limit caps how long any single position is allowed to take during an automated scan, so a scan's overall running time stays predictable.

Puzzles tab

This tab configures options related to the optional ChessPM website puzzle integration (see the general note on external integration in Section 17.13); it is separate from the local training and scanning settings documented above.

18. Appearance and Future Editions

18.1 Themes and Appearance

The look of the program is not fixed to one style. A visual theme can be selected to change colours, contrast, and control sizing across the whole application at once, rather than a single fixed appearance — including a higher-contrast option for easier readability, and a larger-button, more colourful style better suited to younger users. Switching themes changes appearance only; it does not affect your data, exercises, books, or repertoires in any way.

18.2 Planned Future Editions

This manual documents the full, current edition of the program, aimed at an already fairly strong player. Because the program already tracks, per user, which screens and capabilities are available to them, the same underlying foundation is intended to support lighter editions in the future — for example a beginner or improving-player edition, and a dedicated kids' edition — without requiring a separate, independently-built application.

  • A future beginner/intermediate edition would likely keep Training and a simplified Position Manager front and centre, while setting aside the deeper opening-preparation tools (Scanner, Repertoire, Big Book, PGN Editor) that are built more for ongoing, self-directed improvement work.
  • A future kids' edition would likely combine a simplified set of screens with the more colourful, larger-button appearance theme described above, and built-in starter material (basic tactics, mates, and endgames) rather than expecting a young player to arrive with their own games to mine for exercises.
Note: These lighter editions are planned rather than available today; this manual will be updated, and a dedicated beginner/kids manual introduced, once they are released.

↑ Back to top