Agent skill

Country AI Path

by MillenniumDawn in MillenniumDawn/Millennium-Dawn

Build or standardise one country's TAGaibehavior AI path game rule — write the rule options and loc, wire the global flags, own the focus weights, run the AI hardening pass, and open the PR.

CC-BY-SA-4.0Auto-check passed

Install Country AI Path

skills CLI
$ npx skills add MillenniumDawn/Millennium-Dawn --skill country-ai-path -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install MillenniumDawn/Millennium-Dawn country-ai-path --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/MillenniumDawn/Millennium-Dawn.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/country-ai-path .claude/skills/country-ai-path && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
country-ai-path
GitHub stars
140
Token cost
~2.5k tokens
SKILL.md length
1,371 words
Files
3 (incl. references)
Skills in repo
24
Repo updated
First seen
Licence
CC-BY-SA-4.0

At a glance

Build or standardise one country's TAGaibehavior AI path game rule — write the rule options and loc, wire the global flags, own the focus weights, run the AI hardening pass, and open the PR.

  • Works in 6 steps: Target → Facts → Design → …
  • Asked to give a country AI paths
  • SKILL.md covers Context budget, 1. Target, 2. Facts and 3. Design, plus 4 more sections
  • Calls python and git

What it does

Country AI Path is an agent skill from MillenniumDawn/Millennium-Dawn. Build or standardise one country's TAGaibehavior AI path game rule — write the rule options and loc, wire the global flags, own the focus weights, run the AI hardening pass, and open the PR. Use when asked to give a country AI paths or fix its AI path rule, e.g. "/country-ai-path KOS" or "/country-ai-path Kosovo 1234".

Its SKILL.md is about 2.5k tokens, which your agent loads only when the skill is triggered. The skill folder holds 3 other files, including reference files (for example `references/audit.md` and `references/write.md`).

The repository describes itself as: Millennium Dawn and it's codebase. The licence is CC-BY-SA-4.0.

When your agent uses it

  • Asked to give a country AI paths
  • Fix its AI path rule

Example prompts

  • “/country-ai-path KOS”
  • “/country-ai-path Kosovo 1234”
  • “/country-ai-path”

Requirements

  • Python 3

Workflow steps

6 steps, taken from the step headings in SKILL.md.

  1. Target
  2. Facts
  3. Design
  4. Write
  5. Verify
  6. Finish

What it can do on your machine

Read from SKILL.md and the folder at commit eef3a54. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • python
    • git

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use git, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Country AI Path loads about 2.5k tokens when it runs, and up to ~9.1k if it reads all its reference files. Until then it costs about 85 tokens; SKILL.md has 1,371 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~85
When it runs · the whole SKILL.md, loaded when a task matches
~2.5k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~9.1k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from MillenniumDawn/Millennium-Dawn at commit eef3a54, republished under its CC-BY-SA-4.0 licence (© MillenniumDawn). 1,371 words, ~2,522 tokens.

Download SKILL.mdSave it as .claude/skills/country-ai-path/SKILL.md (or your agent's skills folder). This skill also uses 2 other files; get the full folder from GitHub.
name
country-ai-path
description
Build or standardise one country's TAG_ai_behavior AI path game rule — write the rule options and loc, wire the global flags, own the focus weights, run the AI hardening pass, and open the PR. Use when asked to give a country AI paths or fix its AI path rule, e.g. "/country-ai-path KOS" or "/country-ai-path Kosovo #1234".
disable-model-invocation
true

Give one country a working AI path game rule, one country per chat. Works for a country that has a rule to standardise and for one that has none yet.

Syntax: /country-ai-path <country or TAG> [#issue] — e.g. /country-ai-path KOS, /country-ai-path Kosovo #1234. The country is required; an issue number is optional. Requested arguments: $ARGUMENTS

Context budget

Focus trees run 8k–42k lines. Never read one end to end, and never open another country's tree to learn a shape. Everything you need about the tree comes from ai_path_report.py; grep for the specific lines it names. Templates for every artefact are in references/write.md.

1. Target

Resolve the argument to a TAG: a three-letter argument is the TAG; a name is looked up in common/country_tags/ and localisation/english/ (TAG: "Name"). No argument, or an ambiguous name — ask, don't guess. If the user names an issue, read it: its body lists the country's known defects and goes into the PR as Closes #N.

Branch <tag-lower>-ai-paths off main.

2. Facts

bash
python tools/analysis/ai_path_report.py --tag TAG

The first line of the report decides which of three shapes you are in:

  • Rule exists. Standardise it (§3–§5). The report's RULE / WIRING section lists what deviates.
  • no TAG_ai_behavior rule, tree found. Build the rule from nothing: every artefact in references/write.md §1–§7, in that order. The report still audits the tree, the flags you add and the country's own mechanics, so re-run it after each artefact.
  • no focus file found for tag TAG. The country has no path layer to own. If a rule exists it is removed, not converted (São Tomé #3702, Solomon Islands #4266 are the shape): delete the TAG_ai_behavior block and its TAG_AI_BEHAVIOR / RULE_OPTION_* keys from MD_game_rules_l_english.yml, then strip every has_game_rule read from the country's events — keep factor = 5 is_historical_focus_on = yes on the historical option of each fork and any situational flavour modifier, drop factor = 1 no-ops and the is_historical_focus_on = no coin-flip nudges, and delete an ai_chance block with no modifier left. Non-English files keep their orphaned keys. If no rule exists either, say so and stop — a rule needs a tree to steer. Sections 3–5 do not apply; verify with the grep set in §5 and validate_events.py / validate_localisation.py, and say in the PR that the report does not apply.

The report decides every mechanical question: rule and loc conformance, flag wiring, which focuses carry path modifiers and whether they are multiplicative, path flags that appear nowhere, killswitch orphans per rule state × historical AI on/off, mutex ties, focus_factors disagreements, dangerous completion rewards, and the country's own mechanics — the burdens its history file hands it, what relieves each, which burdens go unrelieved in some rule state, and whether each country GUI is decision-backed or player-only. Read references/audit.md after the report — it covers only the judgment the report cannot make.

3. Design

The judgment calls: which fork axis and how many options, whether each branch root is reachable by something the AI can satisfy, whether party drift smothers the ramp, what must be killswitched. Derive the fork from the prerequisite graph and each side's available, never from the option names. Where the report is ambiguous about branch structure, dispatch one Explore subagent for the taxonomy — it returns the taxonomy, not file contents.

4. Write

Every artefact from references/write.md. Focus weights are not written by hand: author the mapping and run

bash
python tools/standardization/apply_ai_path_weights.py --tag TAG --map <mapping>

Loc drafting and _desc sentence-count fixes go to a localisation-editor subagent on haiku.

Defects you find are in scope. A broken fork, a timing race between the country's own path events, an asymmetric branch, a wrong state id, or a typo in an English string the path events show gets fixed in the same PR, in its own commit, never deferred as a follow-up. English values only — never rename a key that non-English files carry.

Rule standard. Exactly HISTORICAL + one option per alt-history path + RANDOM_PATH + NO_PATH, and NO_PATH is the default = { } block, listed last — a country the player never configures runs unscripted. No DEFAULT, no RANDOM; merge any duplicate DEFAULT/HISTORICAL. Write the options fresh — don't recycle a stub's names or bucket count. The historical option's displayed text is literally "Historical"; its _desc carries the country's history. Player-facing names, no internal jargon, no "random" in a path name. Every _desc exactly two sentences, present tense about the country, no hard dates, §8…§! on party names. Both files are ordered alphabetically by displayed country name: a new rule block goes at that position in 00_game_rules.txt, its loc block at the same position in MD_game_rules_l_english.yml, and a country sub-rule (BLR_union_state_ai_behavior is the shape) sits directly after the country's main rule in RULE_GROUP_AI_BEHAVIOR.

Wiring. Rule → set_global_flag = TAG_<PATH>_FOCUS_PATH in 999_game_rules_on_actions.txt. RANDOM_PATH's random_list includes the historical bucket; NO_PATH gets no branch. Convert country flags to global. Gate on has_global_flag, never has_game_rule, everywhere including events and strategy plans — otherwise a RANDOM roll enables the flags but not the plan. Verify NO_PATH leaves a working AI: an unconditionally-enabled strategy plan and a sane focus ai_will_do base.

Historical government. Read the report's government section. On a dated timeline verdict, write the walker (references/write.md §8) and its 00_yearly_effects.txt schedule lines, so historical AI delivers the historical head of government and not just the historical party. On an undated successor roster, write nothing and say so in the PR — the ramp decisions already deliver the party, and a walker over an undated roster installs the wrong person. Never pass change_leader_temp = 1; never inline create_country_leader.

Show full SKILL.md (484 more words)Show less

AI hardening pass, mandatory. ai_is_threatened weighting on combat-capacity focuses (.claude/docs/ai-strategy-reference.md, "Threat and unit caps"); bankruptcy / can_staff guards on spending focuses (run tools/validation/validate_focus_tree.py --path . first — it may already be clean, and it flags guards on focuses that spend nothing). The pass lives in focus weights, available and guards only: write no common/ai_strategy/ war block — the general war-goal declaration suite already covers it (references/write.md §7). Under historical AI the AI must stick to history: killswitch non-historical branch roots, boost the historical branch.

The country must also stay able to fix itself. Every burden it starts with keeps a live cure in every rule state you leave standing — if killswitching a branch takes the last one, re-own the cure focus or exempt it. Where a burden's only relief is a player-only mechanic, an is_ai = no decision or a base = 0 one, give the AI the same outcome through its TAG_ai_path_category (references/write.md §6). Crisis focuses get a real weighting modifier, not the default base.

5. Verify

Re-run ai_path_report.py --tag TAG: 0 orphans in every state, no additive path modifiers, no unreferenced flags, rule and wiring clean, a clean mechanics section (no burden whose cures are all dead in a state, no cure focus at flat base, no AI-untakeable cure decision left without an AI route; the nothing relieves line is inventory, not a failure — say in the PR which entries you judged bonuses), and a clean government section (every walker branch asserts an in-range roster index, no change_leader_temp, no unbounded party change, every scheduled date resolves to the person history had). Then validate_focus_tree.py --path ., validate_ai_path_rules.py --no-color (the country must no longer appear), and validate_decisions.py warning-group counts against a stashed baseline.

Then git diff main --stat -- common/ai_strategy/ must be empty. Any added file or block is deleted before the PR, whatever its enable names.

6. Finish

Changelog: Changelog.txt carries one shared line under the current version's Content:, - Country AI path game rules standardised to Historical / alternate paths / Random Path / No Path: TAG, TAG. Append your TAG to it; create the line if the version has none. No per-country line.

PR body in the /open-pr BLUF format and nothing else: ## Bottom line with the player-visible outcome, no file paths, commit hashes, tables or testing section, then Closes #N when the user gave an issue, then BLUF. Keep the body under ten lines. Create the PR, or update title/body if one exists, and report the URL.

House rules

  • Zero comments in every file you touch — .txt, .yml, Python. Don't carry one over from a template, and don't add one to explain a killswitch, flag, weight or path. Delete any sitting inside a block you rewrite.
  • Countries converted before this standard carry older shapes (_AI_FOCUS flags, evocative historical titles); don't copy them, and don't open their files to learn a shape.
  • git diff before the PR and revert anything out of scope, including whitespace noise. Scope hooks with pre-commit run --files <paths>.

© MillenniumDawn, CC-BY-SA-4.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 2 other files (references) in .claude/skills/country-ai-path of MillenniumDawn/Millennium-Dawn.

  • SKILL.md
  • references/audit.md
  • references/write.md

Open the folder on GitHubat commit eef3a54

Compare with similar skills

Country AI Path next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Country AI Path compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Country AI Path this skillMillenniumDawn/Millennium-Dawn140—~2.5kAutomated safety check: PassCC-BY-SA-4.0
Review Tagshashicorp/terraform-provider-aws11k—~462Automated safety check: PassMPL-2.0
Noscript Tagthedaviddias/Front-End-Checklist74k—~554Automated safety check: PassMIT
Og Tagsthedaviddias/Front-End-Checklist74k—~495Automated safety check: PassMIT
Tag Duplicate PRs Issuesopenclaw/openclaw392k—~4kAutomated safety check: PassMIT
Tag Gardengnekt/My-Brain-Is-Full-Crew3.9k—~2.1kAutomated safety check: PassCustom licence

Similar skills

  • Review Tags

    hashicorp/terraform-provider-aws

    Official

    Review Terraform AWS Provider tagging: the tags/tagsall schema attributes, the @Tags(identifierAttribute=...) annotation, and wiring input.Tags = getTagsIn(ctx) after flex.Expand.

    11k GitHub stars~462 tokensUpdated yesterday
    DevOps & CloudAuto-check passed
  • Noscript Tag

    thedaviddias/Front-End-Checklist

    A skill your agent uses when reviewing templates, rendered HTML, or shared components related to Provide noscript fallback content.

    74k GitHub stars~554 tokensUpdated 4 days ago
    Auto-check passed
  • Og Tags

    thedaviddias/Front-End-Checklist

    A skill your agent uses when auditing a web page's social sharing metadata.

    74k GitHub stars~495 tokensUpdated 4 days ago
    Auto-check passed
  • Tag Duplicate PRs Issues

    openclaw/openclaw

    Use gitcrawl to search duplicate OpenClaw PRs/issues, group related work in prtags, and sync duplicate state to GitHub.

    392k GitHub stars~4k tokensUpdated today
    Research & ScienceAuto-check passed
  • Tag Garden

    gnekt/My-Brain-Is-Full-Crew

    Analyze all vault tags: find unused, orphan, near-duplicate, over-used, and under-used tags.

    3.9k GitHub stars~2.1k tokensUpdated 3 mo ago
    Productivity & AutomationAuto-check passed
  • Remove bracketed NemoClaw tags from GitHub issue and PR titles.

    23k GitHub stars~693 tokensUpdated today
    Marketing & SEOAuto-check passed

More from MillenniumDawn/Millennium-Dawn

All 24 skills in this repo
  • Md Tick Profiler

    MillenniumDawn/Millennium-Dawn

    Profile MD's recurring per-tick scripted workload (the daily/weekly/monthly onaction hooks and everything they run) as a flamegraph sized by script ops, plus a text report.

    140 GitHub stars~816 tokensUpdated today
    Auto-check: notes
  • Add Leader

    MillenniumDawn/Millennium-Dawn

    Scaffold generals, field marshals, and admirals for a country using the MD count formulas and region skill ranges, writing character and recruitcharacter entries.

    140 GitHub stars~717 tokensUpdated today
    Auto-check passed
  • Additional Income

    MillenniumDawn/Millennium-Dawn

    Wire a country-specific income or expense stream into the MD money system: calculation block, hidden tooltip idea, loc key, and granting effect.

    140 GitHub stars~664 tokensUpdated today
    Auto-check passed
  • Dev Diary Mdx

    MillenniumDawn/Millennium-Dawn

    Convert a Millennium Dawn dev diary .docx into a publish-ready .mdx for the docs site: frontmatter, headers, and images placed in reading order, with the author's voice preserved.

    140 GitHub stars~958 tokensUpdated today
    Auto-check passed
  • Fix Issue

    MillenniumDawn/Millennium-Dawn

    Find an actionable open GitHub issue (or take an issue number or quoted task), implement the fix, commit, update the changelog, and open or update a PR.

    140 GitHub stars~988 tokensUpdated today
    Auto-check passed
  • New Namelist

    MillenniumDawn/Millennium-Dawn

    Scaffold division name lists, ship hull names, ship class design names, and air wing name blocks for a country.

    140 GitHub stars~739 tokensUpdated today
    Auto-check passed

Questions about Country AI Path

What does Country AI Path do?

Build or standardise one country's TAGaibehavior AI path game rule — write the rule options and loc, wire the global flags, own the focus weights, run the AI hardening pass, and open the PR. Country AI Path is an agent skill from MillenniumDawn/Millennium-Dawn. Build or standardise one country's TAGaibehavior AI path game rule — write the rule options and loc, wire the global flags, own the focus weights, run the AI hardening pass, and open the PR.

When should I use Country AI Path?

Country AI Path fits situations like: asked to give a country AI paths; fix its AI path rule.

How do I install Country AI Path in Claude Code?

Run `npx skills add MillenniumDawn/Millennium-Dawn --skill country-ai-path -a claude-code`. Or copy the skill folder (.claude/skills/country-ai-path in MillenniumDawn/Millennium-Dawn) into .claude/skills/country-ai-path in your project. Claude Code loads it when a task matches its description.

How do I install Country AI Path in Codex?

Run `npx skills add MillenniumDawn/Millennium-Dawn --skill country-ai-path -a codex`. Or copy the skill folder (.claude/skills/country-ai-path in MillenniumDawn/Millennium-Dawn) into .agents/skills/country-ai-path in your project. Codex loads it when a task matches its description.

Can I use Country AI Path in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add MillenniumDawn/Millennium-Dawn --skill country-ai-path -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/country-ai-path, .gemini/skills/country-ai-path, .github/skills/country-ai-path and .opencode/skills/country-ai-path in your project.

What does Country AI Path need to run?

Going by SKILL.md and its folder, Country AI Path needs the command-line tools its instructions call (python and git). Our summary lists: Python 3.

Does Country AI Path access the network?

SKILL.md contains no URLs. Its commands use git, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Country AI Path safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Country AI Path use?

Country AI Path is published under the CC-BY-SA-4.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Country AI Path use?

About 2.5k tokens (SKILL.md is roughly 10k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 6.6k tokens, read only when the agent opens those files.

What are the alternatives to Country AI Path?

Skills that share tags, products or a category with Country AI Path: Review Tags (hashicorp/terraform-provider-aws, 11k stars), Noscript Tag (thedaviddias/Front-End-Checklist, 74k stars), Og Tags (thedaviddias/Front-End-Checklist, 74k stars) and Tag Duplicate PRs Issues (openclaw/openclaw, 392k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Country AI Path?

MillenniumDawn (a GitHub organization) maintains it in MillenniumDawn/Millennium-Dawn, which has 140 GitHub stars. The repository holds 24 skills in this directory. The repository was last updated on October 11, 2026.

Source: MillenniumDawn/Millennium-Dawn on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.