Agent skill

Md Tick Profiler

by MillenniumDawn in 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.

CC-BY-SA-4.0Auto-check: notesDevelopment

Install Md Tick Profiler

skills CLI
$ npx skills add MillenniumDawn/Millennium-Dawn --skill md-tick-profiler -a claude-code

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

GitHub CLI
$ gh skill install MillenniumDawn/Millennium-Dawn md-tick-profiler --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/md-tick-profiler .claude/skills/md-tick-profiler && 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
md-tick-profiler
GitHub stars
139
Token cost
~816 tokens
SKILL.md length
367 words
Files
2 (incl. references)
Skills in repo
24
Repo updated
First seen
Licence
CC-BY-SA-4.0

At a glance

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.

  • Any question about MD performance
  • SKILL.md covers What an op is, Flamegraph, Text report and Spot checks, plus 2 more sections
  • Calls python
  • Why the game is slow

What it does

Md Tick Profiler is an agent skill from 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. Use for any question about MD performance, lag, tick cost, onactions, or why the game is slow, even without the word "profiler".

Its SKILL.md is about 820 tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files, including reference files (for example `references/reading-the-flamegraph.md`).

It sits in Development, covering Performance optimization. The repository describes itself as: Millennium Dawn and it's codebase. The licence is CC-BY-SA-4.0.

When your agent uses it

  • Any question about MD performance
  • Why the game is slow
  • Even without the word profiler

Example prompts

  • “profiler”
  • “/md-tick-profiler”

Requirements

  • Python 3
  • Pre-approved tools (allowed-tools): Bash, Read

What it can do on your machine

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

  • Tool permissions

    Pre-approves these tools, so the agent can use them without asking each time:

    • Bash
    • Read

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • python

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

  • Network

    No URLs in SKILL.md.

    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

Md Tick Profiler loads about 816 tokens when it runs, and up to ~1.7k if it reads all its reference files. Until then it costs about 80 tokens; SKILL.md has 367 words of instructions outside code blocks.

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

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: notes

The automated check noted patterns worth knowing about, such as sudo or a known installer.

  • NotePre-approves every shell command (allowed-tools: Bash)SKILL.md
    allowed-tools: Bash, Read

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 5abce3e, republished under its CC-BY-SA-4.0 licence (© MillenniumDawn). 367 words, ~816 tokens.

Download SKILL.mdSave it as .claude/skills/md-tick-profiler/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.
name
md-tick-profiler
description
Profile MD's recurring per-tick scripted workload (the daily/weekly/monthly on_action hooks and everything they run) as a flamegraph sized by script ops, plus a text report. Use for any question about MD performance, lag, tick cost, on_actions, or why the game is slow, even without the word "profiler".
allowed-tools
Bash, Read
user-invocable
true

MD Tick Profiler

tools/analysis/tick_audit.py reconstructs, statically, what each recurring tick runs. The game's own profile console command measures real time for a bounded workload. They answer different questions. Use the static report to find what to measure, and native timing to confirm a change matters.

What an op is

Say this to the user. An op is one scripted statement: set a variable, check a condition, fire an event, call an effect. A node's count is its own statements plus everything it calls. More ops means more work per tick. It is a proxy for cost, not measured milliseconds.

The output is a call tree, not a call graph. An effect called from three hooks is counted under all three, so tree totals exceed the flat per-hook numbers. That is expected.

Flamegraph

Write to a temp path, then open the HTML (xdg-open, open, or start ""):

bash
python tools/run.py tick_audit --flamegraph "$TMPDIR/md_ticks.html" --tree "$TMPDIR/md_ticks.json"

The tree runs root, cadence, on_action hook, scripted effects, then the events and decisions those fire. Each node is sized by ops and links to its file:line.

Read the --tree JSON and tell the user the heaviest one or two hooks per cadence. Each cadence's children are sorted heaviest first. Name the file and line.

The user can click a row to expand it, click a file:line to open it in VS Code, and type in the filter box (a tag, a system, an event namespace) to collapse the tree to matching nodes.

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

Text report

For exact lists:

bash
python tools/run.py tick_audit
python tools/run.py tick_audit --list hooks --cadence weekly
python tools/run.py tick_audit --list events --cadence monthly
python tools/run.py tick_audit --list decisions --limit 0
python tools/run.py tick_audit --tag USA

Spot checks

bash
python tools/run.py tick_audit --spot-check
python tools/run.py tick_audit --spot-check common/on_actions --fail-on high
python tools/run.py tick_audit --spot-check common/decisions --format json

Findings carry execution context: a daily global loop ranks above a monthly tagged loop, focus completion is one-shot, and startup loops are suppressed.

Accuracy

The analysis counts only work reachable from a real recurring hook. It does not treat an event as recurring because it exists, and it does not attribute events fired inside shared, tag-gated effects to every country. Those count as ops, not as fires. When the user asks whether something really fires, say this and open the file:line.

Before explaining why a number looks the way it does, read references/reading-the-flamegraph.md.

Native spot tests

For a before and after measurement, use profile with the same save, game speed, map position, open UI, and observation window. Repeat the sample before concluding.

© 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 1 other file (references) in .claude/skills/md-tick-profiler of MillenniumDawn/Millennium-Dawn.

  • SKILL.md
  • references/reading-the-flamegraph.md

Open the folder on GitHubat commit 5abce3e

Compare with similar skills

Md Tick Profiler 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.

Md Tick Profiler compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Md Tick Profiler this skillMillenniumDawn/Millennium-Dawn139—~816Automated safety check: NotesCC-BY-SA-4.0
Code Review ChecklistshareAI-lab/learn-claude-code78k5 repos~1.1kAutomated safety check: PassMIT
LLM Torch Profiler Analysissgl-project/sglang37k2 repos~6.4kAutomated safety check: PassApache-2.0
Pycrazyguitar/pysheeet8.2k—~886Automated safety check: PassMIT
Cmux Debugging Guidemanaflow-ai/cmux28k1 repos~1.1kAutomated safety check: PassCustom licence
Electron Heap Snapshot Analysiskeybase/client9.3k—~875Automated safety check: PassBSD-3-Clause

Similar skills

  • Code Review Checklist

    shareAI-lab/learn-claude-code

    Reviews code against a five-part checklist covering security, correctness, performance, maintainability and testing, and reports findings in a fixed format.

    78k GitHub starsUsed in 5 repos~1.1k tokens
    DevelopmentAuto-check passed
  • LLM Torch Profiler Analysis

    sgl-project/sglang

    Unified LLM torch-profiler triage skill for sglang, vllm, TensorRT-LLM, and TokenSpeed.

    37k GitHub starsUsed in 2 repos~6.4k tokens
    DevelopmentAuto-check passed
  • Py

    crazyguitar/pysheeet

    Comprehensive Python programming reference covering syntax, concurrency, networking, databases, ML/LLM development, and HPC.

    8.2k GitHub stars~886 tokensUpdated 2 days ago
    DevelopmentAuto-check passed
  • Cmux Debugging Guide

    manaflow-ai/cmux

    Covers debug logging, the Debug menu, profiling rules and runtime pitfalls for working on the cmux macOS terminal app.

    28k GitHub starsUsed in 1 repo~1.1k tokens
    DevelopmentAuto-check passed
  • Analyzes V8, Chrome and Electron .heapsnapshot files with Node scripts to find memory leaks, detached DOM nodes and the retainer paths that keep objects alive.

    9.3k GitHub stars~875 tokensUpdated today
    DevelopmentAuto-check passed
  • Runs controlled JMH experiments on the Caffeine cache to find shared contention and hot-path waste, then reviews correctness and returns a reviewable patch.

    18k GitHub stars~2.6k tokensUpdated today
    DevelopmentAuto-check: notes

More from MillenniumDawn/Millennium-Dawn

All 24 skills in this repo
  • Country AI Path

    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.

    139 GitHub stars~2.5k tokensUpdated today
    Auto-check passed
  • 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.

    139 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.

    139 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.

    139 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.

    139 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.

    139 GitHub stars~739 tokensUpdated today
    Auto-check passed

Categories

Questions about Md Tick Profiler

What does Md Tick Profiler do?

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. Md Tick Profiler is an agent skill from 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.

When should I use Md Tick Profiler?

Md Tick Profiler fits situations like: any question about MD performance; why the game is slow; even without the word profiler.

How do I install Md Tick Profiler in Claude Code?

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

How do I install Md Tick Profiler in Codex?

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

Can I use Md Tick Profiler 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 md-tick-profiler -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/md-tick-profiler, .gemini/skills/md-tick-profiler, .github/skills/md-tick-profiler and .opencode/skills/md-tick-profiler in your project.

What does Md Tick Profiler need to run?

Going by SKILL.md and its folder, Md Tick Profiler needs the command-line tools its instructions call (python). Our summary lists: Python 3. Its frontmatter pre-approves these tools: Bash, Read.

Does Md Tick Profiler access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Md Tick Profiler safe to install?

Our automated static check of SKILL.md found notes only (pre-approves every shell command (allowed-tools: bash)), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.

What licence does Md Tick Profiler use?

Md Tick Profiler 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 Md Tick Profiler use?

About 816 tokens (SKILL.md is roughly 3.3k 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 925 tokens, read only when the agent opens those files.

What are the alternatives to Md Tick Profiler?

Skills that share tags, products or a category with Md Tick Profiler: Code Review Checklist (shareAI-lab/learn-claude-code, 78k stars), LLM Torch Profiler Analysis (sgl-project/sglang, 37k stars), Py (crazyguitar/pysheeet, 8.2k stars) and Cmux Debugging Guide (manaflow-ai/cmux, 28k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Md Tick Profiler?

MillenniumDawn (a GitHub organization) maintains it in MillenniumDawn/Millennium-Dawn, which has 139 GitHub stars. The repository holds 24 skills in this directory. The repository was last updated on October 9, 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.