npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

gomarble-os

v0.1.3

Published

GoMarble OS for Claude Code and Codex CLI. Connects your agent to live ad-platform data (Google Ads, Meta, GA4, Shopify, Search Console, Klaviyo, TikTok, LinkedIn, Bing) via the GoMarble MCP server with OAuth, and ships 36 expert-authored skills plus 8 re

Readme

GoMarble OS

Plug your AI agent into your ad accounts. Audit, optimize, and launch campaigns with battle-tested marketing methodology.

A plugin for Claude Code and Codex CLI that turns your terminal-based AI agent into a senior performance marketer.

  • 🔌 Live ad-platform data via the GoMarble MCP server (OAuth, one-click sign-in)
  • 🧠 36 expert-authored skills — Google Ads, Meta (Facebook/Instagram), GA4, Shopify, Search Console, Klaviyo, TikTok, LinkedIn, Bing Ads, document generation
  • 5 slash commands for the most common Meta-Ads workflows (Claude Code)
  • 🛡️ Built-in guardrails — no synthetic data, no fabricated keywords, proper attribution discipline

Install

Claude Code

In a Claude Code session, run:

/plugin marketplace add gomarble-ai/gomarble-os
/plugin install gomarble-os@gomarble-os

Then connect the MCP server:

/mcp

Pick gomarble, click Authenticate — the browser opens, you sign in to GoMarble, you're done.

Codex CLI

codex plugin marketplace add gomarble-ai/gomarble-os

Start Codex, open the Plugins panel, find GoMarble OS, and install. Then:

codex mcp login gomarble

Same OAuth flow, one-time.


What you can ask the agent

The skills auto-invoke based on what you ask — you don't have to remember anything. Some examples:

| Ask | What happens | |---|---| | "Audit my Meta account act_12345 for the last 30 days." | Loads performance + creative + depth-of-analysis skills, pulls 30d data, runs Pareto analysis, flags fatiguing creatives, surfaces ROAS outliers, produces a report. | | "How did my Google Ads Search campaigns do this week?" | Loads search-analysis skill, classifies queries Q1–Q5, diagnoses CPC inflation or rank pressure, returns a decision matrix. | | "Create a Meta ad set for this creative targeting US iOS users." | Loads create/master + adset skills, verifies parent campaign, detects pixel, builds the propose payload, asks you to confirm before posting. | | "Pull a 7d Shopify sales report and compare to GA4 conversions." | Loads Shopify order-discipline + GA4 source-of-truth skills, queries both, reconciles the difference. | | "Generate a PPTX summarizing all my paid-media performance." | Loads pptx skill + the relevant analytics skills, produces a deck. |

Slash commands (Claude Code only)

8 read-only morning-workflow commands. Each produces analysis + recommendations — never executes mutations. Mutations happen separately via Agent Mode if the user explicitly opts in.

Meta (4)

| Command | What it does | |---|---| | /gomarble-os:meta-daily-optimization <acct> | Morning briefing: 1D vs 3D vs 7D, change-log gate, root-cause action recommendations (pause / cut / reallocate / scale candidates) | | /gomarble-os:meta-ads-audit <acct> | 30-day comprehensive audit — pixel/CAPI, fatigue, audience split, ROAS outliers, budget allocation | | /gomarble-os:meta-creative-fatigue-detection <acct> | Per-ad scoring (Healthy / Early Warning / Fatigued / Dead) with refresh recommendations | | /gomarble-os:meta-creative-strategy <acct> | Winners + losers, pattern extraction, test plan, scaling plan, 12-creative production spec |

Google (4)

| Command | What it does | |---|---| | /gomarble-os:google-search-audit <acct> | Daily Search briefing: brand-vs-non-brand segmentation, CUT / FIX / SCALE recommendations | | /gomarble-os:google-pmax-pulse <acct> | 3d-vs-3d PMax anomaly check — Critical / Alert / Monitor classification, disciplined against overcorrection | | /gomarble-os:google-search-term-audit <acct> | Forensic waste audit using 80/80 Pareto + campaign-relative triggers; suggested negative keywords and root negatives | | /gomarble-os:google-impression-share <acct> | Lost-IS analysis → scaling opportunities (Budget) vs bid/quality work (Rank), gated on profitability |

In Codex, just describe the task in natural language — the skills' description fields handle routing.


Skills shipped (36)

  • Foundationsgoogle-ads-tool-fundamentals, google-ads-guardrails
  • Analysisgoogle-ads-search-analysis, google-ads-shopping, google-ads-pmax-evaluation, google-ads-pmax-scaling, google-ads-keywordplanner, google-ads-depth-of-analysis
  • Executiongoogle-ads-search-execution
  • Creation (master + 7 sub-skills) — google-ads-create-master-skill, google-ads-create-campaign, google-ads-create-ad-group, google-ads-create-ad, google-ads-create-asset, google-ads-create-experiment, google-ads-create-negative-keyword-list, google-ads-create-bid-modifiers
  • Foundationsmeta-tool-fundamentals, meta-guardrails
  • Analysismeta-performance-analysis, meta-creative-analysis, meta-depth-of-analysis
  • Operationsmeta-agent-operations
  • Creation (master + 3 sub-skills) — meta-create-master-skill, meta-create-campaign, meta-create-adset, meta-create-ad-with-creative
  • ga4-source-of-truth — conversions ≠ transactions, channel-subset-sum trap, attribution discipline
  • shopify-order-discipline — no financial_status filter, gross-vs-net, refunds, multi-currency
  • search-console-master-skill — organic search analysis + opportunity scoring
  • creative-research — competitor research, evergreen + breakout winners, pattern analysis
  • documents-docx-skill, documents-pptx-skill, documents-pdf-skill, documents-xlsx-skill — generate professional reports
  • python-sandbox-skill — foundation for all document generation

How it works

You ask:  "Audit my Meta account"
    ↓
Claude / Codex auto-invokes the right skills by description
    ↓
Skill instructs the agent to call GoMarble MCP tools (meta_get_account_insights, etc.)
    ↓
GoMarble MCP → live Meta Ads API call (with your OAuth token)
    ↓
Agent applies the methodology + guardrails to interpret the data
    ↓
You get the answer

The plugin ships only the methodology. All live data comes from the GoMarble MCP server you authorized with /mcp (Claude) or codex mcp login gomarble.


Updating

# Claude Code
/plugin marketplace upgrade gomarble-os

# Codex CLI
codex plugin marketplace upgrade gomarble-os

The SessionStart hook also surfaces an "update available" prompt automatically the first time you start a session on an outdated version.


Repo layout

gomarble-os/
├── .claude-plugin/
│   ├── plugin.json              # Claude Code manifest
│   └── marketplace.json         # marketplace declaration
├── .codex-plugin/
│   └── plugin.json              # Codex manifest with rich install metadata
├── .mcp.json                    # remote MCP wiring (Streamable HTTP + OAuth)
├── commands/                    # 5 slash commands (Claude reads; Codex ignores)
├── hooks/
│   ├── hooks.json               # registers SessionStart hook
│   └── session-start.mjs        # MCP probe + version check + today's-date injection
├── skills/                      # 36 SKILL.md folders — both hosts read from here
└── README.md

Why one folder works for both hosts

Each host looks for its manifest in a dedicated subfolder; everything else is shared.

| Host | Manifest | Reads | Ignores | |---|---|---|---| | Claude Code | .claude-plugin/plugin.json | skills/, commands/, .mcp.json (mcpServers key) | .codex-plugin/ | | Codex | .codex-plugin/plugin.json | skills/, .mcp.json (mcp_servers key) | .claude-plugin/plugin.json, commands/ |

.mcp.json ships both wrapper keys with identical content so each host finds its preferred form.


Credentials

Plugin users need nothing beyond the install command. The MCP OAuth flow is handled by Claude (/mcp) and Codex (codex mcp login gomarble).


Publishing a new version (for maintainers)

# 1. Edit any SKILL.md, command, hook, or manifest
# 2. Bump version in BOTH .claude-plugin/plugin.json AND .codex-plugin/plugin.json
# 3. Commit + tag + push
git add -A
git commit -m "Release v0.X.Y"
git tag v0.X.Y
git push --follow-tags

# 4. Update the public version manifest at https://apps.gomarble.ai/plugin/version.json:
#    { "version": "0.X.Y", "released": "YYYY-MM-DD", "notes": "What changed." }

Users get the update prompt on their next session via the SessionStart hook.


SessionStart hook

Every session, hooks/session-start.mjs runs once and:

  1. Injects today's date into the agent's context (lets "this week" resolve correctly)
  2. Probes the MCP server for reachability — warns if down
  3. Checks for plugin updates — compares local version to the public manifest

All network calls have 2.5s timeouts and silent failure modes — the hook never blocks a session.

Both hosts treat plugin hooks as non-managed — on first install, you'll see a "trust this hook" prompt. Accept once, then it runs silently.


Support

  • Docs & examples: https://gomarble.ai
  • Issues & feature requests: https://github.com/gomarble-ai/gomarble-os/issues
  • Account / billing: https://apps.gomarble.ai

© GoMarble. All rights reserved.