moattai
v0.2.0
Published
GTM skills for AI coding agents — installable via npx moatt install <slug>
Maintainers
Readme
Moatt Skills
Cancel your growth SaaS stack. 228 skills your AI coding agent installs and runs through one key — across 24 vendors, one credit balance, one bill.
17 categories of growth work — sales, SEO, AI search visibility, competitor intel, content, signals, inbound, video — refactored as open-source Markdown skills for Claude Code, Cursor, and Codex.
- Catalog: moatt.com
- Docs: docs.moatt.com
The CLI is published on npm as
moattai. The binary on your PATH ismoatt.
What this replaces
| Category | Tools you can stop paying for | |---|---| | Sales prospecting | Apollo · ContactOut · LeadIQ | | Lead enrichment | Clay · Clearbit · People Data Labs | | Email finding | Hunter · Tomba · Snov | | Outbound campaigns | Smartlead · Lemlist · Instantly | | Inbound ops | UserGems · Pocus · Default · Chili Piper | | AI search visibility | Profound · AthenaHQ · Otterly | | SEO | Ahrefs · Semrush · Surfer · Frase | | Competitor intel | Crayon · Klue · SimilarWeb | | Brand monitoring | Brand24 · Mention · Brandwatch | | Ad intel | AdSpyder · Foreplay · Magic Brief | | Buying signals | UserGems · Crystal Knows · Champify | | Content creation | Jasper · Copy.ai · Lavender | | LinkedIn intel | PhantomBuster · Dripify · Surfe | | Pipeline ops | Gong · Chorus · Outreach | | Customer research | UserInterviews · Dovetail | | Influencers / KOLs | Aspire · Modash · Upfluence | | Video & voice | Synthesia · HeyGen · Tavus · Descript |
In 30 seconds
npx moattai login
npx moattai install champion-departure-triggerThen in Claude Code / Cursor / Codex:
"Did any of our past champions change jobs recently?"
The skill scans LinkedIn and the web for role changes among past buyers, qualifies the new accounts against your ICP, and drafts a warm re-intro from you — both a retention nudge for the old account and a fresh expansion play for the new one.
One install. One question. No vendor dashboards, no per-tool keys.
The catalog at a glance
- 148 moves — atomic skills, one job each
- 64 plays — orchestrated workflows
- 5 moats — durable systems run on a schedule
- 2 kits — themed bundles (11 skills total)
- 24 vendors behind one proxy, one credit balance, one bill
A few skills that show what it can do
| Skill | Level | What it does |
|---|---|---|
| ad-angle-miner | play | Mines the highest-converting ad angles from customer reviews, Reddit complaints, support tickets, and competitor ads — ranked with proof quotes |
| champion-departure-trigger | play | Detects when past customer champions take new jobs, then fires both retention + warm-expansion outreach |
| battlecard-generator | play | Builds sales battlecards from competitor website + reviews + ads + pricing |
| funding-signal-outreach | play | Detects fresh funding rounds in a company list, finds the right buyers, drafts personalized emails |
| meeting-brief | play | Daily calendar scan → researches every external attendee → emails personalized briefs each morning |
| geo-audit | move | Audits a site for AI-search (ChatGPT, Perplexity, Claude, Gemini) citation readiness with a prioritized fix list |
| alternatives-to-page-builder | play | Builds "best alternatives to [Competitor]" SEO pages grounded in DataForSEO SERP data |
| outbound-prospecting-engine | moat | Stands up the full outbound system: signal detection → research → contact finding → personalization → launch |
Search the catalog → · Full skills index →
The four levels
Skills compose in four levels. Each one wraps the level below — pick the right level for the job you're trying to do.
Moves (148)
Atomic skills. One skill, one job: find an email, scrape a page, run a search, pull brand assets.
email-finder-hunter— finds emails for a domain via Hunter.iogeo-audit— scores your site's AI-search citation readinesslinkedin-scraper— pulls profiles, company pages, posts
Reach for a move when you know the exact data you need.
Plays (64)
Orchestrated workflows. A play chains multiple moves into one end-to-end job — input → processing → output.
champion-departure-trigger— detects when past customer champions take new jobs, then fires retention + warm-expansion outreachad-angle-miner— mines ad copy angles from reviews, Reddit, support tickets, and competitor adsbattlecard-generator— builds sales battlecards from competitor website, reviews, ads, and pricing
Reach for a play when you want a recurring growth job done in one ask.
Moats (5)
Durable systems run on a schedule. Moats take longer to set up, then keep producing for months. They're your AI agent's permanent job.
outbound-prospecting-engine— full outbound system: signal detection → research → contact finding → personalization → launchcompetitor-monitoring-system— daily competitive intel across web, social, and news with delta reports
Reach for a moat when you want a pipeline that keeps running without you.
Kits (2)
Curated bundles. A kit ships several skills that go together for a specific motion — one install, the whole toolkit.
lead-gen-devtools(6 skills) — discovery orchestrator, GitHub repo signals, community signals, competitor signals, event signals, personalized demo buildervideo-production(5 skills) — beat-synced reels, AI-animated product reels, talking-head videos, long-form to short-form clipping, screen-rec polish
Reach for a kit when you're starting a new motion and want everything at once.
Install
# One-off (recommended for first try)
npx moattai login
npx moattai install <slug>
# Or install globally so you can type `moatt` directly
npm install -g moattai
moatt login
moatt install <slug>After install, ask your AI coding agent to do something a skill covers — it picks the right skill and runs it.
Commands below use
moatt(global install) — prefix withnpx moattaiif you didn't install globally.
Install flags
moatt install <slug> --claude # Force a single target
moatt install <slug> --cursor --project-dir .
moatt install <slug> --force # Convert legacy installs to symlinksFind and refresh
moatt search "<query>" # JSON output (agent-friendly)
moatt search "<query>" --human --limit 5 # Human-readable list
moatt list # Full catalog
moatt info <slug> # Details for one skill or kit
moatt update # Refresh every installed skill
moatt update <slug> # Refresh oneWhere skills go on disk
Skills follow a canonical-store + symlinks layout so one update reaches every agent:
~/.agents/skills/<slug>/ ← canonical files (single source of truth)
~/.claude/skills/<slug> → symlink ──→ ~/.agents/skills/<slug>
~/.codex/skills/<slug> → symlink ──→ ~/.agents/skills/<slug>
<project>/.cursor/rules/moatt-<slug>.mdc ← real file (Cursor's rule format requires inline content)moatt install is idempotent — re-running it on an already-installed skill is a no-op. moatt update refreshes the canonical copy and every symlink picks up the new content automatically.
How it works
Each skill ships as a self-contained directory: SKILL.md (agent-readable instructions), skill.meta.json (catalog metadata), and any helper scripts. The CLI fetches these from this repo and lands them in the right place for your agent.
Most skills route API calls through the Moatt proxy with usage-based billing. One key (MOATT_API_KEY) covers all 24 upstream vendors — no juggling vendor accounts, no separate bills.
moatt loginThis opens your browser, signs you in, lets you pick a default project, and writes the issued key to ~/.moatt/credentials.json (chmod 0600). Skills read that file and send Authorization: Bearer <key> on every proxy call.
Auth commands
moatt login # Browser-based login + project picker
moatt logout # Clear local credentials (key stays valid on server)
moatt logout --all # Also revoke the key on the server
moatt whoami # Email, org, current project
moatt status # whoami + credit balance + key info
moatt credits # Print credit balance (JSON; --human for table)
moatt projects list # List all projects your key can use
moatt switch <slug> # Change the default project (local, no browser)moatt switch is the gh-CLI-style flow: one login mints a single key for your org, then flip between any project you have access to without re-authenticating.
Credentials file shape
{
"api_key": "mk_...",
"api_base": "https://moatt.com",
"email": "[email protected]",
"userId": "user_...",
"clerkOrgId": "org_...",
"orgName": "Acme",
"currentProject": "acme-marketing",
"projects": [
{ "id": "...", "slug": "acme-marketing", "name": "Acme Marketing" },
{ "id": "...", "slug": "acme-seo", "name": "Acme SEO" }
],
"loggedInAt": "..."
}Keys use snake_case so skills can read them with one-line Python snippets like:
export MOATT_API_KEY=$(python3 -c "import json;print(json.load(open('$HOME/.moatt/credentials.json'))['api_key'])")Repository layout
moatt-skills/
├── bin/ # CLI entry-point (published as `moattai` on npm)
├── schemas/ # JSON Schema for skill + kit metadata
├── scripts/ # validate-skills, build-index
├── skills/
│ ├── moves/ # atomic skills
│ ├── plays/ # orchestrated chains
│ ├── moats/ # end-to-end systems
│ └── kits/ # curated bundles
├── tools/ # shared Python helpers (Apify guard, DataForSEO proxy)
├── skills-index.json # auto-generated full catalog
└── registry.json # auto-generated curated registrySkill metadata contract
Every skill ships two required files.
SKILL.md — Markdown with YAML frontmatter:
---
name: my-skill
description: >
One paragraph explaining what the skill does and when an agent
should reach for it.
tags: [lead-generation, research]
---
(skill body — instructions for the agent, code blocks, examples)skill.meta.json — registry metadata:
{
"slug": "my-skill",
"category": "moves",
"tags": ["lead-generation", "research"],
"installation": {
"base_command": "moatt install my-skill",
"supports": ["claude", "cursor", "codex"]
}
}Optional fields override auto-derived registry entries: name (display name), version, argumentHint, domain, appName, changelog. See schemas/skill-meta.schema.json for the full contract.
Building from source
git clone https://github.com/Moatt/moatt-skills.git
cd moatt-skills
npm install
npm run validate:skills # Lint every skill against the schema
npm run build:index # Regenerate skills-index.json + registry.jsonThe catalog builder reads SKILL.md frontmatter and skill.meta.json, walks any helper files under each skill directory, and emits two JSON files at the repo root.
Contributing
Adding a new skill takes three files: a directory under skills/<level>/<slug>/, a SKILL.md, and a skill.meta.json. Run npm run validate:skills to lint, npm run build:index to refresh the catalog, then open a PR.
See CONTRIBUTING.md for the full guide.
License
MIT — see LICENSE.
