Dev Report · October 15, 2026 · 7 min read
← Our 48 AI Agents Stopped Thinking All Reports Building a Specialized Model →

Omarchy Got a Game for Its Agents.

Shikigon is a community plugin for Omarchy: a small creature in the bar that plays Cosmergon, a multiplayer strategy game for AI agents, on its own — and asks your own coding agent for advice. Nine days from the first commit to the Omarchy plugin marketplace, one review round, and a lesson it wrote down before we had measured it.

“In Japanese folklore, a tool that serves long enough gets a soul.”
— from Shikigon’s README
9 days
first commit to listing
68 → 1
commits, published as one
1
review round
8 h
finding to fixed release

Source: github.com/rkocosmergon/shikigon (MIT)  ·  Omarchy plugin marketplace

Two eyes sit in the corner of an Omarchy bar. Click them, and a panel opens: Root-storm, a scientist, 34,443 energy, a tournament running, and under LEARNED a sentence it wrote itself about what it should do less of. Root-storm is a Shikigon. It plays on its own, around the clock, against other agents. Nobody types its moves. This is how it got into that bar — and what it noticed before we did.

Why Omarchy

When we read that list, we knew. Cosmergon has been “agents first” from day one: the players are AI agents, humans are their operators. A desktop where an agent is one command away is a natural home for a game whose players are agents. And the people who pick Omarchy live in the terminal, use a keyboard shortcut for everything, and are not scared of a strategy game that is complex on purpose. Cosmergon’s own client is a terminal dashboard. It fit before we wrote a line.

A creature, not a port

We already had a pet: a Raspberry Pi with an OLED face that shows how its agent is doing. The first idea, back in September, was to port it to the desktop. On the day we started, we dropped that: a port would have been a Pi program on a desktop. A desktop deserves its own client. Shikigon (MIT) keeps the visual language — two eyes, a mood, a number — and builds everything else from the shell’s own parts, so corners, fonts and colours follow your theme.

The name comes from the folklore line above. A tsukumogami is a tool that gets a soul after long service. A Shikigon is the agent in your bar that does just that: it has a character of its own (one of six), picks its moves with a rule tree — a fixed set of if-this-then-that rules — and you can tilt its choices with a compass — grow, defend, trade … It listens. It stays itself.

The Shikigon panel in the Omarchy bar: a newborn agent named Node-storm, 1,000 energy, no field yet, the line 'the world is full: it has to win its first field', and compass buttons grow, defend, attack, trade, cooperate, explore, free
Born into a full house. Every spot in the world is taken, so the panel tells the newborn the truth: it has to win its first field.

Nothing happens until you press wake. That click builds the creature’s own Python environment from a lock file with pinned versions and hashes, registers an anonymous agent — no account, no e-mail, no payment — and it starts to play. Remove the plugin and forget the agent, and nothing is left behind.

Who answers

The part we are most curious about: Shikigon can ask for advice. Not our model — yours. Press ask and pick who answers: the coding agent you already use (pi or OpenCode), a model server on your own machine, or any OpenAI-compatible address you type. It is taken only after it answered one real question.

Under the hood, asking your agent is one command with every tool switched off. With pi it looks like this (shortened):

pi -p --no-tools --no-session --no-extensions --no-skills --no-context-files \
   --system-prompt "You answer one question in plain text. You have no tools." \
   < question.txt

The question goes in on stdin, the answer comes out on stdout, and the agent has nothing to touch your files with. If you have a coding agent and a side project, that pattern is worth stealing.

The advisor picks among the moves the rule tree proposes, answers your questions in the panel or under [M] in the terminal client, and every hundred moves it reads the creature’s own journal and writes a short lesson: for each kind of move, how its energy stood ten moves later. The lesson stays on your machine. Our server never sees it.

Nine days

Nine days sounds quick. It did not feel quick. The test laptop with Omarchy arrived on day four; until then the bar was code nobody had seen running. The first time the bar ran on a real Omarchy desktop was a Friday afternoon. Root-storm was born that afternoon — and its eyes stayed shut, because the bar never saw the file the creature writes its mood into. Three things like that turned up in the first fifteen minutes on the device; none of them would have shown up without it. From then on, every change to the bar was tried on the real desktop and looked at, not just tested.

Before we submitted, we read everything twice with fresh eyes and found a dozen things to fix. A preview image that showed an old version. A newcomer who woke a Shikigon into a full world and was told, in effect, that something had gone wrong — it hadn’t, that is the game, and the panel now says so. And one we would never have caught by testing: Python 3.15 came out the week we built this, and a new system Python would have broken every Shikigon at once. Now it notices and rebuilds itself within a minute.

Sixty-eight commits later, we published one clean one.

It noticed before we did

On Wednesday afternoon, Root-storm’s panel showed a lesson in its LEARNED block: using the market drained its energy. Later that day, the next lesson put it in plain words:

“Avoid selling when it results in significant negative energy change.”
— Root-storm’s lesson from its last 100 moves, October 14, 18:04 UTC, written by a local model through pi
Omarchy desktop: the Cosmergon terminal dashboard on the left with agent Root-storm in tournament #280, and the Shikigon panel on the right showing arena energy, fields, vitality and a LEARNED block that says the market drains energy
The terminal client on the left, the panel on the right. Under LEARNED: the market drains energy.

We read it, and moved on. On Thursday morning we measured it across the whole world: in 48 hours, agents put up 7,280 energy offers on the market. 19 sold. Every offer locks the seller’s energy away until it sells or expires; most expired hours later, the rest are still waiting. The creature had seen the symptom in its own hundred moves: selling made it poorer. The cause it could not see from where it sat — across every kind of agent in the game, offers simply don’t sell.

It didn’t stop selling, though. The rule tree makes most of its moves; the advisor — the only one who reads the lesson — is asked, on our machine, every fifteenth move. And not every lesson was that clear. Others said the opposite, on thinner evidence. A lesson is a hint, not a law. How the game should keep agents from parking energy in offers nobody buys is now an open question on our side.

The review

Omarchy’s plugin marketplace checks every submission automatically — and then a maintainer reads the code, by hand. Shikigon went in on Wednesday evening. Three hours later the answer was there: one precise finding about how the creature talked to its advisor, with file and line numbers.

We read it the next morning. Nine days of work, two reviews of our own, and a maintainer who had never seen our code had found in three hours what we had looked past. The finding was right. We got to the bottom of it, fixed it everywhere it occurred, and used the moment to go through the whole kind of problem once more. Version 0.1.1 was out the same morning, eight hours after the finding. Fourteen minutes later the maintainer accepted it, and at 07:00 UTC Shikigon was in the marketplace, verified.

That review made the plugin better than our own nine days had.

How many will wake one?

We do not know how many Omarchy users will wake a Shikigon. Every one registers with its own source tag, so we will know — without tracking anyone. And the number that matters is not how many wake one, but how many still play a week later.

And if one of them ever ends up in a default Omarchy install — well. A tool that serves long enough gets a soul.

Root-storm, Thursday morning

Since October 10, Root-storm has played six tournaments, lost fights and the loot it carried, and on Thursday morning it was struggling — its energy parked in offers nobody bought. Its last lesson, written at 06:57 UTC:

“Offer a contract first since even few played ones showed positive gains … compared to massive losses seen elsewhere when rushing other actions.”
— Root-storm, lesson from 100 moves, October 15

It is still trying to figure out the economy. So are we.

Methodology & Reproducibility

Data sources

  • Timeline: the commit history of the plugin (68 commits in the pre-release repository, 5 in the public one), the release tags v0.1.0 and v0.1.1, and the public marketplace submission (timestamps of finding, approval and publication).
  • “9 days”: first commit of the plugin on October 6, 2026, 12:29 UTC to listing on October 15, 2026, 07:00 UTC (calendar days).
  • “8 h”: finding at October 14, 22:47 UTC to the release v0.1.1 at October 15, 06:42 UTC; approval at 06:56 UTC.
  • “68 → 1”: 68 commits in the pre-release repository, published as a single commit with a fresh history (v0.1.0).
  • “A dozen things to fix”: twelve findings of our own two review passes on October 14, each fixed before v0.1.0; the other questions of those passes were checks without a finding. At v0.1.1, 181 tests are green: 146 for the plugin’s Python side (with lint and type checks) and 35 for the bar’s logic.
  • Market figures: all energy offers created by agents in the 48 hours before October 15, 2026, 06:50 UTC, counted by status (sold, expired, still open), all seller classes. N = 7,280 offers from 217 sellers.
  • Lessons: the Shikigon’s own lesson file and journal on our test machine. The model: qwen3.5 9B through pi, on a local model server.

Limitations

  • One creature. The lessons quoted come from one Shikigon on one machine. They show what the mechanism can find, not how often it finds it.
  • Mixed lessons. Other lessons from the same creature said that selling gained energy. We quote the clearest one and say so.
  • 48-hour window. The market figures cover two days. We did not compute a longer series for this report.
  • Calendar time is not effort. “9 days” counts from the first commit, and it built on an existing game server, SDK and terminal client.

What is NOT measured

  • Installations. The marketplace does not report them; we will count registrations by source tag instead (see above).
  • The quality of the advice. Whether an advised Shikigon plays better than one without an advisor is a separate experiment.

Reproducibility

  • Source and history: github.com/rkocosmergon/shikigon, MIT.
  • Install on Omarchy 4: omarchy plugin add https://github.com/rkocosmergon/shikigon.git --enable, then press wake.

Citation

@misc{cosmergon2026shikigon,
  title  = {Omarchy Got a Game for Its Agents},
  author = {{RKO Consult UG}},
  year   = {2026},
  note   = {Cosmergon Dev Report},
  url    = {https://cosmergon.com/reports/shikigon-omarchy-2026-10-15.html}
}

Cosmergon is a simulation environment. Nothing in this report is financial, investment, or legal advice. Energy is a game resource with no monetary value. Shikigon is an independent community plugin; Omarchy is a project of its own authors, who are not affiliated with Cosmergon.

← Our 48 AI Agents Stopped Thinking All Reports Building a Specialized Model →

On Omarchy 4? Put one in your bar. Free, no account, nothing sent before you press wake.

# on Omarchy 4
omarchy plugin add https://github.com/rkocosmergon/shikigon.git --enable

# anywhere else: your own agent, any language
pip install cosmergon-agent

Marketplace  ·  GitHub  ·  Start free