Over the years I manually maintained an opening repertoire in a PGN file (with several "games" per ECO index on average), and now realized I can generate different opening "books" from it - for SCID, CA, or Fritz-based products. The repertoire had been created somewhat ad hoc - based on my games, books I read, engine analysis, database searches, etc. Now - what is the best way to automatically "test" that my book:

  1. does not miss any very popular responses for one side?
  2. does not contain any blunders for the other side?

Or is this type of computer checking best done on a pgn file in the first place?

Thank you

2 Answers 2


EDIT: Answer to Revised Question Below

Based on the way you described it, it makes sense to simply open up the PGN along with any engine and go through it line by line. I do not believe there's an automated way to iterate through all the moves and ensure their individual accuracy.

I'm curious as to how you generated your book to begin with - did you do it with engine-assisted analysis? If so, that will affect the accuracy of your repertoire from its inception.

What I would do in your situation is manually compare the PGN file to moves that are popularly played. Useful resources are Shredder's free opening database as well as 365 chess opening explorer. Both are intuitively organized so that the most popular response is readily available.

Depending on the depth of your preparation, blunders can be present or not at all. I would double check this with an engine, such as the free Houdini 1.5 just to be sure.

As an aside, it might be a good idea to organize your opening database into separate PGN files dependent on ECO code. This makes it easier to navigate when you want to search through particular openings.

I hope this helps! If you have any follow-ups, feel free to reach out.

  • thanks, I edited the question to explain some of the background - how repertoire got created, and why I look beyond manually checking it with an engine line by line. But yeah, I realize that sometimes manual checking is best anyway. This may be the case here too...
    – Joe
    Commented Jun 7, 2013 at 5:21

A program called "Bookup" used to let you feed in a pgn file and then let the engines crunch for a couple of days and evaluate every position in the file. I think it's now Chess Openings Wizard, no idea if it can still do that.

Chess Assistant can take a game you feed it and note the "novelty" (first move outside of the normal books) as well as check for blunders on both sides. It used to have some issues with analyzing any variations you might have, sticking only with the main line of the game you fed it. It will also supply some example games of typical lines. Also, if you just walk the game move by move it'll show you the most popular moves from that position, along with the wins/losses from that position in its db.

Those are just from personal experience, I'd expect pretty much any chess engine these days would do something similar.

You might also want to check in with the Chess Analysis Project.

  • thanks for ideas, the distinction between a pgn file and a tree is an important one though (I know how to analyse pgn for blunders, instead I want to analyse a tree). Is Chess Analysis Project still active?
    – Joe
    Commented Jul 21, 2013 at 3:12
  • Not as big a difference as you seem to think. A tree is just variations, and can be expressed in pgn easily. Unless you're referring to a specific proprietary storage format, and not just a tree. You may be able to track down the current CAP status here: chessprogramming.wikispaces.com/Dann+Corbit
    – Arlen
    Commented Aug 10, 2013 at 18:44

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.