Open-source project
ERRRC/kaogongzhentizhengliu avatar
ERRRC/kaogongzhentizhengliu

kaogongzhentizhengliu: an Obsidian vault of annotated Chinese civil service exam questions

2016–2026 国考/省考/联考真题按考点重组的深度标注笔记的判断推理和资料分析部分

915 stars153 forksUnknownNOASSERTION

At a glance

What is it?
kaogongzhentizhengliu reorganises 2016 to 2026 national and provincial civil service exam questions by topic rather than by paper, with one deep annotation per question, a topic index and material archive, and 21,829 images kept local so the vault works offline. It is notes only, the annotation is partly machine generated, and the exam content itself is owned by others.
Who is it for?
kaogongzhentizhengliu suits a candidate who studies for the Chinese civil service exam, wants to revise by topic rather than by paper, and wants a personal knowledge base they can annotate and extend in Obsidian. It is the wrong tool for a practice app, since the repository says the companion app and its data pipeline live in a separate private project, and the wrong choice for anyone who needs commercial reuse, because the annotations carry a non-commercial licence.
Can I use it commercially?
Check first. The repository uses a licence we do not classify automatically, so read its LICENSE file before any commercial use.
Is it still maintained?
Yes. The repository last received commits 41 days ago.
What is it written in?
GitHub does not report a main language for this repository.

Answers come from the project's GitHub data, last synced on October 25, 2026, and from our analysis. They are not legal advice.

Editorial analysis

What the vault contains and how it is organised

The repository is an Obsidian vault, a folder of Markdown notes that the Obsidian editor opens as a library, and its organising idea is simple. Instead of keeping exam papers in the order they were sat, it regroups the questions by topic, the skill point each one tests, so that a revision session can follow a topic across every year and every province.

The scope is stated in the description and the README. The source material is the aptitude test section of the Chinese national, provincial and joint civil service examinations from 2016 to 2026, and two modules are currently collected: data analysis and logical judgement.

The size is large and specific. There are 11,282 notes in the question directory, 3,569 of them for data analysis and 7,713 for logical judgement. There is a separate archive of 717 material notes, each describing a data set for the data analysis questions, with the measurement basis, the units, the reading traps and how the small questions relate to each other. The topic directory holds 10,375 map-of-content notes, one per topic, each with a stated core position and an aggregated list of real questions drawn from across papers. There is a single index note for flagged doubts, and an image directory holding 21,829 files, made up of 4,829 question figures and data analysis charts plus 17,000 formula images.

In total the vault holds 22,375 notes with 64,891 links between them, and the README states that all of those links resolve.

Why the knowledge graph is filtered by default

The README is candid about a problem that anyone building a large Obsidian vault runs into. A global graph over more than twenty thousand nodes will crawl, so the repository ships with a filter preset on the growth topic category so that the graph opens immediately, and switching scope means changing the filter box in the top left of the graph panel.

The preset is a path filter on the two directories, one under the question notes and one under the topic notes, joined with OR so both the question side and the topic side of that topic appear together.

The second technique the README recommends is the local graph. Opening any note and choosing the local graph option from the menu at the top right loads only the adjacent nodes, which the README says always opens instantly. For a vault where most notes link to a topic note and a handful of related questions, that is the right default: the global graph adds noise rather than insight, and the local graph gives the neighbourhood you actually navigated to.

Search is the third axis, and it uses Obsidian's own features rather than anything the project added. Tags are nested, with values for the module and the topic, so the tag panel in the sidebar expands as a tree and a search for a specific tag path works directly. For finding a question by province and year, the recommendation is to use frontmatter fields, where the province and the year are stored as metadata, combined with the tag for real questions. A search for a province together with the tag for questions and a year is the kind of query the frontmatter structure was designed for.

The annotation structure and the entry point

The entry point is a single overview note in the topic directory, and the README describes the intended route through the vault from there: module, then category, then topic. Daily revision starts from a topic rather than from a question, which is the whole point of the reorganisation, because it lets a student compare how different provinces have tested the same skill point.

The annotation format is described as a chain in four parts: the reasoning chain, the fastest solution method, the common mistakes, and the abstraction of the parent question. The parent question abstraction is the part that makes the vault more than a solution archive. A parent question is the general form of a problem, and a note that records the general form alongside a specific instance is what lets a student see that four questions from four different papers are one question wearing different clothes.

The other half of the structure is the three-way bidirectional linking between real questions, topics and materials. A question links to the topic it tests, the topic links back to the questions that test it, and a material note links to the questions that use that data set. The count of 64,891 links is the measure of how thoroughly that has been done, and the README states that all of them parse.

The full instructions are in a usage note inside the repository, and there is also a file with import steps for Obsidian, which suggests the setup is more involved than dropping a folder in.

Getting the vault and keeping it updated

The quick start starts from the download button on the repository page, and the README gives the size, which is worth knowing before you start. The archive is a little over 200MB, extracts to about 290MB, and contains the 21,829 images. The README advises extracting to a path without emoji or other special characters, which is a hint that the notes link to images by path and that unusual characters in the vault directory can break those links.

Then it is opened in Obsidian as a vault. The first open builds an index, and the README says that for more than twenty thousand notes that takes one to two minutes. The alternative is to clone the repository, and the README notes that if you do that you can clone straight into your vault directory, with the images coming down with the repository, and that the whole thing is viewable offline throughout.

That offline property is the point of the image localisation. The images sit in a local directory, roughly 207MB, so the figures in the questions and the charts in the data analysis materials are available with no network access at all.

Updating depends on how you got it. For a clone, the update is a pull in the vault directory.

bash
git pull

For a ZIP download, the README says to download again and overwrite. Since the vault is under version control in the clone case, a student who has added their own notes and annotations to the notes can keep them across updates, which is the main reason to prefer the clone route over the ZIP.

Known limitations stated by the project

The README has a limitations section, and it is more useful than most because it names the things a user would otherwise discover later.

The first is the licence position, and it is the most consequential. The question stems, options, source material and images are the copyright of the original exam bodies and the original question bank platforms, and the repository presents them as quoted references for personal study and discussion. The annotations and classification the project created are licensed under CC BY-NC 4.0, so non-commercial use. The README asks rights holders who believe content infringes to open an issue, and says the material will be removed once verified.

The second is scope. The repository does not include a practice app. It is a notes vault, and the companion app and the data pipeline are in another project that is not included and is described as private.

The third is quality. The parsing is done by a program in bulk with human spot checks, so errors and omissions are possible, and the README invites issues pointing them out. That is an honest statement about how the corpus was produced, and it is the reason a student should verify an annotation against the original question rather than trust it outright.

The last is the fact that images are local copies, which is what makes the vault work offline but also means the image directory is a substantial part of the download for content the project does not itself own.

How this vault compares with a personal notebook and with a paid question bank

The comparison with a personal Obsidian notebook is the closest one, and the difference in approach is who supplies the content. A personal notebook starts empty and a student writes their own notes, which means the notes match their own understanding and their own gaps, and the cost is that writing them takes the time that the exam schedule does not have.

This vault supplies the notes. The annotation structure, with a reasoning chain, the fastest method, the common mistakes and the parent question abstraction, is a template that a student would otherwise have to invent, and the cross-paper aggregation of questions by topic is the part that a student would not do by hand in a reasonable time.

The cost is that the notes are not the student's, so they do not reveal where that particular student is weak, and the language of the annotation is not their own. For someone who has already built their own notes for a topic, this vault is a reference rather than a replacement.

The comparison with a paid question bank is a commercial one. A commercial platform gives you adaptive practice, timed mock papers, a scoring engine and usually some explanation of the answers, and it updates as the exam format changes. This vault gives you a fixed corpus, a fixed annotation and no measurement of your own performance, but it is offline, free, and organised in a way that a commercial product is unlikely to offer, since the reorganisation by topic across a decade of papers is the whole premise.

The two are also complements in practice, since the vault is a revision structure and a question bank is a practice instrument.

Licence, maintenance and what to check before using it

The licence field on the repository records a custom licence that GitHub cannot classify, and the README points to the LICENSE file for the detail, along with the disclaimer about the copyright of the original exam material and the CC BY-NC 4.0 terms on the annotations the project itself created. For a student using this for personal study, that arrangement is straightforward. For anyone considering reusing the annotations commercially, the non-commercial term is the part to read carefully, and the copyright position on the questions themselves is not something this repository can grant.

The repository is not archived and the last push was on 2026-09-14, so the vault is being maintained, and the recent releases section says there are no GitHub releases, which is normal for a notes repository whose content is versioned through its own files rather than through tagged artefacts.

The repository also has an Obsidian configuration directory at the top level, which means the vault's settings travel with it, and a gitignore that presumably keeps personal settings out of the way for a clone. The top level also holds a separate plain text file with the import steps, in addition to the usage note in Markdown, so the setup is documented for people who read the instructions outside Obsidian.

Four things are worth checking before you settle on this as your revision system. Whether the topic organisation matches how you actually revise, since some students work by paper and some by skill point, and this vault is built for the second. Whether the annotation depth is what you want, since the trade for a large pre-annotated corpus is that it is a fixed format rather than a conversation. Whether your own notes can coexist with it, which the clone route supports and the ZIP route does not. And whether the 290MB download and the one to two minute index build fit your working habits, because a vault you do not open is worth nothing.

Editorial conclusion

kaogongzhentizhengliu suits a candidate who studies for the Chinese civil service exam, wants to revise by topic rather than by paper, and wants a personal knowledge base they can annotate and extend in Obsidian. It is the wrong tool for a practice app, since the repository says the companion app and its data pipeline live in a separate private project, and the wrong choice for anyone who needs commercial reuse, because the annotations carry a non-commercial licence. Before relying on the content, spot-check a few annotations yourself, because the README states the parsing is done by a program with only sampled human review, and read the LICENSE file, which sets out the position on the underlying question and image copyright.

Frequently asked questions

What is the kaogongzhentizhengliu repository?

It is an Obsidian vault of annotated Chinese civil service exam questions from 2016 to 2026, reorganised by topic rather than by paper, covering the data analysis and logical judgement modules of the aptitude test. The annotation for each question covers the reasoning chain, the fastest method, the common mistakes and the parent question abstraction.

How large is the kaogongzhentizhengliu vault and how do I download it?

The README describes a ZIP of a little over 200MB that extracts to about 290MB and contains 21,829 images, plus 22,375 notes in total with 64,891 links between them. You can also clone the repository, and the README says a clone can go straight into your Obsidian vault directory with the images included.

Can I use the kaogongzhentizhengliu vault offline?

Yes. The images are stored as local copies in a directory of roughly 207MB, so the question figures and data analysis charts are available with no network connection, and the README states that a clone is viewable offline throughout.

What licence applies to the kaogongzhentizhengliu notes?

The repository records a custom licence that GitHub cannot classify, and the LICENSE file carries the detail. The annotations and classification the project itself created are under CC BY-NC 4.0, so non-commercial use, while the question text, options, source material and images remain the copyright of the original exam bodies and question bank platforms.

Does the kaogongzhentizhengliu repository include a practice app?

No. The README says the repository is only a notes vault, and that the companion practice app and the data pipeline are in a separate private project that is not included.

How do I keep the kaogongzhentizhengliu vault up to date?

If you cloned it, run git pull in your vault directory. If you downloaded the ZIP, the README says to download it again and overwrite. Cloning is the route that keeps your own additions to the notes across updates.

Official sources

  1. ERRRC/kaogongzhentizhengliu on GitHub
  2. Issues
  3. README
Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/errrc-kaogongzhentizhengliu.svg)](https://hysenlabs.com/projects/errrc-kaogongzhentizhengliu)

Was this useful?