content-review
SkillFiles & storageCheck a file or the branch diff against the full MD content review checklist (economic, political, visual, military, AI, code) with blocker tags. Use when asked to content-review country content or verify content-guideline compliance before merge.
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the content-review skill
What this skill tells your AI
The instructions your AI receives, as published by millenniumdawn/millennium-dawn in .claude/skills/content-review/SKILL.md and read by ahel’s review.
Run the full Millennium Dawn content review checklist against a file or the current branch diff.
Syntax: /content-review [file_path]
- With
file_path: review that specific file against all content guidelines. - Without argument: review all changed files on the current branch against
main.
The authoritative checklist lives in docs/src/content/resources/content-review-guide.md and docs/src/content/resources/new-general-guidelines.md. Read both before starting if not yet read this session. The condensed .claude/docs/content-guidelines.md is a quick summary but not exhaustive; always defer to the full docs.
Execution
1. Gather context
File mode (path provided):
- Read the file and identify its type (focus tree, events, characters/generals, OOB, decisions, etc.).
- Read
docs/src/content/resources/content-review-guide.md,docs/src/content/resources/new-general-guidelines.md, and.claude/docs/content-guidelines.md.
Branch mode (no argument):
- Run
git diff origin/main...HEADandgit log origin/main..HEAD --oneline. - Identify the changed files and their types.
- Read
docs/src/content/resources/content-review-guide.md,docs/src/content/resources/new-general-guidelines.md, and.claude/docs/content-guidelines.md.
2. Apply the checklist
For each file in scope, check the categories in .claude/docs/content-guidelines.md (Economic, Political, Visual, Military, AI, Code, Variety, Miscellaneous). Skip categories that don't apply to the file type (no admiral counts in a decisions file, no building costs in a character file).
For focus-tree files, run the Variety check as a cross-comparison, not in isolation: pick a reference tree known for variety (Iran common/national_focus/05_iran.txt, Spain common/national_focus/05_spain.txt) and judge reward-shape diversity against it. A tree can pass every balance check and still be formulaic. See .claude/docs/content-guidelines.md → Variety & Anti-Formulaic Content.
Detection notes
Three failure classes that spot-checking reliably undercounts. Sweep the whole file for these, don't sample:
- Treasury double-charge (block-aware). MD's self-charging build effects (
one_random_arms_factory,one_random_industrial_complex,two_random_*,one_random_infrastructure,one_office_construction, and similar incommon/scripted_effects/) already deduct treasury internally unlessset_temp_variable = { skip_payment = 1 }is set beforehand. A focus that calls one of these and adds an explicitset_temp_variable = { treasury_change = -X } modify_treasury_effect = yeswith noadd_building_constructionto justify the second charge pays twice. Distinguish from the legitimate pattern: a raw non-charging engine effect (add_building_construction) paired with one explicit charge is correct. Grep every focus that calls a self-charging effect and check each for a redundant explicit charge; per-branch sampling misses most of them. - Loc completeness checks referenced keys, not just new ones. Verify that every
tooltip = <key>, idea key, and modifier_ttkey referenced from the tree resolves inlocalisation/english/, not merely that the diff's newly-added keys resolve. A modernization pass routinely references a generic_ttkey that never existed, and a diff-only check will not catch it. - Dynamic-modifier first-add guard, per reachable path. A focus that does
add_dynamic_modifierwithout aNOT = { has_dynamic_modifier = { modifier = X } }guard double-applies when a second focus in the same plan adds the same modifier. Check everyadd_dynamic_modifieragainst all other focuses reachable in the same branch, not just the one focus in front of you.
3. Output
For each file reviewed, report:
- File: path and file type.
- Issues: numbered list with category labels (
[Economic],[Political],[Visual],[Military],[AI],[Code],[Variety],[Misc]) and line numbers where applicable. - Mark anything that must be fixed before merge as [blocker].
End with a total issue count per category, or "No content issues found."
Signals
- GitHub stars
- 122
- Forks
- 84
- Last commit
- Sep 2026
Advanced
- Catalog kind
- skill
- Gateway key
content-review- Source
- github.com/millenniumdawn/millennium-dawn