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
- How do I install the program and keep my data safe when upgrading?
- Where is all my data actually stored on disk?
- What should I back up, and how often?
- My antivirus flagged the program after installing it — what do I do?
Websites & Online Services
- What's the difference between www.chesspm.com and app.chesspm.com?
- The main website seems to be down — is there another way to log in or download?
- Can I download opening books or repertoire files directly from the website?
- How do people share individual positions or studies online without needing the software installed?
- Can I get a hint or see the full solution while solving a study on the website?
- Is there a price list I can look at before contacting sales?
Account & Registration
- How do I register a new account, and what information is needed?
- How do I get full access to try everything the software offers?
- My trial ended and I lost access to some features — is that expected?
- How do I ask about purchasing full access?
- I forgot my password — how do I reset it?
- I can't log in and get "Invalid username or password" — what should I check?
- Can I download opening books or position files from the website?
- What exactly is limited outside of an active trial, in evaluation mode?
Chess Engines
- How do I add or switch chess engines?
- An engine shows "Stopped" — how do I get it running?
- How do I organize several engines so they're easy to find?
- Why is the engine taking a long time on one particular position?
- What is the ChessPM engine, and how is it different from Stockfish?
Games and Positions
- How do I import a PGN file of my games?
- How do I turn a move from one of my games into a training exercise?
- Can an exercise test more than one move in a row?
- Can I use the software to memorise a whole game by heart?
- My PGN file doesn't start from the normal opening position — will it still load?
- A promoted pawn isn't reading correctly from my PGN file — why?
- Can I get the computer's evaluation of a move before deciding whether to add it?
- Can a position have more than one independently correct answer?
Position Manager
- How do I correct the solution move on a position I already added?
- How do I delete or disable a position, and what happens to the numbering?
- How do I run engine analysis over every position in a file at once?
- How do I reset my statistics and start fresh on a file?
- How do I jump to a specific position number, or work through a range?
- How do I get my exercises into a format another program (or another player) can read?
- Why would editing and training on the same file at the same time cause problems?
Training Sessions
- What is the difference between Cancel and Skip while training?
- How do I train in random order, or only on positions I haven't solved yet?
- How do I train a specific range of IDs in random order?
- How do I set an actual time limit per move?
- Can I retry a position immediately after getting it wrong?
- Why does the software keep re-asking about positions I already saw in this session?
- What happens if I type an illegal move by mistake?
- How do I pause after each solved position instead of moving on automatically?
Statistics
- How do I see how many positions I've solved, and my average time?
- The statistics don't seem to update — what should I do?
Automatic Mistake Detection
- How do I have the engine find my mistakes automatically instead of reviewing every move by hand?
- How do I scan only my own moves and skip my opponent's?
- How sensitive is "mistake" detection, and can I change it?
- How do I move scanner results into an actual exercise file?
- What happens if the same position gets scanned twice?
- The scanner is flagging far too many moves in my blitz games — what can I change?
- I don't understand the layout of the scanner screen — what are the three lists for?
- Can I pause a long scan and continue later?
Opening Repertoire
- How do I set up and build a repertoire for a specific opening?
- How do I add or remove moves from a repertoire I already built?
- When I test my repertoire, does it ask me about my opponent's moves too?
- How many variations can one repertoire hold?
- How do I check my repertoire's choices against real games?
- How do I find out if I'm missing well-known moves in my repertoire?
- How do I find improvements to my existing repertoire lines?
Auto-Repertoire Builder
- Can the software build a repertoire for me automatically, based on a specific player's games?
- How do I build a repertoire covering only part of a player's games, like one specific defense?
- What happens when the automatic builder finds a genuinely close decision between two moves?
- Can I build a repertoire without ever being asked to choose between moves?
- What files does the repertoire builder actually produce, and which one do I open to train?
- I ran it again on the same player and color — will it overwrite what I already have?
Opening Books
- How do I build a big opening book from master games?
- Can I build a book from my own downloaded games instead?
- Why can some books be searched more deeply than others?
- Can I build a small book on just one opening, without a big external database?
- Do I need to re-analyse an entire book every time I add games to it?
- Can I download a ready-made book directly in the app instead of finding it on the website first?
PGN Editor and General
- How do I edit moves, variations or headers directly in a game or exercise?
- Can I play a line out against the engine to build an exercise, instead of using a source game?
- What's the single most important habit for avoiding lost work?
Build Tactics
- How do I automatically extract tactical exercises from a set of games instead of finding them by hand?
- What actually makes the software decide a position is a tactic?
- How do I require a tactic to include a sacrifice specifically?
- How do I make sure a found tactic is genuinely better than the alternatives, not just slightly better?
- How do I keep tactics from being found in the opening, or too late in the endgame?
- Can I get one file per difficulty level instead of everything in one file?
- How do I make Build Tactics faster, or more accurate?
- How do I test my settings on one game before scanning thousands?
- How do I get found tactics into my regular training file?
- How is a tactic's difficulty level worked out?
- I'm getting too many (or too few) results — what should I adjust?
- I have a PGN file of tactical positions from somewhere else — can I import it as training material?
- Can I save imported tactical positions into separate files by difficulty level?
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.
Installing
- Download the installer (.exe file) from the Download page and run it.
- 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.
- 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.
- 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.
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.
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.
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
What Evaluation Mode Restricts
Outside of an active trial — whether before starting one, or after one has ended — the advanced features above run in a restricted "evaluation" mode rather than being fully hidden, so their existence and general operation are still visible even without the full experience:
- Opening book access is limited to the Strong2600 reference book rather than the full range of available books.
- The number of items you can keep at once — repertoires, books, or training files — is capped; creating a new one past the limit requires deleting an existing one first to make room.
- Scanning and building operations (for example Build Tactics or the PGN Engine Scanner) are limited to a shorter move range than the unrestricted version.
- Editing a large PGN file directly is limited by file size.
- Some analysis views show a simplified summary rather than the full, detailed breakdown.
To start the trial:
- Log in to ChessPM.
- Go to Account → Start Trial in the menu.
- Confirm the prompt, and re-enter your password to verify it's really you.
During the 21-day trial, the advanced features above are available in full (not the restricted evaluation mode described above), 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 evaluation mode; the basic tier itself is unaffected and remains fully usable, with no expiry, whether or not you go on to purchase a plan.
- A note in the software's title bar, or on the Account settings screen, shows whether you're currently on a trial and how many days remain, or whether you're in evaluation mode.
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.
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.
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).
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.
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.
I forgot my password
- On the login screen, click "Forgot Password?".
- This opens the password reset page in your web browser.
- Enter your username and submit.
- 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.
- Click the link; it's valid for 1 hour from when it was sent.
- Enter and confirm your new password.
- Return to the software and log in with your new password.
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 with the advanced features in evaluation mode (Section 1.4). To unlock the advanced features fully 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 of full access to the advanced features. Afterward, they automatically return to evaluation mode rather than being fully unavailable (Section 1.4); the basic tier itself is unaffected and remains fully usable. If you'd like continued full 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.
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.
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.
2.4 Studies and Diagram Viewer
Both websites feature a free, browsable collection of selected chess studies and compositions — including award-winning works — that anyone can view and try to solve directly in a browser, with no account, login, or purchase required. This is a standalone feature of the websites, separate from the desktop software and available to any visitor.
- Browse — find the collection under "Studies" in the website's main menu; each study shows the composer or player's name and the tournament or event it is associated with, alongside the position itself on an interactive board.
- Solve — attempt to find the winning line yourself, move by move. If you get stuck, a hint reveals just the next move, or you can reveal the full solution, which then plays out automatically on the board.
- Replay — watch the complete solution play out from start to finish automatically, including the key variations and any analysis notes attached to the study.
- Full notation view — for studies with detailed analysis, the complete move tree can be browsed, including alternative lines and explanatory comments, exactly as composed.
Individual studies and positions can also be shared directly — for example on social media — as their own link, which opens straight into the same interactive viewer described above without needing to browse to it first. Various display parameters (such as board orientation) 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:
- Open Settings → Engines.
- Click Browse and select the engine's .exe file (placing engine folders under the eng sub-folder of the data folder keeps things tidy).
- Type a short, simple name for the engine in the Engine Name field.
- Click Add. The engine now appears in the list of configured engines.
- Click on the engine's row in the list to select it, then click Set Default to make it the active engine.
- 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.
4. Importing Games and Building Exercises Manually
4.1 Importing a PGN file
- Go to My PGN Database.
- Click Browse and choose your PGN file (importing copies it into the pgn sub-folder of the data folder).
- Click Load Games PGN. The list of games appears on the left.
- 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
- 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.
- In the game's move list, click the move after which you want the exercise to start.
- 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.
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
- 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).
- Click Set to load it into the manager.
5.2 Editing a Position
- Click the row you want to edit; its fields appear on the right.
- Change the FEN and/or the solution move as needed.
- Click Update (at the bottom right) to save the change to that specific row.
- Reload the file (Set again) to confirm the change is saved.
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
- Load an engine (Load, then confirm it shows Started).
- 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.
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.
- 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).
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.
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.
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.
- In any screen with a Browse/Set pair for the exercise file, click Browse to see every file currently in the pos folder.
- Select the file you want.
- 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).
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
- Open PGN Engine Scan and load a PGN file with Browse, then Load Games PGN (as in Section 4.1).
- Load the engine (Load, confirm Started).
- 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).
- 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.
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.
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
- With one or more rows selected in the scan results (the middle column), choose the target exercise file on the right (Browse, then Set).
- 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 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.
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
- 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.
- 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.
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.17) 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.
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.
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.16) 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
- 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.
9.14 The Tactics → Positions Tool
While Add to Training on the Build Tactics screen (Section 9.10) is the quickest way to import positions found by a scan you just ran, the Tactics → Positions tool is a more general, standalone way to turn any PGN collection of tactical positions into training exercises — not only the output of your own Build Tactics scans. If you already have a PGN file full of tactical positions — your own analysis, a downloaded puzzle set, or anything similar — this tool is how you bring it into your training database.
Getting Started
- Open the Tactics → Positions tool.
- Load a PGN file containing tactical positions — this can be a Build Tactics output file, but does not have to be; any PGN collection of positions or short games works.
- The tool sorts the loaded positions into tabs by difficulty level, 1 through 7, plus an All tab showing everything together. If a loaded position has no difficulty level recorded, it is placed in an Unrated group instead.
Reviewing and Selecting
- Click through the level tabs, or the All tab, to review what was loaded; select individual positions, or use a select-all option within a tab, to build up the set you want to import.
- Remove Selected takes the currently selected positions back out of the working set, without affecting the source PGN file.
- Clear All empties the entire working set, to start over with a different selection or a different source file.
Duplicate Handling
If a position being imported has the same starting FEN as one already in your target exercise file, the tool detects this and offers to replace the existing entry rather than silently creating a duplicate or silently skipping the new one. A count of how many positions were replaced this way is shown after the import completes, so you know at a glance how much of the import was genuinely new content versus updates to positions you already had.
Saving
- Choose the destination exercise file the same way as elsewhere in the program (Browse, then Set).
- Split output by Level, when enabled, saves the selected positions into separate files per difficulty level instead of one combined file — the same split-by-level idea used in Build Tactics itself (Section 9.6), applied here to any imported set, not only a fresh scan's output.
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.
- 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.
- 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.
- In the Repertoire screen, click Pick Opening Folder and select that sub-folder.
- The files in the folder appear in a list.
- Click Create Repertoire to build the repertoire tree from all of the files in the folder together.
- 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).
10.2 Loading and Testing a Repertoire
- Click Load Repertoire to load a repertoire you have already built.
- 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.
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:
- 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).
- 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.
- Run the process. It produces a new PGN file (for example BlackKingInd_gap_added.pgn) of suggested additional moves.
- 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:
- Choose the repertoire to scan (it should already have engine analysis available, from having been analysed as a book).
- 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.
- 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 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
- Open the Auto-Repertoire Builder screen.
- Type the player's name (or several names, comma-separated) in the name field.
- Choose White or Black.
- 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.
- Optional: load a different reference database via Browse Big Books if you don't want the default one.
- Click Run Full Process.
- 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.
- 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; a Load from Server option here can fetch a ready-made reference book directly, without downloading it separately first (Section 17.14).
- 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.
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
- 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
- Open the Opening Book / Big Book screen.
- Click Start Download to fetch the bundled master-games collection (players rated 2500+, games from 1970 onward — several hundred thousand games).
- 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+).
- Ready-made books and similar large files can also be fetched directly with Load from Server, an in-app alternative to downloading the source archive yourself first (Section 17.14).
12.2 A Book From Your Own PGN Collection
- Create a new sub-folder under BigBook for your collection.
- Place your PGN file (for example, a Lichess database export) in that folder.
- 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.
- 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.15 — 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.
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.17) 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.13) 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.17) 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
- My PGN Database → import/select the game → step to the position → Add Position (target exercise file selected first).
- 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
- Position Manager: Set ID to 200 (or use the range selector, depending on the mode).
- 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
- Prepare one or more PGN files with your lines, in a new sub-folder under Repertoire.
- Repertoire screen: Pick Opening Folder → Create Repertoire → Properties (colour, starting move).
- Load Repertoire, then start testing.
Find out whether my repertoire misses any well-known moves
- Build or obtain a big book of strong players' games.
- 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
- 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
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
- Click a game in the left-hand list to open it.
- Step through its moves (below the game list) to the position you want to turn into an exercise.
- 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
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
- Click the row you want to change.
- Its fields (FEN, solution move, last move, fen before, notes, and so on) appear on the right.
- Edit the field(s) you want to change.
- 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
- Load the engine and confirm it shows Started.
- 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
17.4 "Training" Screen
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
- 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
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.
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
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.17), 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 "Tactics → Positions" Screen
This is a companion tool to Build Tactics (Section 9.14), reachable from it, but designed to work on any PGN file of tactical positions — not only the output of the scan you just ran. It is the right tool whenever you already have a PGN collection of positions (your own analysis, a downloaded puzzle set, or similar) and want to bring some or all of it into a training exercise file, with control over which difficulty levels go where.
- Level tabs (1 through 7, an All tab, and an Unrated group for positions without a recorded level) organise whatever PGN file was loaded, so you can review and select by difficulty rather than scrolling one long list.
- Remove Selected and Clear All manage the working set without touching the original source file on disk.
- On import, a position matching an existing FEN already in the target exercise file is offered as a replacement rather than silently duplicated or silently skipped, and the number of replacements made is reported once the import finishes.
- Split output by Level, if enabled, writes the imported positions into separate per-level files, mirroring the same option in Build Tactics itself.
17.9 "Repertoire" Screen
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
- Pick Opening Folder — choose the sub-folder containing your repertoire's PGN file(s).
- The files found in that folder are listed on screen.
- Create Repertoire — builds the repertoire tree from all files in the folder together, expanding every variation as if it were a separate game.
- 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.13) — 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
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 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.17).
17.10 "Auto-Repertoire Builder" Screen
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.11): 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.9) exactly like a hand-built one, and can be edited, extended, or re-scanned with Find Gaps and Missed Opportunities (Section 17.11) 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.11 "Find Gaps" and "Missed Opportunities" Tools
Find Gaps — step by step
- 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.
- 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.
- 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.
- Review the suggestions in the resulting file.
- 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
- 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.12) — since this tool looks for moves that the engine considers better than the ones you currently have recorded.
- 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.
- Review the file and, for anything you accept, merge it into your repertoire's source PGN and rebuild with Create Repertoire.
17.12 "Opening Book" / "Big Book" Screen
Ready-made books
- 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).
- 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
- Create a new sub-folder under BigBook for the collection.
- Place your PGN file there (for example, an exported Lichess games database).
- 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.
- 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
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.13 "PGN Editor" Screen
- 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.15), 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.9), 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.14 Cross-Cutting Topics
Only one process at a time per data file
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.
Downloading Ready-Made Content from the Server
Several screens that work with large, ready-made content — the Big Book screen (Section 12) and the Auto-Repertoire Builder's book selection (Section 11), among others — include a Load from Server (or Download) option, alongside the usual local Browse. This opens a list of ready-made files available directly from ChessPM's servers, without needing to visit a website first.
- Selecting an item and confirming downloads it directly into the appropriate sub-folder of your data folder, the same place a manually-downloaded file would go.
- This is a convenient alternative to the website's own Files pages (Section 2.3) for the specific large files — opening books, repertoires, and similar content — that this in-app option covers; either path results in the same file ending up in the same place.
17.15 Interactive Engine Play and Computer-Assisted Move Entry
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.16 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.17 "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 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
- Path — Browse to the engine's .exe file.
- Engine Name — type a short, memorable name.
- Add — adds this path/name pair as a new row in the engine list (if that name does not already exist).
- Click on a row in the engine list to load its path and name back into the fields above, for review or editing.
- Set Default — makes the currently selected row the active engine used across the program.
- 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
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.9, and see Missed Opportunities, Section 17.11).
- 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.15).
- 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
- 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
- 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.12) 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.12).
- 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.12 (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.9) — 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
This tab configures how the interactive repertoire test screen (Section 17.9) 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.9.
- 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.11) 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.11 (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
- 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.
- 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.14); 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.