diff --git a/.claude/skills/aeon/SKILL.md b/.claude/skills/aeon/SKILL.md index 8ae70ab99a9..2e843e620dc 100644 --- a/.claude/skills/aeon/SKILL.md +++ b/.claude/skills/aeon/SKILL.md @@ -251,7 +251,7 @@ metadata: Today is ${today}. ## Steps -1. +1. ## Network note @@ -311,9 +311,9 @@ Three at a time, not twelve. Every enabled skill is a recurring notification, an ./aeon packs ls # the six first-party packs ``` -`ls` footers with `65 skills · 1 enabled` — read it to them before proposing anything. First run installs the CLI runtime (tsx + yaml, ~12MB); the npm noise is one-time and expected. Grep-only equivalents: `references/layout.md`. +`ls` footers with `73 skills · 1 enabled` — read it to them before proposing anything. First run installs the CLI runtime (tsx + yaml, ~12MB); the npm noise is one-time and expected. Grep-only equivalents: `references/layout.md`. -Packs are a visibility filter, not a runtime switch — revealing one runs nothing. Core (11), Evolution (8) and Basics (16) show by default; Dev (10), Crypto (14) and Productivity (6) are on demand. +Packs are a visibility filter, not a runtime switch — revealing one runs nothing. Core (12), Evolution (9) and Basics (17) show by default; Dev (11), Crypto (14) and Productivity (10) are on demand. Reasonable starting sets: diff --git a/.claude/skills/aeon/references/layout.md b/.claude/skills/aeon/references/layout.md index ad7098f08e8..6fd2980fa51 100644 --- a/.claude/skills/aeon/references/layout.md +++ b/.claude/skills/aeon/references/layout.md @@ -12,7 +12,7 @@ Where everything lives in an Aeon repo, and the fastest way to see what's on. ./aeon skills ls --enabled --json # for building the Mode 2 timeline ``` -`ls` prints `SKILL / ON / SCHEDULE / PACK / DESCRIPTION` and a footer — `65 skills · 1 enabled`. First run installs the CLI runtime (tsx + yaml, ~12MB, one-time); the noise is expected. +`ls` prints `SKILL / ON / SCHEDULE / PACK / DESCRIPTION` and a footer — `73 skills · 1 enabled`. First run installs the CLI runtime (tsx + yaml, ~12MB, one-time); the noise is expected. **The `SCHEDULE` column is populated for disabled skills too** — it's their `aeon.yml` entry, not proof anything fires. Only the `●` in `ON` means it runs. diff --git a/.claude/skills/aeon/references/mcp.md b/.claude/skills/aeon/references/mcp.md index 88cfc19ebcf..31c2fe6b7b5 100644 --- a/.claude/skills/aeon/references/mcp.md +++ b/.claude/skills/aeon/references/mcp.md @@ -7,7 +7,7 @@ Two unrelated things share the name. Get this wrong and nothing works. | | | |---|---| | **`.mcp.json`** — *external MCP servers, called BY Aeon skills* | Wired via the dashboard MCP panel or `./aeon mcp add`. This is what you want when a skill needs a tool. | -| **`bin/add-mcp`** — *Aeon itself AS an MCP server* | Builds `apps/mcp-server` and registers it with Claude Code / Desktop, so all 65 skills appear as `aeon-*` tools **in your local Claude**. Nothing to do with a skill calling out. | +| **`bin/add-mcp`** — *Aeon itself AS an MCP server* | Builds `apps/mcp-server` and registers it with Claude Code / Desktop, so all 73 skills appear as `aeon-*` tools **in your local Claude**. Nothing to do with a skill calling out. | The rest of this doc is the first one. For the second: `bin/add-mcp`, `--desktop` for a Claude Desktop snippet, `--uninstall` to remove, `claude mcp list` to verify. diff --git a/.claude/skills/aeon/references/skill-anatomy.md b/.claude/skills/aeon/references/skill-anatomy.md index f8cb71e81b9..d78acd267d1 100644 --- a/.claude/skills/aeon/references/skill-anatomy.md +++ b/.claude/skills/aeon/references/skill-anatomy.md @@ -1,10 +1,10 @@ # How Aeon skills are actually written -Surveyed across all 65 skills in `aeonfun/aeon`. Frequencies are real counts — match the dominant convention unless there's a reason not to. Bodies run 133–757 lines (~306 median); a skill is a prompt, not a config file, and reads as prose. +Surveyed across all 73 skills in `aeonfun/aeon`. Frequencies are real counts — match the dominant convention unless there's a reason not to. Bodies run 133–757 lines (~306 median); a skill is a prompt, not a config file, and reads as prose. ## Frontmatter -Universal — **all 65 skills** carry these five: +Universal — **all 73 skills** carry these five: ```yaml name: my-skill # the slug (matches the skills// directory) @@ -113,7 +113,7 @@ There is **no network sandbox** — plain `curl` works for unauthenticated GETs. `memory/` is the durable state that survives between runs. Four conventions, in order of how often skills touch them: -### `memory/logs/${today}.md` — the run log (61 of 65 skills) +### `memory/logs/${today}.md` — the run log (61 of 73 skills) Every skill appends what it did, under **one** heading that is exactly its slug: diff --git a/CHANGELOG.md b/CHANGELOG.md index c7d88d6d06b..2fc30fa8ffe 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,6 +11,21 @@ from or pin to; the template keeps serving the latest `main` to new forks. ### Added +- **Five new skills, ported from the `aeon-dev` instance and generalized for any + operator** (frontmatter converted to Agent Skills spec-form, OKF references + removed, private product/instance references genericized): **`spend-watch`** (dev + pack) - autonomous cloud-cost analyst across Neon / Vercel / Railway / GitHub + Actions, attributing spend to the biggest drivers and ranking dollar-figured + recommendations by real signal (`arm:` applies safe cost levers, disabled by + default); **`competitor-monitor`** (productivity, `read-only`) - snapshots + competitor pages (pricing, headings, CTAs, new/removed pages, title/meta) and + reports only what changed; **`higgsfield`** (productivity) - generative + image/video via the Higgsfield MCP, credit- and prompt-gated to <=2 outputs/run; + **`remotion`** (productivity) - renders a short (<=10s) MP4 from an agent-authored + storyboard via a bundled Remotion project, delivered by URL; **`weekly-aeoncard`** + (productivity) - weekly token-consumption recap rendered as a shareable SVG card + from `memory/token-usage.csv`. Brings the catalog to **73 skills** (68 -> 73; Dev + pack 10 -> 11, Productivity 6 -> 10). (#860) - **New skill: `video-script`** - turns a repo, product page, or topic into a recording-ready video script. Receipts-first: every number, address, and date is verified against the live source in-run, and anything unverifiable is cut or @@ -123,6 +138,13 @@ from or pin to; the template keeps serving the latest `main` to new forks. ### Changed +- **Dashboard catalog wiring for the five new skills** (#860): the Higgsfield hosted + OAuth MCP is registered in `mcp-catalog.ts` (one-click Connect, secrets + OAuth + refresh derived generically from the slug); `secrets-catalog.ts` adds + `NEON_API_KEY` and `RAILWAY_TOKEN` and notes `spend-watch` on the shared + `VERCEL_TOKEN`; `aeon.yml` stages the Remotion toolchain (node deps + headless + Chrome behind an `actions/cache`, via new `scripts/stage-remotion.sh`) and the + `weekly-aeoncard` rasterizer (`librsvg2-bin`), both gated to the running skill. - **README brand refresh.** The `.github/README.md` was rebuilt around an animated hero and section-banner art with a pill navigation, trimmed to MiroShark prose density, and the longer-form detail was relocated into `docs/` (Configuration,