{
  "items": [
    {
      "name": "seo-improver",
      "title": "SEO Improver",
      "description": "Tracks where you rank each week, tells you exactly what to change to climb, and reports whether last week's changes worked.",
      "category": "seo",
      "family": "growth",
      "author": {
        "name": "atom-eve"
      },
      "version": "0.1.0",
      "integrations": [
        "google-search-console",
        "dataforseo",
        "agent-browser",
        "github"
      ],
      "connections": [
        {
          "name": "dataforseo",
          "type": "mcp",
          "auth": "env"
        }
      ],
      "env": [
        {
          "name": "GSC_CREDENTIALS_JSON",
          "description": "JSON key of a Google service account added as a user on your Search Console property",
          "url": "https://console.cloud.google.com/iam-admin/serviceaccounts",
          "optional": false
        },
        {
          "name": "DATAFORSEO_LOGIN",
          "description": "DataForSEO API login, for the competitive SERP picture",
          "url": "https://app.dataforseo.com/api-access",
          "optional": false
        },
        {
          "name": "DATAFORSEO_PASSWORD",
          "description": "DataForSEO API password, shown next to the login",
          "url": "https://app.dataforseo.com/api-access",
          "optional": false
        },
        {
          "name": "GH_TOKEN",
          "description": "GitHub token with write access to the blog repo; only for the optional pull-request flow",
          "url": "https://github.com/settings/personal-access-tokens",
          "optional": true
        }
      ],
      "config": [
        {
          "name": "Search Console property",
          "description": "The property the agent reads rankings from",
          "example": "sc-domain:example.com",
          "optional": false
        },
        {
          "name": "Project domain",
          "description": "The site being improved",
          "example": "example.com",
          "optional": false
        },
        {
          "name": "Tracked keywords",
          "description": "Keywords to track week over week; omit to derive them from the domain's own ranked keywords",
          "optional": true
        },
        {
          "name": "Blog repo and content path",
          "description": "GitHub repo and content directory for the pull-request flow; unset stays report-only",
          "example": "acme/blog, content/posts/",
          "optional": true
        }
      ],
      "skills": [
        {
          "ref": "vercel-labs/agent-browser@agent-browser"
        }
      ],
      "scheduled": true,
      "repoPath": "registry/seo-improver",
      "featured": true,
      "order": 0
    },
    {
      "name": "docs-sync",
      "title": "Docs Sync",
      "description": "Keeps your docs current by checking recently merged pull requests and opening a docs update PR when the code has drifted.",
      "category": "docs",
      "family": "engineering",
      "author": {
        "name": "atom-eve"
      },
      "version": "0.1.0",
      "integrations": [
        "github"
      ],
      "connections": [],
      "env": [
        {
          "name": "GITHUB_TOKEN",
          "description": "GitHub token that can read merged work and open pull requests with docs updates",
          "url": "https://github.com/settings/personal-access-tokens",
          "optional": false
        }
      ],
      "config": [
        {
          "name": "Target repository",
          "description": "The GitHub repository the agent keeps in sync",
          "example": "owner/repo",
          "optional": false
        },
        {
          "name": "Docs paths",
          "description": "Documentation paths the agent may edit",
          "example": "docs/, README.md",
          "optional": false
        },
        {
          "name": "Source paths",
          "description": "Source paths the agent reads when checking whether docs are stale",
          "example": "src/, packages/cli/",
          "optional": false
        },
        {
          "name": "Release or changelog window",
          "description": "The scope of merged work to inspect each run; unset defaults to merged pull requests from the last 7 days",
          "example": "since v2.3.0",
          "optional": true
        }
      ],
      "skills": [],
      "scheduled": true,
      "repoPath": "registry/docs-sync",
      "featured": true,
      "order": 1
    },
    {
      "name": "website-qa",
      "title": "Product QA",
      "description": "Catch broken signup, onboarding, and core flows before users do, with a screenshotted report of what failed and how to fix it.",
      "category": "qa",
      "family": "engineering",
      "author": {
        "name": "atom-eve"
      },
      "version": "0.1.0",
      "integrations": [
        "agent-browser"
      ],
      "connections": [],
      "env": [
        {
          "name": "SLACK_QA_CHANNEL_ID",
          "description": "Slack channel where the weekly QA report is posted",
          "optional": false
        }
      ],
      "config": [
        {
          "name": "App URL",
          "description": "The web app the agent tests",
          "example": "https://app.example.com",
          "optional": false
        },
        {
          "name": "Onboarding flow",
          "description": "The steps from signup to first success; unset follows the app's onboarding as presented",
          "optional": true
        },
        {
          "name": "Acceptance criteria",
          "description": "What counts as a passing run for the core flow",
          "optional": true
        },
        {
          "name": "Test-account policy",
          "description": "How the agent should create disposable test accounts, such as an email pattern or invite code",
          "optional": true
        }
      ],
      "skills": [
        {
          "ref": "vercel-labs/agent-browser@agent-browser"
        }
      ],
      "scheduled": true,
      "repoPath": "registry/website-qa",
      "featured": true,
      "order": 2
    },
    {
      "name": "stripe-pulse",
      "title": "Stripe Revenue & Churn Pulse",
      "description": "Writes a grounded weekly revenue and churn pulse from Stripe facts, cross-references at-risk customers against PostHog engagement, and posts it to Slack.",
      "category": "finance",
      "family": "revenue",
      "author": {
        "name": "atom-eve"
      },
      "version": "0.1.0",
      "integrations": [
        "stripe",
        "posthog",
        "slack"
      ],
      "connections": [],
      "env": [
        {
          "name": "STRIPE_API_KEY",
          "description": "Restricted Stripe key with read access to customers, subscriptions, invoices, charges, and events",
          "url": "https://dashboard.stripe.com/apikeys",
          "optional": false
        },
        {
          "name": "POSTHOG_CLI_API_KEY",
          "description": "PostHog personal API key with read access",
          "url": "https://us.posthog.com/settings/user-api-keys",
          "optional": false
        },
        {
          "name": "POSTHOG_CLI_PROJECT_ID",
          "description": "PostHog project ID",
          "url": "https://us.posthog.com/settings/project",
          "optional": false
        },
        {
          "name": "SLACK_PULSE_CHANNEL_ID",
          "description": "ID of the Slack channel the weekly pulse is posted to",
          "optional": false
        }
      ],
      "config": [
        {
          "name": "Lookback window",
          "description": "How far back the pulse looks for Stripe and engagement facts; omit to use the default 7 days",
          "example": "7 days",
          "optional": true
        },
        {
          "name": "Pulse format",
          "description": "The shape of the posted pulse; omit to use the default (headline, 3-5 facts, 2-3 actions)",
          "optional": true
        }
      ],
      "skills": [],
      "scheduled": true,
      "repoPath": "registry/stripe-pulse",
      "featured": true,
      "order": 3
    },
    {
      "name": "analytics-digest",
      "title": "Analytics Digest",
      "description": "Get a plain-language weekly digest of your PostHog event trends, leading with the headline movement and what to investigate.",
      "category": "analytics",
      "family": "data",
      "author": {
        "name": "atom-eve"
      },
      "version": "0.1.0",
      "integrations": [
        "posthog"
      ],
      "connections": [],
      "env": [
        {
          "name": "POSTHOG_CLI_API_KEY",
          "description": "PostHog personal API key with read access",
          "url": "https://us.posthog.com/settings/user-api-keys",
          "optional": false
        },
        {
          "name": "POSTHOG_CLI_PROJECT_ID",
          "description": "PostHog project ID",
          "url": "https://us.posthog.com/settings/project",
          "optional": false
        }
      ],
      "config": [
        {
          "name": "PostHog host",
          "description": "PostHog instance URL for the EU region or a self-hosted instance; unset uses PostHog US Cloud",
          "example": "https://eu.posthog.com",
          "optional": true
        },
        {
          "name": "Project context",
          "description": "What the product is and what its key events represent, so the digest reads in product terms",
          "example": "B2B email app; key events are signup, email_sent, rule_created",
          "optional": true
        },
        {
          "name": "Reporting focus",
          "description": "Metrics or product areas the digest should emphasize",
          "example": "activation and weekly retention",
          "optional": true
        }
      ],
      "skills": [],
      "scheduled": true,
      "repoPath": "registry/analytics-digest",
      "featured": true,
      "order": 4
    },
    {
      "name": "ux-reviewer",
      "title": "UX Reviewer",
      "description": "Catch verified UX regressions and new friction in your key user flow as tracker issues with screenshot evidence and a concrete fix.",
      "category": "ux",
      "family": "engineering",
      "author": {
        "name": "atom-eve"
      },
      "version": "0.1.0",
      "integrations": [
        "agent-browser",
        "github"
      ],
      "connections": [],
      "env": [
        {
          "name": "GITHUB_TOKEN",
          "description": "GitHub token that can read and file issues in the target repository",
          "url": "https://github.com/settings/personal-access-tokens",
          "optional": false
        }
      ],
      "config": [
        {
          "name": "Target repository",
          "description": "The GitHub repository where UX issues are filed",
          "example": "owner/repo",
          "optional": false
        },
        {
          "name": "User task",
          "description": "The key user task the agent walks end to end",
          "example": "sign up and create a first project",
          "optional": false
        },
        {
          "name": "Starting URL",
          "description": "The page where the walk begins",
          "example": "https://app.example.com/signup",
          "optional": false
        },
        {
          "name": "Design heuristics",
          "description": "Extra heuristics or design guidelines to score against; omit to use the built-in clarity, effort, error prevention, and confidence dimensions",
          "optional": true
        }
      ],
      "skills": [
        {
          "ref": "vercel-labs/agent-browser@agent-browser"
        }
      ],
      "scheduled": true,
      "repoPath": "registry/ux-reviewer",
      "featured": true,
      "order": 5
    },
    {
      "name": "competitor-analysis",
      "title": "Competitor Analysis",
      "description": "Hear about competitor pricing, packaging, and positioning moves when they happen, with before and after evidence and a suggested response.",
      "category": "research",
      "family": "data",
      "author": {
        "name": "atom-eve"
      },
      "version": "0.1.0",
      "integrations": [
        "agent-browser",
        "slack"
      ],
      "connections": [],
      "env": [
        {
          "name": "SLACK_COMPETITOR_ANALYSIS_CHANNEL_ID",
          "description": "Slack channel where verified competitor-change alerts are posted",
          "optional": false
        }
      ],
      "config": [
        {
          "name": "Competitors and pages",
          "description": "The competitor sites to track and, for each, the pages to review",
          "example": "acme.com: homepage, /pricing, /changelog",
          "optional": false
        },
        {
          "name": "Your positioning",
          "description": "A short summary of your own positioning, used to explain why each competitor change matters",
          "optional": false
        },
        {
          "name": "Reporting preferences",
          "description": "How alerts and run reports should be shaped, such as emphasis, length, or audience",
          "optional": true
        }
      ],
      "skills": [
        {
          "ref": "vercel-labs/agent-browser@agent-browser"
        }
      ],
      "scheduled": true,
      "repoPath": "registry/competitor-analysis",
      "featured": false,
      "order": 6
    },
    {
      "name": "a11y-auditor",
      "title": "Accessibility Auditor",
      "description": "Turns your pages' accessibility problems into a deduped GitHub issue backlog, grouped by user harm with the WCAG criterion and a concrete fix for each.",
      "category": "a11y",
      "family": "engineering",
      "author": {
        "name": "atom-eve"
      },
      "version": "0.1.0",
      "integrations": [
        "agent-browser",
        "github"
      ],
      "connections": [],
      "env": [
        {
          "name": "GITHUB_TOKEN",
          "description": "GitHub token that can read and file issues in the target repository",
          "url": "https://github.com/settings/personal-access-tokens",
          "optional": false
        }
      ],
      "config": [
        {
          "name": "Target repository",
          "description": "The GitHub repository where the agent files accessibility issues",
          "example": "owner/repo",
          "optional": false
        },
        {
          "name": "Pages to audit",
          "description": "The URLs the agent opens and audits each run",
          "example": "https://example.com/, https://example.com/pricing",
          "optional": false
        },
        {
          "name": "Accessibility target",
          "description": "The WCAG conformance target findings are graded against",
          "example": "WCAG 2.2 AA",
          "optional": true
        },
        {
          "name": "Known product constraints",
          "description": "Product realities the audit should account for, such as an embedded third-party widget you cannot change",
          "optional": true
        }
      ],
      "skills": [
        {
          "ref": "vercel-labs/agent-browser@agent-browser"
        }
      ],
      "scheduled": true,
      "repoPath": "registry/a11y-auditor",
      "featured": false,
      "order": 7
    },
    {
      "name": "perf-auditor",
      "title": "Performance Auditor",
      "description": "Catches Core Web Vitals regressions on your site and files a GitHub issue with the diagnosed bottleneck and one fix when a page goes over budget.",
      "category": "monitoring",
      "family": "engineering",
      "author": {
        "name": "atom-eve"
      },
      "version": "0.1.0",
      "integrations": [
        "pagespeed-insights",
        "agent-browser",
        "github"
      ],
      "connections": [],
      "env": [
        {
          "name": "PAGESPEED_API_KEY",
          "description": "Google PageSpeed Insights API key the agent uses to measure the configured URLs",
          "url": "https://developers.google.com/speed/docs/insights/v5/get-started",
          "optional": false
        },
        {
          "name": "GITHUB_TOKEN",
          "description": "GitHub token that can read and file issues in the target repository",
          "url": "https://github.com/settings/personal-access-tokens",
          "optional": false
        }
      ],
      "config": [
        {
          "name": "Target repository",
          "description": "The GitHub repository where the agent files performance issues",
          "example": "owner/repo",
          "optional": false
        },
        {
          "name": "URLs to audit",
          "description": "The pages the agent measures each run",
          "example": "https://example.com/, https://example.com/pricing",
          "optional": false
        },
        {
          "name": "Performance budgets",
          "description": "Thresholds the measurements are checked against; unset uses the Core Web Vitals defaults (LCP under 2.5s, INP under 200ms, CLS under 0.1)",
          "example": "LCP under 2.0s, performance score at least 90",
          "optional": true
        }
      ],
      "skills": [
        {
          "ref": "vercel-labs/agent-browser@agent-browser"
        }
      ],
      "scheduled": true,
      "repoPath": "registry/perf-auditor",
      "featured": false,
      "order": 8
    },
    {
      "name": "cro-optimizer",
      "title": "CRO Optimizer",
      "description": "Turn verified drop-offs in your real conversion data into a ranked backlog of A/B test hypotheses, filed as GitHub issues.",
      "category": "cro",
      "family": "growth",
      "author": {
        "name": "atom-eve"
      },
      "version": "0.1.0",
      "integrations": [
        "posthog",
        "github",
        "agent-browser"
      ],
      "connections": [],
      "env": [
        {
          "name": "POSTHOG_CLI_API_KEY",
          "description": "PostHog personal API key with read access",
          "url": "https://us.posthog.com/settings/user-api-keys",
          "optional": false
        },
        {
          "name": "POSTHOG_CLI_PROJECT_ID",
          "description": "PostHog project ID",
          "url": "https://us.posthog.com/settings/project",
          "optional": false
        },
        {
          "name": "GITHUB_TOKEN",
          "description": "GitHub token that can read and file issues in the target repository",
          "url": "https://github.com/settings/personal-access-tokens",
          "optional": false
        }
      ],
      "config": [
        {
          "name": "Landing pages",
          "description": "The page URLs the agent tracks in PostHog and inspects for conversion drop-offs",
          "example": "https://acme.com/, https://acme.com/pricing",
          "optional": false
        },
        {
          "name": "Funnel and conversion goals",
          "description": "The conversion action for each page and the PostHog events that measure it; omit to let the agent discover conversion events from your PostHog data schema",
          "example": "pricing page: upgraded_plan; homepage: signed_up",
          "optional": true
        },
        {
          "name": "Audience and offer",
          "description": "Who the pages target and what is being sold",
          "optional": true
        },
        {
          "name": "Target repository",
          "description": "The GitHub repository where the agent files experiment issues",
          "example": "owner/repo",
          "optional": false
        },
        {
          "name": "PostHog host",
          "description": "Region host for EU cloud or self-hosted PostHog; unset uses the default US cloud",
          "example": "https://eu.posthog.com",
          "optional": true
        }
      ],
      "skills": [
        {
          "ref": "coreyhaines31/marketingskills@marketing-psychology"
        },
        {
          "ref": "vercel-labs/agent-browser@agent-browser"
        }
      ],
      "scheduled": true,
      "repoPath": "registry/cro-optimizer",
      "featured": false,
      "order": 9
    },
    {
      "name": "funnel-analyst",
      "title": "Funnel Analyst",
      "description": "Find where users drop off in your funnel and what to fix to convert more of them.",
      "category": "analytics",
      "family": "data",
      "author": {
        "name": "atom-eve"
      },
      "version": "0.1.0",
      "integrations": [
        "posthog"
      ],
      "connections": [],
      "env": [
        {
          "name": "POSTHOG_CLI_API_KEY",
          "description": "PostHog personal API key with read access",
          "url": "https://us.posthog.com/settings/user-api-keys",
          "optional": false
        },
        {
          "name": "POSTHOG_CLI_PROJECT_ID",
          "description": "PostHog project ID",
          "url": "https://us.posthog.com/settings/project",
          "optional": false
        }
      ],
      "config": [
        {
          "name": "Business context",
          "description": "What the product does and what conversion means, so the funnel steps match your product",
          "optional": false
        },
        {
          "name": "Key funnel events",
          "description": "Real product event names for the funnel steps; omit to let the agent discover them from your PostHog data schema",
          "example": "signed_up, created_project, upgraded_plan",
          "optional": true
        },
        {
          "name": "PostHog host",
          "description": "Region host for EU cloud or self-hosted PostHog; unset uses the default US cloud",
          "example": "https://eu.posthog.com",
          "optional": true
        }
      ],
      "skills": [],
      "scheduled": true,
      "repoPath": "registry/funnel-analyst",
      "featured": false,
      "order": 10
    },
    {
      "name": "experiment-analyst",
      "title": "Experiment Analyst",
      "description": "Know which A/B experiments won, which are still inconclusive, and what to do next.",
      "category": "analytics",
      "family": "data",
      "author": {
        "name": "atom-eve"
      },
      "version": "0.1.0",
      "integrations": [
        "posthog"
      ],
      "connections": [],
      "env": [
        {
          "name": "POSTHOG_CLI_API_KEY",
          "description": "PostHog personal API key with read access",
          "url": "https://us.posthog.com/settings/user-api-keys",
          "optional": false
        },
        {
          "name": "POSTHOG_CLI_PROJECT_ID",
          "description": "PostHog project ID",
          "url": "https://us.posthog.com/settings/project",
          "optional": false
        }
      ],
      "config": [
        {
          "name": "PostHog host",
          "description": "Region host for EU cloud or self-hosted PostHog; omit for US cloud",
          "example": "https://eu.posthog.com",
          "optional": true
        }
      ],
      "skills": [],
      "scheduled": true,
      "repoPath": "registry/experiment-analyst",
      "featured": false,
      "order": 11
    },
    {
      "name": "standup-bot",
      "title": "Standup Bot",
      "description": "Get a ready-to-review daily standup digest of priorities, active threads, blockers, and wins drawn from your Slack channel.",
      "category": "productivity",
      "family": "ops",
      "author": {
        "name": "atom-eve"
      },
      "version": "0.1.0",
      "integrations": [
        "slack"
      ],
      "connections": [],
      "env": [
        {
          "name": "SLACK_BOT_TOKEN",
          "description": "Slack bot token (xoxb-...) that can read the channel to summarize",
          "url": "https://api.slack.com/apps",
          "optional": false
        },
        {
          "name": "SLACK_CHANNEL_ID",
          "description": "ID of the Slack channel to summarize",
          "optional": false
        }
      ],
      "config": [],
      "skills": [],
      "scheduled": true,
      "repoPath": "registry/standup-bot",
      "featured": false,
      "order": 12
    },
    {
      "name": "onboarding-coach",
      "title": "Onboarding Coach",
      "description": "Finds users stuck before activation in PostHog and drafts the right nudge for each onboarding step.",
      "category": "onboarding",
      "family": "support",
      "author": {
        "name": "atom-eve"
      },
      "version": "0.1.0",
      "integrations": [
        "posthog"
      ],
      "connections": [],
      "env": [
        {
          "name": "POSTHOG_CLI_API_KEY",
          "description": "PostHog personal API key with read access",
          "url": "https://us.posthog.com/settings/user-api-keys",
          "optional": false
        },
        {
          "name": "POSTHOG_CLI_PROJECT_ID",
          "description": "PostHog project ID",
          "url": "https://us.posthog.com/settings/project",
          "optional": false
        }
      ],
      "config": [
        {
          "name": "Activation events",
          "description": "The ordered funnel events from signup to activation; unset falls back to a generic funnel",
          "example": "signed_up -> onboarding_started -> key_feature_used -> activated",
          "optional": true
        },
        {
          "name": "Lookback window",
          "description": "How far back the funnel analysis reads",
          "example": "30 days",
          "optional": true
        },
        {
          "name": "PostHog host",
          "description": "Region host for EU cloud or self-hosted PostHog; unset uses US cloud",
          "example": "https://eu.posthog.com",
          "optional": true
        }
      ],
      "skills": [],
      "scheduled": true,
      "repoPath": "registry/onboarding-coach",
      "featured": false,
      "order": 13
    },
    {
      "name": "onboarding-tester",
      "title": "Onboarding Tester",
      "description": "Keeps your onboarding docs actually working by running a clean-room first-time setup and opening a docs fix PR at the first verified blocker.",
      "category": "qa",
      "family": "engineering",
      "author": {
        "name": "atom-eve"
      },
      "version": "0.1.0",
      "integrations": [
        "github",
        "agent-browser"
      ],
      "connections": [],
      "env": [
        {
          "name": "GITHUB_TOKEN",
          "description": "GitHub token that can read the target repository, open pull requests with docs fixes, and file onboarding issues",
          "url": "https://github.com/settings/personal-access-tokens",
          "optional": false
        }
      ],
      "config": [
        {
          "name": "Target repository",
          "description": "The GitHub repository the agent onboards from a clean checkout",
          "example": "owner/repo",
          "optional": false
        },
        {
          "name": "Onboarding docs entry point",
          "description": "The doc a first-time developer starts from; unset defaults to the README",
          "example": "docs/getting-started.md",
          "optional": true
        },
        {
          "name": "Docs paths",
          "description": "Documentation and setup-script paths the agent may edit when opening a fix pull request",
          "example": "README.md, docs/",
          "optional": false
        }
      ],
      "skills": [
        {
          "ref": "vercel-labs/agent-browser@agent-browser"
        }
      ],
      "scheduled": true,
      "repoPath": "registry/onboarding-tester",
      "featured": false,
      "order": 14
    },
    {
      "name": "error-copy",
      "title": "Error Copy",
      "description": "Turns your app's confusing error messages into review-ready pull requests, with every error state confirmed reachable and screenshotted first.",
      "category": "ux",
      "family": "engineering",
      "author": {
        "name": "atom-eve"
      },
      "version": "0.1.0",
      "integrations": [
        "agent-browser",
        "github"
      ],
      "connections": [],
      "env": [
        {
          "name": "GITHUB_TOKEN",
          "description": "GitHub token that can read the target repository and open pull requests with copy fixes",
          "url": "https://github.com/settings/personal-access-tokens",
          "optional": false
        }
      ],
      "config": [
        {
          "name": "App URLs",
          "description": "Base URLs of the app to drive when surfacing error states",
          "example": "https://app.example.com",
          "optional": false
        },
        {
          "name": "Target repository",
          "description": "The GitHub repository holding the app's user-facing copy",
          "example": "owner/repo",
          "optional": false
        },
        {
          "name": "Copy source paths",
          "description": "Source paths where user-facing strings live; the agent only edits these",
          "example": "src/, locales/",
          "optional": false
        },
        {
          "name": "Flows to cover",
          "description": "User flows to walk when triggering error states",
          "example": "signup, checkout, password reset",
          "optional": true
        },
        {
          "name": "Brand voice and copy guidelines",
          "description": "Voice and copy rules the rewrites should follow",
          "optional": true
        },
        {
          "name": "Authenticated-flow notes",
          "description": "Local env or config notes listing test accounts for authenticated flows; keep credentials out of this package",
          "optional": true
        }
      ],
      "skills": [
        {
          "ref": "vercel-labs/agent-browser@agent-browser"
        }
      ],
      "scheduled": true,
      "repoPath": "registry/error-copy",
      "featured": false,
      "order": 15
    },
    {
      "name": "content-agent",
      "title": "Content Generator",
      "description": "Get a reviewed content drafts pull request every week, grounded in what your market is actually saying right now.",
      "category": "content",
      "family": "growth",
      "author": {
        "name": "atom-eve"
      },
      "version": "0.1.0",
      "integrations": [
        "last30days",
        "github"
      ],
      "connections": [],
      "env": [
        {
          "name": "GITHUB_TOKEN",
          "description": "GitHub token that can read the content repository and open pull requests with new drafts",
          "url": "https://github.com/settings/personal-access-tokens",
          "optional": false
        }
      ],
      "config": [
        {
          "name": "Audience",
          "description": "Who the content is for, in your own words",
          "example": "technical founders evaluating email automation tools",
          "optional": false
        },
        {
          "name": "Positioning",
          "description": "Your product's positioning and point of view the content should reflect",
          "optional": false
        },
        {
          "name": "Channels",
          "description": "The channels to plan and draft for",
          "example": "blog, newsletter, LinkedIn, X, YouTube",
          "optional": false
        },
        {
          "name": "Target repository",
          "description": "The GitHub repository holding your content or site, where the agent opens drafts pull requests",
          "example": "owner/repo",
          "optional": false
        },
        {
          "name": "Content drafts path",
          "description": "The directory in the target repository where the agent adds draft files",
          "example": "content/drafts/",
          "optional": false
        },
        {
          "name": "Approval rules",
          "description": "Who reviews content and what counts as approval-ready; unset falls back to generic approval notes",
          "optional": true
        },
        {
          "name": "Claim standards",
          "description": "Evidence rules for market claims beyond the built-in research standards",
          "optional": true
        }
      ],
      "skills": [
        {
          "ref": "mvanhorn/last30days-skill@last30days"
        }
      ],
      "scheduled": true,
      "repoPath": "registry/content-agent",
      "featured": false,
      "order": 16
    },
    {
      "name": "release-notes",
      "title": "Release Notes",
      "description": "Keeps a draft GitHub release with user-facing notes staged from the work merged since your last release, ready for you to review and publish.",
      "category": "docs",
      "family": "engineering",
      "author": {
        "name": "atom-eve"
      },
      "version": "0.1.0",
      "integrations": [
        "github"
      ],
      "connections": [],
      "env": [
        {
          "name": "GITHUB_TOKEN",
          "description": "GitHub token that can read merged work, manage draft releases, and open changelog pull requests",
          "url": "https://github.com/settings/personal-access-tokens",
          "optional": false
        }
      ],
      "config": [
        {
          "name": "Target repository",
          "description": "The GitHub repository the release notes are drafted from",
          "example": "acme/webapp",
          "optional": false
        },
        {
          "name": "Changelog file",
          "description": "Changelog file the agent may update with a pull request; omit to keep the notes in the draft release only",
          "example": "CHANGELOG.md",
          "optional": true
        },
        {
          "name": "Change-type conventions",
          "description": "Title prefixes or labels that map PRs to change types; omit to use the default groups (breaking changes, features, fixes, performance, docs, other)",
          "optional": true
        }
      ],
      "skills": [],
      "scheduled": true,
      "repoPath": "registry/release-notes",
      "featured": false,
      "order": 17
    },
    {
      "name": "backlink-prospector",
      "title": "Backlink Prospector",
      "description": "Find backlink opportunities your competitors have and turn them into a vetted outreach queue.",
      "category": "seo",
      "family": "growth",
      "author": {
        "name": "atom-eve"
      },
      "version": "0.1.0",
      "integrations": [
        "dataforseo",
        "agent-browser"
      ],
      "connections": [
        {
          "name": "dataforseo",
          "type": "mcp",
          "auth": "env"
        }
      ],
      "env": [
        {
          "name": "DATAFORSEO_LOGIN",
          "description": "DataForSEO API login for an account with Backlinks API access",
          "url": "https://app.dataforseo.com/api-access",
          "optional": false
        },
        {
          "name": "DATAFORSEO_PASSWORD",
          "description": "DataForSEO API password, shown next to the login",
          "url": "https://app.dataforseo.com/api-access",
          "optional": false
        }
      ],
      "config": [
        {
          "name": "Project domain",
          "description": "The site the prospects should link to",
          "example": "example.com",
          "optional": false
        },
        {
          "name": "Competitor domains",
          "description": "Competitor sites whose backlinks are mined for prospects; at least one",
          "example": "competitor-a.com, competitor-b.com",
          "optional": false
        },
        {
          "name": "Daily prospect target",
          "description": "Maximum prospects exported per run; unset lets the agent pick a reasonable bound",
          "example": "20",
          "optional": true
        },
        {
          "name": "Exclusion rules",
          "description": "Extra filters beyond the default safety filters, such as languages, regions, or site types to skip",
          "example": "skip non-English sites, skip directories",
          "optional": true
        }
      ],
      "skills": [
        {
          "ref": "vercel-labs/agent-browser@agent-browser"
        }
      ],
      "scheduled": true,
      "repoPath": "registry/backlink-prospector",
      "featured": false,
      "order": null
    },
    {
      "name": "community-support",
      "title": "Community Support",
      "description": "Turn recent Discord support activity into grounded draft replies and clear human escalations.",
      "category": "community",
      "family": "support",
      "author": {
        "name": "atom-eve"
      },
      "version": "0.1.0",
      "integrations": [
        "discord"
      ],
      "connections": [],
      "env": [
        {
          "name": "DISCORD_BOT_TOKEN",
          "description": "Discord bot token with View Channel and Read Message History permissions in the support channel",
          "url": "https://discord.com/developers/applications",
          "optional": false
        },
        {
          "name": "DISCORD_CHANNEL_ID",
          "description": "ID of the Discord channel the bot reads",
          "optional": false
        }
      ],
      "config": [
        {
          "name": "Product context",
          "description": "Product documentation, links, or facts that ground draft replies",
          "example": "docs at https://docs.example.com, or a short product summary",
          "optional": true
        },
        {
          "name": "Support boundaries and escalation rules",
          "description": "Project-specific rules for what support covers and what always goes to a human",
          "optional": true
        },
        {
          "name": "Tone guidance",
          "description": "Voice and style for draft replies",
          "example": "friendly, first person, no emoji",
          "optional": true
        }
      ],
      "skills": [],
      "scheduled": true,
      "repoPath": "registry/community-support",
      "featured": false,
      "order": null
    },
    {
      "name": "dep-guardian",
      "title": "Dependency Guardian",
      "description": "Your dependency PRs arrive pre-triaged with a merge-or-hold call, and critical vulnerabilities without a fix in flight get an upgrade PR.",
      "category": "code",
      "family": "engineering",
      "author": {
        "name": "atom-eve"
      },
      "version": "0.1.0",
      "integrations": [
        "github"
      ],
      "connections": [],
      "env": [
        {
          "name": "GITHUB_TOKEN",
          "description": "GitHub token that can read Dependabot alerts and comment on, open, and update dependency pull requests and issues",
          "url": "https://github.com/settings/personal-access-tokens",
          "optional": false
        }
      ],
      "config": [
        {
          "name": "Target repository",
          "description": "The GitHub repository the agent triages",
          "example": "acme/webapp",
          "optional": false
        },
        {
          "name": "Package ecosystems",
          "description": "Ecosystems to cover; omit to derive them from the repo's manifests",
          "example": "npm, pip",
          "optional": true
        },
        {
          "name": "Runtime entrypoints",
          "description": "Entrypoints reachability checks trace from; omit to derive them from package scripts and deployment config",
          "example": "src/server.ts, api/",
          "optional": true
        },
        {
          "name": "Pinned-version policies",
          "description": "Packages that must stay on a specific version or range",
          "example": "react stays on 18.x",
          "optional": true
        }
      ],
      "skills": [],
      "scheduled": true,
      "repoPath": "registry/dep-guardian",
      "featured": false,
      "order": null
    },
    {
      "name": "dunning",
      "title": "Dunning",
      "description": "Reviews failed Stripe payments and drafts prioritized recovery actions before revenue is lost.",
      "category": "finance",
      "family": "revenue",
      "author": {
        "name": "atom-eve"
      },
      "version": "0.1.0",
      "integrations": [
        "stripe"
      ],
      "connections": [],
      "env": [
        {
          "name": "STRIPE_API_KEY",
          "description": "Restricted Stripe key with read access to customers, subscriptions, invoices, payment intents, charges, and events",
          "url": "https://dashboard.stripe.com/apikeys",
          "optional": false
        }
      ],
      "config": [
        {
          "name": "Retry policy",
          "description": "How your Stripe smart retries and dunning schedule are set, so recommendations do not fight automatic retries",
          "optional": true
        },
        {
          "name": "Grace periods",
          "description": "How long an account may stay past due at each stage before escalation",
          "example": "7 days friendly reminder, 14 days firm notice, 30 days final",
          "optional": true
        },
        {
          "name": "Customer segments",
          "description": "Segments, plans, or accounts that get priority or different handling",
          "example": "enterprise, self-serve",
          "optional": true
        },
        {
          "name": "Escalation tone",
          "description": "Voice for the draft reminder copy at each stage",
          "example": "friendly nudge first, formal final notice",
          "optional": true
        }
      ],
      "skills": [],
      "scheduled": true,
      "repoPath": "registry/dunning",
      "featured": false,
      "order": null
    },
    {
      "name": "error-triage",
      "title": "Error Triage",
      "description": "Pulls recent Sentry issues and turns them into a prioritized debugging report.",
      "category": "observability",
      "family": "engineering",
      "author": {
        "name": "atom-eve"
      },
      "version": "0.1.0",
      "integrations": [
        "sentry"
      ],
      "connections": [],
      "env": [
        {
          "name": "SENTRY_AUTH_TOKEN",
          "description": "Sentry organization token with read access to events, projects, releases, and issue data",
          "url": "https://sentry.io/settings/auth-tokens/",
          "optional": false
        },
        {
          "name": "SENTRY_ORG",
          "description": "Sentry organization slug",
          "optional": false
        },
        {
          "name": "SENTRY_PROJECT",
          "description": "Sentry project slug to triage",
          "optional": false
        }
      ],
      "config": [
        {
          "name": "Environment",
          "description": "Sentry environment to scope triage to; unset triages all environments",
          "example": "production",
          "optional": true
        },
        {
          "name": "Release filter",
          "description": "Release or release range to restrict triage to; unset covers all recent releases",
          "optional": true
        },
        {
          "name": "Priority rules",
          "description": "Revenue or critical-path tags that raise an issue's priority",
          "example": "checkout, billing",
          "optional": true
        }
      ],
      "skills": [],
      "scheduled": true,
      "repoPath": "registry/error-triage",
      "featured": false,
      "order": null
    },
    {
      "name": "meeting-notes",
      "title": "Meeting Notes",
      "description": "Turn a Fireflies transcript into concise notes, decisions, action items, and follow-up drafts.",
      "category": "productivity",
      "family": "ops",
      "author": {
        "name": "atom-eve"
      },
      "version": "0.1.0",
      "integrations": [
        "fireflies"
      ],
      "connections": [],
      "env": [
        {
          "name": "FIREFLIES_API_KEY",
          "description": "Fireflies API key with read access to transcripts",
          "url": "https://app.fireflies.ai/integrations",
          "optional": false
        }
      ],
      "config": [
        {
          "name": "Note format",
          "description": "Standing note format and team naming conventions to apply to every meeting's notes",
          "optional": true
        },
        {
          "name": "Follow-up destinations",
          "description": "Where follow-up drafts should be addressed, such as email, a task tracker, or team channels",
          "example": "email to attendees, Linear tasks, a team Slack channel",
          "optional": true
        },
        {
          "name": "Decision and action-item rules",
          "description": "House rules for what counts as a decision or an action item and how to phrase them",
          "optional": true
        }
      ],
      "skills": [],
      "scheduled": false,
      "repoPath": "registry/meeting-notes",
      "featured": false,
      "order": null
    },
    {
      "name": "postiz",
      "title": "Postiz Social Scheduler",
      "description": "Turns your website, live trends, and past post results into on-brand social posts, drafts and schedules them across your Postiz channels, and reports what worked.",
      "category": "content",
      "family": "growth",
      "author": {
        "name": "atom-eve"
      },
      "version": "0.1.0",
      "integrations": [
        "postiz",
        "agent-browser",
        "last30days",
        "slack"
      ],
      "connections": [],
      "env": [
        {
          "name": "POSTIZ_API_KEY",
          "description": "Postiz API key; your social channels must already be connected in Postiz",
          "url": "https://platform.postiz.com/settings",
          "optional": false
        },
        {
          "name": "POSTIZ_API_URL",
          "description": "Base API URL of a self-hosted Postiz instance; unset uses the hosted platform",
          "optional": true
        },
        {
          "name": "SLACK_POSTIZ_CHANNEL_ID",
          "description": "Slack channel where the weekly plan is posted for approval",
          "optional": false
        }
      ],
      "config": [
        {
          "name": "Site",
          "description": "The site or domain whose brand, product, and audience the posts are written for",
          "example": "example.com",
          "optional": false
        },
        {
          "name": "Target platforms",
          "description": "The platforms to draft and schedule for; each must be a channel connected in Postiz",
          "example": "X, LinkedIn",
          "optional": false
        },
        {
          "name": "Brand voice and content rules",
          "description": "The voice plus any hard rules, such as claims it may and may not make and banned topics",
          "optional": true
        },
        {
          "name": "Posting cadence",
          "description": "How many posts per platform each run should draft and schedule",
          "example": "3 posts per platform per week",
          "optional": true
        }
      ],
      "skills": [
        {
          "ref": "gitroomhq/postiz-agent@postiz"
        },
        {
          "ref": "vercel-labs/agent-browser@agent-browser"
        },
        {
          "ref": "mvanhorn/last30days-skill@last30days"
        }
      ],
      "scheduled": true,
      "repoPath": "registry/postiz",
      "featured": false,
      "order": null
    },
    {
      "name": "ppc-assist",
      "title": "PPC Assist",
      "description": "Find the Amazon PPC decisions that matter today and apply approved PPC Assist actions safely.",
      "category": "ads",
      "family": "growth",
      "author": {
        "name": "atom-eve"
      },
      "version": "0.1.0",
      "integrations": [
        "ppcassist"
      ],
      "connections": [
        {
          "name": "ppcassist",
          "type": "openapi",
          "auth": "env"
        }
      ],
      "env": [
        {
          "name": "PPC_ASSIST_API_TOKEN",
          "description": "PPC Assist API token with the mcp-access and mcp-write scopes",
          "url": "https://ppcassist.com",
          "optional": false
        }
      ],
      "config": [
        {
          "name": "Target store",
          "description": "The PPC Assist store to triage",
          "example": "Acme US",
          "optional": true
        },
        {
          "name": "Markets",
          "description": "Amazon marketplaces to cover",
          "example": "US, CA",
          "optional": true
        },
        {
          "name": "KPI thresholds",
          "description": "Target ACOS/TACOS and other KPI targets the triage compares against",
          "example": "target ACOS 25%, target TACOS 12%",
          "optional": true
        },
        {
          "name": "Product lifecycle notes",
          "description": "Launch, growth, or mature phase notes per product that shape bid and budget judgment",
          "optional": true
        },
        {
          "name": "Exclusions",
          "description": "Campaigns, products, or keywords the agent must leave untouched",
          "optional": true
        },
        {
          "name": "Write policy",
          "description": "Whether the agent may apply approved account changes",
          "example": "read-only",
          "optional": true
        }
      ],
      "skills": [],
      "scheduled": true,
      "repoPath": "registry/ppc-assist",
      "featured": false,
      "order": null
    },
    {
      "name": "sanity-docs-feedback",
      "title": "Sanity Docs Feedback",
      "description": "Turn reader feedback on Sanity-powered docs into draft fixes an editor can review before publishing.",
      "category": "docs",
      "family": "engineering",
      "author": {
        "name": "Sanity Labs",
        "url": "https://github.com/sanity-labs"
      },
      "version": "0.1.0",
      "integrations": [
        "sanity",
        "slack",
        "vercel-connect"
      ],
      "connections": [],
      "env": [],
      "config": [],
      "skills": [],
      "source": {
        "type": "external-template",
        "repo": "sanity-labs/sanity-eve-docs-agent",
        "url": "https://github.com/sanity-labs/sanity-eve-docs-agent",
        "cloneUrl": "https://github.com/sanity-labs/sanity-eve-docs-agent.git"
      },
      "scheduled": false,
      "repoPath": "registry/sanity-docs-feedback",
      "featured": false,
      "order": null
    },
    {
      "name": "support-replies",
      "title": "Support Replies",
      "description": "Turn open Intercom conversations into grounded draft replies and clear escalation notes.",
      "category": "support",
      "family": "support",
      "author": {
        "name": "atom-eve"
      },
      "version": "0.1.0",
      "integrations": [
        "intercom"
      ],
      "connections": [],
      "env": [
        {
          "name": "INTERCOM_ACCESS_TOKEN",
          "description": "Intercom access token with read access to conversations",
          "url": "https://app.intercom.com/a/apps/_/developer-hub",
          "optional": false
        }
      ],
      "config": [
        {
          "name": "Product context",
          "description": "What the product does and the documentation drafts should be grounded in",
          "example": "Acme schedules social posts; docs at acme.com/docs",
          "optional": false
        },
        {
          "name": "Refund and billing rules",
          "description": "The refund and billing policy drafts may rely on",
          "optional": true
        },
        {
          "name": "Escalation paths",
          "description": "Who handles escalated conversations and how to route them",
          "optional": true
        },
        {
          "name": "Support tone",
          "description": "Voice and style for customer-facing drafts",
          "example": "friendly, concise, no jargon",
          "optional": true
        }
      ],
      "skills": [],
      "scheduled": true,
      "repoPath": "registry/support-replies",
      "featured": false,
      "order": null
    }
  ]
}
