Model or dataset
aeonfun/aeon avatar
aeonfun/aeon

Aeon: a SKILL.md-driven agent framework that runs on GitHub Actions cron

The most autonomous AI agent framework: runs unattended on GitHub Actions, self-healing skills, drives Claude Code, Grok, Codex & more. No approval loops. Configure once, forget forever.

732 stars263 forksTypeScriptMIT

At a glance

What is it?
Aeon turns a Markdown prompt file into a scheduled, unattended agent run on GitHub Actions, with nine interchangeable agent CLIs behind one harness contract. It is a good fit if you want work to happen without an approval step, and the wrong tool if you need a human gate before anything ships.
Who is it for?
Adopt Aeon if you already run a public repository, want scheduled agent work to happen without an approval step, and are comfortable reading TypeScript and GitHub Actions workflow files before you trust them. Do not adopt it if your repository is private, if you need a human to review each diff before it ships, or if you cannot grant a workflow write access to your own code.
Can I use it commercially?
Yes. MIT is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
Is it still maintained?
Yes. The repository last received commits 1 day ago.
What is it written in?
Mainly TypeScript, according to GitHub's language statistics.

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

DEEP OPEN-SOURCE ANALYSIS

What Aeon actually schedules, and for whom

Aeon is aimed at people who want a repository to keep producing work while nobody is watching it. The README describes the intended output as shipped features, private vulnerability disclosures, deployed apps, deep research, and new skills the agent writes for itself. That is a broad claim, and the mechanism behind it is narrower than the claim: a skill is a Markdown file with a small frontmatter block and a prompt, and Aeon runs that prompt on a cron schedule inside GitHub Actions. The target user is someone who already lives in GitHub, already has the gh CLI authenticated, and would rather review a pull request that appeared overnight than sit in an approval dialog. The README is explicit that the project is built for work you want done while you are away, and that it is designed to run without asking. If your workflow requires a human to approve each tool call, Aeon is pointed at the opposite problem.

The SKILL.md format is the whole abstraction

The README gives a trimmed example of a real skill, skills/digest/SKILL.md, with frontmatter fields name, category, description, requires, var, and mode. Two details in that block carry most of the design. First, requires is a list where a bare key is required and a question mark marks it optional, so XAI_API_KEY? means the skill can run without that key. Second, var is described as a per-run input, with examples like solana, rust, or AI agents, which is how one file serves many topics without being copied. The prompt below the frontmatter is the skill; there is no separate code path to write. The README also states that Haiku rates every run, so there is a scoring step attached to each execution rather than a pass or fail return code. Skills are grouped into packs, and the README names six: Core (fleet coordination, self-config, liveness), Evolution (authors and heals its own skills), Basics, Dev & Code, Crypto & Markets, and Productivity. The hero image says 60+ skills across nine harnesses while the catalog link says all 80 skills by pack, so the two numbers in the README do not agree with each other. Treat the count as approximate.

One harness contract over nine agent CLIs

The README's claim is that the same SKILL.md runs on Claude, Grok, Codex, Pi, Vibe, Kimi, fx, Cursor, and Hermes, behind what it calls one run-harness contract with the same result, usage, and session shape. The value of that contract is portability: swapping the engine should not require editing skills, because the skill file never names a model. The README adds one clarification that matters for budgeting, stating that GLM Coding Plan is a Claude AI Gateway hop through GLM_API_KEY rather than a harness. That distinction is easy to miss and it changes what you are configuring. What the README does not document is how the three-part contract behaves when a harness returns something unexpected, or whether all nine implement every field. The linked docs/harnesses.md is where that would live, and the README does not summarize it. If you plan to run a skill across more than one harness, verify the contract per harness rather than assuming uniformity from the diagram.

Getting it running: fork, gh auth, ./aeon

The prerequisites are stated plainly: Node.js 20 or later, the GitHub CLI installed and authenticated with gh auth login, and your own copy of the repository. The README recommends clicking Use this template rather than forking, and says to keep the copy public because Actions minutes are free on public repositories. The clone path is git clone https://github.com/<you>/aeon followed by cd aeon && ./aeon, then opening localhost:5555. From the dashboard the sequence is Authenticate (any of the nine harnesses), add a channel, pick skills, Run. Channels named in the README are Telegram, Discord, and email. Everything reachable from the dashboard is also an ./aeon command, and there is a /aeon chat command installable as a Claude Code or Codex plugin. For machines without admin rights the README offers a fallback: download the gh_*_macOS_arm64.zip or the platform binary from github.com/cli/cli/releases, place it on your PATH such as ~/.local/bin, then run gh auth login. The README also points coding agents at https://www.aeon.fun/skills/aeon.md as a setup entry point, which is a reasonable first stop if you would rather have an agent walk the configuration.

The unattended design is the risk, not a side effect

The README frames the absence of approval loops as the product: no approval loops, no babysitting, configure once, forget forever. That is a coherent position, and it is also the limitation. An agent that runs on a schedule, reacts to conditions, and edits its own skills is an agent whose failure modes surface after the fact, in commits and pull requests you did not see being made. The Evolution pack explicitly authors and heals skills, which means the set of things the agent can do is not fixed at configuration time. The README gives no rollback story, no dry-run mode, and no statement about what happens when a skill writes something wrong. It also does not document rate limits, cost ceilings, or what a run costs across nine harnesses. If your repository requires review before merge, Aeon can still open the pull request, but the value proposition weakens considerably because a human becomes the loop again. The honest reading is that Aeon is the wrong tool for regulated changes, for repositories where a bad commit is expensive to reverse, and for anyone who cannot read the workflow files it installs.

How it differs from driving Claude Code by hand

The obvious alternative is running an agent CLI yourself, Claude Code being the one the README names first. The difference is where the loop lives. Running Claude Code interactively means you start the session, you watch the tool calls, and you decide when it stops; the schedule is your attention. Aeon moves the loop to GitHub Actions cron and replaces your attention with a SKILL.md file plus a channel for the report. That trade is real in both directions. You gain persistence across runs and the ability to chain skills, which the README lists as one of the four unattended capabilities alongside scheduling, memory, and self-repair. You lose the ability to stop a bad run mid-flight. Hermes is named in the README as another comparison point, and the comparison section appears to be cut off in the available text, so the specifics of that difference cannot be confirmed from this material. If you want an agent that asks before it acts, the manual CLI approach is the better fit and Aeon is not trying to compete with it.

Licence, version, and what maintenance looks like

Aeon is MIT licensed, which permits commercial use, modification, and redistribution provided the copyright notice and permission notice are preserved. That is permissive and carries no copyleft obligation, but it also means the project offers no warranty, and the README's autonomy claims are yours to verify rather than something the licence backs. The only release listed is v0.1.0, dated 2026-07-09, with the last push to main on 2026-09-10. A single 0.1.0 release plus roughly two months of subsequent commits is an early-stage signal, and the README's own inconsistency between 60+ and 80 skills suggests the documentation is still moving. Practically, that means upgrade cost is not yet a stable quantity: skill frontmatter fields, the run-harness contract, and the pack layout are all things that can shift between versions. Because skills are plain Markdown in your own copy, your authored skills are portable, but anything that depends on a frontmatter key the maintainers rename is not. Pinning to a known commit and reading the diff before pulling is the low-effort hedge here. This is a description of the licence terms, not legal advice.

Editorial conclusion

Adopt Aeon if you already run a public repository, want scheduled agent work to happen without an approval step, and are comfortable reading TypeScript and GitHub Actions workflow files before you trust them. Do not adopt it if your repository is private, if you need a human to review each diff before it ships, or if you cannot grant a workflow write access to your own code. Before enabling any skill, read the frontmatter of its SKILL.md and confirm which keys it requires, because the README's own example marks XAI_API_KEY as optional with a question mark and that distinction is what decides whether a scheduled run fails at the model call or at configuration time.

Official sources

  1. aeonfun/aeon on GitHub
  2. License: MIT
  3. Project website
  4. README
  5. Releases
Community notes

Community notes