Command-line client for Anomalia — the social media AI autopilot. Plan, approve, edit and publish social content, blog articles, SEO & GEO audits from your terminal.
# Add to your Claude Code skills
git clone https://github.com/andreabuttarelli/anomalia-cliGuides for using cli tools skills like anomalia-cli.
anomalia-cli is an open-source cli tools skill for AI coding assistants such as Claude Code, Codex CLI, and ChatGPT, built by andreabuttarelli. Command-line client for Anomalia — the social media AI autopilot. Plan, approve, edit and publish social content, blog articles, SEO & GEO audits from your terminal. It has 1 GitHub star.
anomalia-cli's catalog security scan is still queued. You can run an instant dependency and prompt-injection check now with the "Scan for vulnerabilities" button above.
Clone the repository with "git clone https://github.com/andreabuttarelli/anomalia-cli" and add it to your Claude Code skills directory (see the Installation section above).
anomalia-cli is primarily written in JavaScript. It is open-source under andreabuttarelli on GitHub, so you can review or fork the full source.
Yes. SkillsLLM lists many other CLI Tools skills you can browse and compare side by side. Open the CLI Tools category from the badge at the top of this page, or use the Related Skills and comparison links further down to weigh anomalia-cli against similar tools.
No comments yet. Be the first to share your thoughts!
Unlocks once the catalog security scan passes (runs nightly).
The deep catalog scan for this skill is still queued. Run an instant dependency check now instead.
Client tooling for Anomalia — the social media AI autopilot.
This repository ships three ways to drive the same product (same OAuth, same API, no static tokens):
| What | Who it’s for | |
|---|---|---|
| CLI | anomalia terminal commands |
Humans & scripts |
| MCP | Model Context Protocol server (stdio + HTTP) |
Cursor, Claude, other MCP hosts |
| Skill | Agent Skill (skills/anomalia/) |
Coding agents / skills.sh / npx skills |
You need an Anomalia account. This is a client, not a standalone tool: every call talks to the Anomalia API over HTTPS. Without an account there is nothing to drive.
Plan and approve posts, edit a carousel slide by slide, turn a post into a video, run SEO and GEO audits, manage the blog — from the terminal or from an AI agent.
┌─────────────┐ ┌─────────────┐ ┌──────────────────┐
│ anomalia │ │ MCP host │ │ Agent + Skill │
│ CLI │ │ (Cursor…) │ │ (npx skills) │
└──────┬──────┘ └──────┬──────┘ └────────┬─────────┘
│ │ │
│ lib/api.ts + OAuth session │
└─────────────────┼───────────────────┘
▼
Anomalia /api/v1/*
curl -sSL https://raw.githubusercontent.com/andreabuttarelli/anomalia-cli/main/scripts/install.sh | bash
anomalia login
Standalone binary for macOS (arm64/x64) and Linux (arm64/x64) — no runtime required.
anomalia brands
anomalia dashboard my-brand
anomalia content my-brand --status pending_user
anomalia approve my-brand --all
anomalia seo my-brand
anomalia web my-brand generate --topic "..."
anomalia ai my-brand --message "..." --pipe
Every command takes the brand slug as its first argument. anomalia --help lists them all;
anomalia <command> --help details one. Short id prefixes from tables are accepted; ambiguous
prefixes error instead of guessing.
| Area | Commands |
|---|---|
| Posts | content, approve, post <id> [show|edit|regenerate|slide|reorder|video|publish] |
| Planning | plan, weekly-plan, calendar, gtm |
| Brand | studio, voice, people, products |
| Web | seo, geo, keywords, web |
| Insight | dashboard, status, analytics |
| AI | ai --message "..." — natural language, full read/write access |
Full command dump: llms.txt · more docs: docs/
Requires Bun.
git clone https://github.com/andreabuttarelli/anomalia-cli.git
cd anomalia-cli
bun install
bun run cli.ts --help
Same tools and OAuth as the CLI. Docs: docs/mcp.md.
bun run mcp # stdio (local hosts)
bun run mcp:http # http://localhost:8787/mcp
Remote: https://mcp.anomalia.so/mcp (Bearer JWT required). Health: GET /health.
Cursor — stdio
{
"mcpServers": {
"anomalia": {
"command": "bun",
"args": ["run", "/ABS/PATH/to/anomalia-cli/mcp/stdio.ts"]
}
}
}
Cursor — HTTP
{
"mcpServers": {
"anomalia": { "url": "https://mcp.anomalia.so/mcp" }
}
}
login tool or existing anomalia login → ~/.config/anomalia/session.jsonAuthorization: Bearer <access_token> (401 without it is expected)Publishable Agent Skill for Cursor, Claude, skills.sh, and friends:
npx skills add andreabuttarelli/anomalia-cli --skill anomalia
# or
bash scripts/install-skill.sh --project
Package: skills/anomalia/ (SKILL.md + references/ for MCP setup, tool map, CLI).
When the skill is active, agents prefer MCP tools if connected, otherwise the CLI.
Zero config by default → https://anomalia.so, with automatic fallback to
http://localhost:5173 when a local app is answering.
| Variable | Purpose |
|---|---|
PUBLIC_APP_URL |
Point CLI/MCP at another Anomalia instance |
SENTRY_DSN |
(MCP HTTP / Vercel) Errors → Sentry |
SUPABASE_SERVICE_ROLE_KEY |
(MCP HTTP / Vercel) Rows in mcp_logs |
MCP_PUBLIC_URL |
Public MCP base URL for OAuth metadata |
Session: ~/.config/anomalia/session.json. anomalia logout clears it. No secrets are embedded
in this repo or the binary.
Thin HTTPS client — no DB access, no coupling to the Anomalia server codebase:
CLI ──┐
MCP ──┼── HTTPS ──► /api/v1/* ──► Anomalia
Skill ─┘ (guides agents to CLI or MCP)
commands/ + cli.tslib/api.ts onlymcp/ (reuses lib/api.ts, registers tools)skills/anomalia/bun install
bun run cli.ts --help
bun run mcp
bun run mcp:http
bun run typecheck
bun test
bun run build # binary → dist/
bun run build:all # all four targets
bun run vercel-build # MCP bundles under mcp/api/
Releases: push a v* tag → CI typechecks, tests, cross-compiles binaries + SHA256SUMS.txt on
the GitHub Release (install.sh / anomalia update).
Copyright © 2026 Andrea Buttarelli.
Licensed under the GNU Affero General Public License v3.0 or later. You may use, modify and redistribute it, but derivative works must stay open source under the same license, must keep the copyright notice, and must state their changes — including when offered to users over a network.