Skip to main content

v1.1.11 — Skilly Mercury

Mercury graduates from "agent with skills" to a skillful platform.

1.1.11 is the largest release of the 1.1.x line. Mercury now ships as a single standalone binary on five OS targets, learns new behaviors via a full Skill System with markdown-defined skills, and gives every session a live bottom status bar with per-tool spinners and token usage. A new Token Saver Mode cuts spend on long-running agents, and the bundled screenshot skill lets Mercury capture any website out of the box.

Why "Skilly Mercury"? This is the release where skills became a first-class citizen. Mercury can now load skills from disk, route to them on demand, batch them, and ship with a curated set of defaults. The Mercury planet glyph (☿) is now a skilful messenger — composing, scheduling, screenshotting, and saving tokens on your behalf.

Note: Version 1.1.10 was skipped to keep numbering aligned across publish channels (npm, GitHub Releases, standalone-binary CDN).

At a glance

AreaWhat changed
Skill SystemFull registry, intent router, default skill seeds, ambiguity picker (#1, #2, …), batching
Token Saver ModeAuto-engages at 75% of daily budget; ⚡SAVER status-bar badge; persistable
Standalone binariesmacOS arm64/x64, Linux x64/arm64, Windows x64 — no Node required
Bottom status barLive provider · model · tokens · saver state; per-step spinner per tool call
Built-in skillsweb-search, tweet-notifier, screenshot (with viewport + dark/light mode)
Skill routingNo more 10-skill fan-out on weak matches; numbered picker for genuine ambiguity
Shell guardPer-segment pattern checks for chained commands (;, &&, `
PackagingOne-line installers for every OS, hero install widget on the website

Skill System

Mercury can now load user-defined behaviors from ~/.mercury/skills/ and route to them based on natural-language intent. Skills are markdown files with YAML frontmatter — no code required.

What a skill looks like

---
name: my-skill
description: One sentence describing when to use this.
version: 1.0.0
category: productivity
intents:
- schedule a thing
- book the meeting
tags: [scheduling, calendar]
allowed-tools:
- schedule_task
- send_message
---

# My Skill

Markdown body becomes Mercury's playbook when this skill is invoked.
Workflow, rules, examples — Mercury reads it on demand.

How routing works

  1. Mercury holds only the frontmatter of every skill in context (cheap).
  2. On each user message, the intent router scores skills against intents, categories, and tags.
  3. High-confidence single match → skill body is injected and Mercury executes.
  4. Multiple plausible matches → you get a numbered ambiguity picker (pick #1, #2, …).
  5. Weak signal → no skill is loaded; Mercury answers normally.

This was the biggest UX fix in 1.1.11: pre-release, weak keyword overlap could fire 10 skills at once. The router now requires real signal before triggering — and when it does ask, it asks cleanly.

Default skill seeds

New installs and mercury doctor --seed-skills ship with:

  • web-search — DuckDuckGo HTML search + summarized sources, fetch_url-based.
  • tweet-notifier — Schedule tweets, route through founder approval, notify supporters at every state (draft → scheduled → pending_approval → approved → posted).
  • screenshot — full-page website capture with configurable viewport and dark/light color scheme. See Screenshot skill below.

Browse and install community skills at skills.mercuryagent.sh.

See: docs/reference/skills for full architecture, docs/cli-commands/skills for the commands.

Built-in screenshot skill

The screenshot skill takes full-page captures of any URL via Playwright/Chromium:

> take a screenshot of https://mercuryagent.sh in dark mode mobile

Mercury asks for missing parameters (viewport, color scheme), generates a temporary Playwright script, runs it headless, and saves a timestamped PNG to ~/Desktop/. On Telegram, the result is sent as a photo attachment.

Preset viewports: mobile (375 × 812), tablet (768 × 1024), desktop (1280 × 800), desktop HD (1920 × 1080), or custom. Color schemes: light / dark (emulates prefers-color-scheme).

Requires Playwright/Chromium installed (npx playwright install chromium).

Token Saver Mode

A battery-saver-style optimization for long-running sessions.

KnobNormalSaver
maxOutputTokens100%× 0.4
Step budget100%× 0.5
History window10 turns4 turns
System promptnormal+ "be terse" suffix

States: off, on (manual), auto (engaged at 75% of daily budget).

/saver on # manually enable
/saver off # disable
/saver auto on # opt into auto-engage (default)
/saver status # show state and lifetime tokens saved

When saver auto-engages, Mercury notifies you once so you understand why response style just changed. Lifetime tokens saved are tracked separately on the TokenBudget and shown in /saver status.

The bottom status bar shows ⚡SAVER in cyan whenever saver is active (manual or auto).

See: docs/reference/token-saver.

Bottom status bar overhaul

The TUI now has a persistent bottom status bar that shows, in real time:

☿ mercury · deepseek · deepseek-chat · 12.3k / 100k tokens · ⚡SAVER · ● step 5 · ✂️ Editing App.tsx
  • Provider · model — the active LLM for this session.
  • Token budget — used / daily limit, updates as each request completes.
  • Saver badge⚡SAVER (manual) or ⚡SAVER·auto (auto-engaged).
  • Per-step spinner — replaces the single global spinner; one indicator per tool call so you can see exactly where the agent is.

This replaces the previous global "thinking…" spinner with a per-step view, which makes long multi-tool runs feel much more transparent.

Standalone binaries

Mercury now ships as a single executable on five targets:

OSArchitectureBinary
macOSApple Siliconmercury-macos-arm64
macOSIntelmercury-macos-x64
Linuxx86-64mercury-linux-x64
LinuxARM64mercury-linux-arm64
Windowsx86-64mercury-win-x64.exe

No Node.js required. Built with bun build --compile (Bun ships its own runtime per target, so cross-compile works end-to-end). The optional better-sqlite3 native module is skipped in standalone builds and falls back to sql.js automatically.

One-line installers

macOS / Linux:

curl -fsSL https://mercuryagent.sh/install.sh | bash

Windows (PowerShell):

irm https://mercuryagent.sh/install.ps1 | iex

Or grab the binary directly:

Per-platform install guides: macOS · Linux · Windows · Termux / Alpine / Pi Zero.

Still prefer npm?

npm install -g @cosmicstack/mercury-agent@1.1.11

Everything works exactly the same; this release adds binaries, it doesn't replace npm.

Skill ambiguity picker

When the router can't pick a single skill confidently, Mercury now prints a clean numbered picker instead of fanning out:

I'm not sure which skill you want. Pick a number:

#1 tweet-notifier — Schedule tweets with founder approval
#2 schedule-task — Schedule any background task at a future time

Reply with #1 / #2, or describe what you want differently.

Type #1 (or 1) and Mercury continues with that skill. This replaces the previous behaviour where weak keyword overlap could trigger all 10 matching skills simultaneously.

Shell permission guard — per-segment checks

The shell-permission guard now validates each segment of a chained command independently. Previously, a combined pattern check could let a disallowed command slip through when joined with ;, &&, ||, or |. Each segment is now matched against the allow-list separately. (Addresses a reported advisory.)

Smaller things

  • anonymous-file-uploader skill removed — no longer needed.
  • pino upgraded 9.14.0 → ^10.3.1 (#51).
  • Domain migrationmercury.cosmicstack.orgmercuryagent.sh (CNAME updated; old domain redirects via GitHub Pages).
  • Chinese translations for README, ARCHITECTURE, and CHANGELOG (#53).
  • Release asset names aligned with the published binaries so the one-line installers stop 404-ing on older fixtures (#63).

Upgrade

# npm
npm install -g @cosmicstack/mercury-agent@1.1.11

# standalone (re-run the installer, it overwrites in place)
curl -fsSL https://mercuryagent.sh/install.sh | bash

No breaking changes. Skill System and Token Saver Mode are both opt-in for existing users:

  • Drop skills into ~/.mercury/skills/<skill-name>/SKILL.md (or run mercury doctor --seed-skills to get the defaults).
  • Run /saver auto on once to opt into auto-engage; the manual /saver on toggle is always available.

Existing configs, providers, threads, kanban boards, and Second Brain data all carry over unchanged.

Pull requests included

  • #69 — Token Saver Mode + bottom status bar overhaul + per-step spinners
  • #68 — Stop 10-skill fan-out; ambiguity picker
  • #67 — Mercury Skills (feat/mercury-skills)
  • #63 — Align release asset names with published binaries
  • #61 — Standalone binaries, one-line installers, per-OS docs & hero install widget
  • #53 — Chinese translations
  • #51 — pino 9 → 10
  • #48 — Per-segment shell pattern checks

Full changelog: v1.1.9 → v1.1.11